I have built my first Meteor app with AngularJS nearly 2 years ago. Because we transitioned from Express to Meteor for the backend.
Also there is already the Meteor React guide that tells you everything about how to use React in a Meteor app.
For migrating Blaze to React there is now the Blaze section in the Meteor Guide that shows you how to write Blaze components that are easy to translate to React components. Other from that you just need to understand how React handles the view concerns like rendering, event handling and getting data and you then should be able to migrate Blaze components to React. Also you can use Blaze and React side by side.
Yeah, because writing good software in general is not easy. And it’s not even necessary to migrate all your Blaze templates to React. My point was that before you even think about migrating Blaze templates to React components, you should consider refactoring your Blaze templates to do what the Meteor Guide suggests and then you can start to migrate Blaze templates, starting from the bottom of the view hierarchy.
I might consider abandoning meteor as a whole if I had to go through this.
One of the very strong pro’s of Blaze is that you could develop with more flexibility.
If Blaze 2 was built on top of React and still provide separability from view and logic so that I could use jade and coffeescript, I have no reason to disagree to this .
What made me start meteor was the flexibility of developing choices I could make for different projects. I could use Blaze, React, Mithirl, or whatever I wanted to fit the project I am working on the best.
Personally, depending on the style and design of app or website, React style developing and Blaze style developing both have pros and cons. But as of Meteor’s current state, it’s possible to develop in both styles.
I just hope that whatever decision MDG makes, the above remains unchanged.
There’s nothing to complain about. Meteor is backwards compatible, so whatever you thought was coherent before, must still be coherent because it is all still there. You don’t have to start using React if you don’t want to, you can use the Blaze that you loved from before, it hasn’t gone anywhere. All Meteor has done is give developers some more (good) options.
Plus anyways, all the new stuff is coherent also, and I’m loving it. We have the ability to choose.
What happens if Facebook decide they want to take React off in a direction that doesn’t suit/play with Meteor? This takes the decision away from MDG and the Meteor community. Without the later, you don’t have a commercially maintainable business. As a developer, I would pay a monthly subscription to a methodology that moved with the times by absorbing new techniques. The justification is that it would save individuals (and businesses) having to continually chop and change between methodologies.
As a business, I would also pay for cost-effective hosting, etc.
Get your commercial vehicle sorted so you can fund more onboarding and develop the ‘best-of breed’ framework that you set out to do.
I’ve said before, there may be a market for a “framework-as-a-service”… people lose their mind at the idea of paying for a framework. But why not? Who says a framework has to be completely open source? A framework-as-a-service could still take community PRs and operate just like any other open-source framework. The only difference being that it would have a stable budget to maintain it with.
robomongo just did this for all intents and purposes… albeit they just took one lump sum donation.
granted I don’t know how you would stop people from pirating the source code for their own apps… but the idea isn’t bad.
Having trouble getting used to using React with Meteor? We have just released a really easy method to get React and Tracker integration, one cannot make it easier, and the implementation can’t be lighter, it’s ridiculous how easy it works, it just makes sense.
With a lot of experience using Blaze and building business logic rather than actions and reducers, which have always felt like going over the river for water, this new package we’ve built is meant to relieve the burden on getting onto the React train.
We have reimplemented the Blaze templates methods autorun and subscribe for React, and guess what it makes perfect sense doing that, using 50 lines of code for the integration, one can’t argue against that right?
And as a bonus feature: it’s also easy to use this method for Server Side Rendering (see the clip to learn how)
The clip includes a short demo of how we build easy React Components with Meteor 1.2 and Tracker using Tracker.Component, and how it all works.
Demo and instructions for 1.3 is on the way, just not tonight
I think it’s safe to use Blaze for the time being, as there are a lot of projects using it, including Rocket.Chat, for instance. But I would still recommend to learn React, as it’s obviously the way Meteor is heading at. I’m still on Blaze myself, though, and waiting until things have stabilized in the Meteor-React field. I’m still seeing too many questions here how this or that would work with React, while with Blaze the same is a no-brainer. Good thing is that React allows for smooth transition, so you don’t have to switch your app entirely from day one.