React or Angular 2.0

There seems to be a number of forums discussing this, however, I was wondering if Meteor has indicated a recommended direction for new apps or rebuilding a blaze app?

React. Angular is overcomplicated.

Forgive my ignorance. It’s going to be a steep learning curve for both since I’ve only ever used blaze.
Some of the forums mentioned/implied that React requires additional plugins/setup with Meteor. My interpretation is that the two don’t play well together, yet, and that Meteor still hadn’t come up with a solution. Compared to Angular 2, where Angular and Meteor are now working together???

Is this true or am I completely wrong here?

Angular has more features but also more complicated. React is only a view layer (which is what you want if using Meteor) and is simpler but it needs a different mindset. Also keep in mind Angular 2.0 uses Typescript which is actually a good thing but is one more thing to learn.

I recommend you follow the React tutorial on Facebook and see how you like it.

2 Likes

I’ll also recommend react. It goes very well with Meteor. We have developed 6+ Apps using Meteor + React.

1 Like

Is it strange that the default app from meteor create still uses Blaze, adding to the confusion of what a beginner should be using?

1 Like

What is your reason to leave Blaze? What were you missing? This will help us give better answer.

Otherwise, you’ll just receive the same “I prefer this framework over the other” as in other threads.

While I use Vuejs for Meteor, if I had a choice between React and Angular 2 I’d always choose React, even if I’m fluent with Angular 1.

I’ve always thought Angular should be called Boilerplate. First edition was Boilerplate 1, now we have Boilerplate 2.

That’s no ignorance, welcome to the club of confused Meteorites :slight_smile:

Well, I for myself, am still using Blaze with Meteor. That’s mainly due to the fact that every attempt to upgrade my app from 1.2 to a version higher than that caused a lot of frustration, since breaking changes in the build system screwed up some of the community packages and every Cordova upgrade tends to cause incompatibilities with community packages in this field. I am developing for mobile, including native libraries for stuff like video conferencing, so stuff generally gets a bit fragile if the basis shakes.

However, I was able to gather some experience with React outside the Meteor hemisphere now, by implementing a customer app from scratch with Webpack, React and Redux. In general, I like it, especially the modular approach. And I wouldn’t say that the basics of React are hard to learn. There’s a very good tutorial on YouTube that helped me a lot.

Things are getting complicated, though, once you go beyond the basic stuff. For instance, it took me quite a while (and a lot of head scratching) to get i18n work with React. And there are some concepts in React which are quite hard to grasp (like high-order components) or a even little bit weird (like contexts).

Still, after having played with Angular 2, I would say React is much simpler. And I would not want to bet on a proprietary JavaScript extension like TypeScript. Although I see the benefits of a typed language (especially when it comes to IDE support), these technologies tend to be replaced by the latest cool kid in town. I wouldn’t want to risk that.

I guess the reason that the meteor tools still output Blaze is just simplicity. Although I would also say that this doesn’t make any sense anymore, since most of the Meteor community seems to drift into the React direction. Still like Blaze, but I don’t think it really has a future. Not because it’s bad, but because it didn’t get the love from MDG it should have gotten.

1 Like

Blaze :slight_smile:
So you don’t need to learn another language.

I’m still learning to code in general and I was a huge fan of blaze simply becuase it gave me the ability to build apps with modest knowledge. I’m somewhere between beginer and average when it comes to meteor and blaze these days however with meteors new direction I’m feeling a little lost.
Ideally I’d like to stick with blaze. By the sounds of things that might be the way to go for now while react or angular become more mature with meteor.
My concern/question is that I’m spending time learning something that is now redundant, staying with blaze and I’m going to have to start all over again with a new solution soon.

If you want something that is not reduntant but still similar to Blaze, go for Vue.

React and Angular don’t really need to become “more mature with Meteor”. Once there is an integration package, that’s basically it. React has the biggest community in Meteor though.