Blaze or React, what should a Newbie do?

But it’s also very probable that people will continue to be able to use Spacebars syntax and Blaze API (which is what most people really want when they talk about Blaze, I suspect).

Remember much of the Spacebars syntax has been around for 5+ years by way of Mustache and Handlebars, and also used by many major corporations.

4 Likes

and ember as well! :smile: Handlebar-sy syntax is great, something I definitely miss in React.

if you’re going to continue working in meteor, go with react. mdg basically threw their weight behind react and has done a bit of damage control after their announcement got a lot of negative response on the forums.

add to that, the fact that react knowledge is transferrable to plain ol’ node apps and you can/will be able to use npm packages on the server and client in meteor 1.3 (and now if you use cosmos:browserify or webpack:webpack) and it’s a recipe for success.

the biggest and most successful web-app in history is using react on their site and is investing heavily in react and react-native; it’s not going anywhere.

sure, handlebars, spacebars, blaze have been around, argue they’re more “mature”, but people argued (rightfully) that dojo was more mature and better than jquery too… ultimately it came down to what devs wanted to use and what had the biggest ecosystem around it.

invest your time in react.

DaFAQ?

Well first off: Clinical is awesome, much respect…

but… I think you meant this:

Blaze is stagnant. React has the latest features.

It’s not like React isn’t battle proven… Sure, it’s the “hot new thing”, and maybe we won’t be saying the same thing about React a year from now… but please don’t try to tell us that that blaze/tracker is the way to go! React has an infinitely larger ecosystem! Plus—especially with seamless npm in 1.3—it’s only going to be even more accessible to meteor devs as time progresses. And probably most important of all… as it stands, the best hope for Blaze’s future is for Blaze 2.0 to be a wrapper around react components!!!

Blaze may be easy, so it you just want to get something out there, shit use blaze. But if you intend on building for the future, or trying to build some portfolio-worthy experience use React. Blaze might get you a “nice.” But React will probably get you a, “NIIICE!”.

unrelated, but toooootaly on-point. Saying, “I know handlebars,” or, jade, etc… etc… might be a plus in your favor, but unless said company happens to acutally use said templating language, it doesn’t help much at all. Saying that you know React implies:

  1. That you know React, JSX

  2. That you have some familiarity with the functional programming paradigm, which is what the industry likes right now

  3. That you “obviously invest the time in following with the bleeding edge,” You might not know shit… say you don’t know anything about jQuery, Backbone, prototypal inheritance, or {insert_important_library_here} but if you know React, you sound like a professional. Not nearly as many employers are interested in somebody who says, “I wrote a jQuery plugin!” That might have been impressive in 2008, but now it’s more like, “wtf why were you using jQuery?”

NOTE: that’s not to say that knowing es6/react is enough, most employers expect you know es5/CommonJS/jQ/Node/etc, but as per @franky’s post, React is more attractive than Blaze

Some People might say the same things about react in a year… but with es6 finally pushed out, js is starting to slow down. Don’t get me wrong, js is still advancing faster than pretty much anything else… but 2016 won’t be nearly as fast paced t as 2015, We’ll see some major new Libs, But you can be pretty sure React and Redux are not going anywhere.

1 Like

Due to a family emergency immediately after posting this, I never had a chance to reply. Thank you to everyone for the insightful comments. I’ve decided to go forward with React. I’m developing for myself, not looking for a job, so I’m not interested in just the “new” cool stuff. It’s all new to me. :wink:

Again, I appreciate the input.
Ken

2 Likes

And that would be a reason to go with Blaze, actually. :slight_smile:

Good luck and enjoy Meteor! :slight_smile:

1 Like

Very taste-oriented.

I can’t seem to see what people like so much about react.

2 Likes

So you can give me the guarantee that React wouldn’t change any APIs within the next 1-2 years and I don’t have to rewrite my whole app to be up to date? I think the same thought all Angular guys until they saw Angular 2.

IMHO a beginner could start with Blaze, because it is the most supported view layer on Meteor. After trying a little bit with Blaze, it is a good deal to use some of it’s community packages like Blaze Components or ViewModel, to understand the concept behind “components”. Then, if you have enough skills and maybe want to develop a mobile app, React Native may be a good way to start learning React.

Agreed, autoform, admin packages, many moment packages, all rely on Blaze. You have to really want to reinvent the wheel on your own and have plenty of free time to get to that level of maturity if you use React with Meteor today. I think React benefits from the ‘newness’ factor, until it abates. Ghost and other Node-based platform use spacebars. It’s not going anywhere as it is backed by the community.

Also, React may change A LOT as Facebook’s needs change, or as they may find that modern webviews are becoming more performing and serve their purpose out of the box :slight_smile:

I am asking myself the same question… Never tried Angular. But played a bit with ember and react. And finally i want to build something stable to get more into all of this new stuff and build a web-mobile-app. But everything feels so confusing. The Meteor-Angular Guide installs 9 diffrent packages and wants you to learn a lot of things at once (Angular 2.0, TypeScript, …). I dont have a clue what i am doing while following the tutorial.

The React-Meteor Guide was fine. I wanted to dive more into. But then bumm No real working framework available. Oh and you need Flux… Or better Redux. Here take this guide and inject this ! But how all this in meteor?

Blaze looks also good, but i have the fear that i cant do much with Blaze if i want to find a job. Till now i am wasting evenings to find the fitting framework to learn new things i can use in the future.

2 Likes

You’re not going to find a job by learning frameworks. You’ll find them by honing basic skills. In order of importance:

  1. Algorithms
  2. Patterns
  3. DB modeling (can’t go wrong with SQL)
  4. Language specific nook and crannies (can’t go wrong with JavaScript)

Go deep on a framework only after you feel strong enough on those. If you go to Facebook saying “I know React inside out” you’ll get a pat on the head and “That’s nice, now can you write an algorithm that does X?”

You can fake experience with a framework (just spend a few days going through tutorials and doing todo list kind of projects). You can’t fake computer science knowledge and applications.

So pick a view layer, in your case I’d suggest Blaze since it’s easier, and start building things. Hone your basics. Later on try another view layer like Angular 2 or React.

2 Likes

Thanks a lot for the answer. But i already did my steps with all of these. Of course i am not an expert. But i need something to stay hooked. In the past i worked with jQuery, basic HTML/CSS, Mozilla SDK, NodeJs, …

But i have the feeling that i am missing the point to stay in tune with the community.

I simply need a project to work on, which also has a nice output. I can work on in the future if i want. And learn more things abouth the computer science part while developing this app.

I hoped to find all this in meteor and some kind of framework/Library.

I really hope that in the future we’ll use some framework with simplicity and development speed of blaze and all advanced features of react.

1 Like

Take a look at vue.js in combination with the new webpack package is this my favorite stack for all my new projects.

2 Likes

Do you also have some kind of ui-framework for vue? iOS and Material Design to develop an app? Also what do you use for routing?

This topic made my day, because with all this React talk recently I was under impression that no one loves Blaze anymore except me. I’ve worked on a medium-sized Angular 1.0 project (tl;dr - I disliked the experience), React way of doing things doesn’t appeal to me, and Blaze does it job fine and it’s super easy to start with. I already finished a couple small projects with it and I’m hoping that it will not get abandoned in near future, because I really like it more than other options. Of course bare-bones Blaze can be overly verbose, but that’s where Blaze Components / ViewModel come in, and they complement Blaze instead of throwing it out of the window.

Edit: spelling

1 Like

I use semantic ui with vue works great but you can use every css framework with vue.

For routing use the official vue-router this is a great tool.

I add in the next days a demo repo.

1 Like

When Meteor was first recommended to me, I worked through the tutorial and I loved it. I then added React because that was my original concept (I was referred to Meteor from a React forum), but I did not like it nearly as much as Blaze.

I’d rather develop in Blaze, but based on many of the replies t this thread, I’d rather invest my learning time in React with the expectation that it will have a longer life than Blaze. I don’t want to re-work my apps unnecessarily. True, React can, and probably will, change too, but hopefully not as dramatically as becoming unsupported in the not too distant future (which is what I am reading will happen with Blaze).

@ptken
You shouldn’t judge React vs Blaze based on this forum. Overwhelmingly most of us are using Blaze.

What happened was that the management of MDG decided they want to focus on React, then backtracked as they realized it was not feasible (or popular) and then decided to focus on GraphQL (which is a data layer language – no longer focusing on UI!). The effect of this miscommunication is what you see now.

React is one way of doing things, it is not the only way and it is not the dominant way and it is not the easiest way. Freelancers on this forum are jumping on React as it is the flavour of the day. Blaze and Handlebars are traditional HTML-type frameworks which will NEVER go away – PHP, Python, etc. have been working this way for years and that won’t change. Even Ghost, the most popular NodeJS blogging platform is Handlebars based. Many (if not) most Express installs use some form of HTML-based templating, with Handlebars being the most popular.

Truth is, the silent majority of Meteor developers are not on this forum and most of them use Blaze.

Now for some fun :slight_smile:

The reason Facebook created React is because the UI was very slow with HTML5 a few years ago. So they made the front-end native and the rest with JS. Today, that is no longer true. You no longer have that major speed disadvantage (see Crosswalk and WKWebView). So the driving reason has evaporated. Just like they won’t dump PHP as they invested millions in it, React is likely to stay, but will at some point, cease to see serious investment. Just the way things go.

5 Likes

They’re called Dark Matter Developers

2 Likes