Shoud we learn React?

I’m a newbie and I was proud that after a lot of practice, I could do some things with Blaze. I like it as for me it is clear in terms of structure.

Now with the evolutions of Meteor, do I have to switch to React? (and start from zero)

I shared my thoughts on the subject here - Blaze or React, what should a Newbie do? - There’s some more posts of discussion below that one as well

You don’t have to. It would be worth learning React if you plan to be a professional web developer so that you don’t have problems when your company works with React later, but other than that, you’ll be fine with Blaze.

Anyways, there are plenty of things you could learn other than React and which would help you later no matter what stack you’re using. Focus on them first.

5 Likes

Yeah, when I came back to these forums after not viewing them in awhile, I too was caught up with all the “React” talk that was a result of the MDG announcements.

But at this point, I think people are a bit too worried/focused on it. They scrapped the “React-only” and “Blaze in React” approach and went in a new direction with a more modular approach, so it shouldn’t be an issue anymore.

1 Like

Hell, I still meet new Meteor developers on Slack, Gitter or IRC who ask when Blaze 2 will come out, because they found the long thread on forums or read some articles, but they don’t realize that it’s all outdated.

1 Like

Yep. MDG’s biggest weakness imo is not clarifying some of the issues that make the community a bit worried. There should be a sticky FAQ bringing up these type of questions.

It’s a bit discouraging returning to this forum after a year, and seeing all the positive energy replaced by unsure cautious negativity. Even though the negativity has (mostly) been settled, the uncertainty is sure to drive some potential users away.

Also, since React is probably the most debated subject, and posts like these with users worried about Blaze support, it would be extremely helpful for them to just clarify that even if React becomes the official recommendation, that Blaze support will still be there. They didn’t say Blaze would be dropped, they only said recommendation would change - and that’s causing all different interpretations (including many negative interpretations of users that were alarmed by the original Blaze in React announcement).

It was implied that support will still be there, and if you piece together their announcements, it seems to be a central part of their Modular approach (including Blaze as it’s own NPM module). But you can’t really expect new users to go through all that information and check dates to see if its the case. Even for users like myself, it would ease the lil bit of lingering concern.

3 Likes

I can talk only for myself, but I don’t feel uncertain. I have great view layer in form of Blaze + manuel:viewmodel, Manuel is working on porting it to React so I will have clear path of advance if I want to switch to React in the future, and Apollo, when it comes out, solves majority of issues that worry me about Meteor.

For me Meteor is still a win-win framework, so I stick to it.

1 Like

Oh I am still a fan of Meteor, I talked my job in to using it and our new version of our software is underway. Going to be using it for at least the next year (likely beyond as other vendors have expressed interest in our software).

But I would just feel a bit better if they would just confirm Blaze would definitely be supported if React became the recommendation. I’m fairly confident that it’s true from their implication, but it would mean more if they explicitly stated it.

1 Like

From what I understand, Blaze will become a separate project, managed by the community, while MDG will write their future code to be view layer agnostic, so it will support any view layer, including Blaze.

That would be great.

By the way, is there another simple UI layer like meteoric compatible with blaze?

Thanks

To summarize, for someone who start Meteor, it’ll be better to choose Meteor with React, because of the support and maybe the future recommandation from Meteor ?

I was wondering what to choose Meteor - Blaze, Meteor - React, Meteor - Angular. I like React but most of atmosphere packages are done for Blaze.

If you said that React could be the official recommandation, maybe we can expect a quick migration of all those packages ?

For now we can use somethings like that, to ensure compatibility : https://atmospherejs.com/gwendall/blaze-to-react

If you have other recommandation, it will be a pleasure to read those.

For know I’ll keep learning Meteor with React.

Thanks ! :slight_smile:

1 Like

Most of the ‘atmosphere packages’ are created by individual contributors in the community. Therefore difficult to come to general conclusions regarding migration to React

First of all, these packages use the very deep Meteor+Blaze integration (as Blaze was written with Meteor in mind), so they just can’t work the same with React. Second, authors of these packages would have to learn and switch to React by themselves, otherwise they have no knowledge or will to do any rewrites.

Writing Meteor+React apps will never be as fun as writing Meteor+Blaze apps, because React will never write their features to suit Meteor better and Meteor won’t do this too, as then these features wouldn’t work with other view layers, which is against the new MDG approach.

3 Likes

Thanks for your answers. I’m really confuse about what to use… Many of those packages are interesting.

Maybe you can help me to choose. I’m developping an mobile app (~100K-1M users), I really want to make it with meteor, but I can’t choose between Blaze - React - Angular 2.

I’m not into mobile apps, so I can’t give an answer that would be backed up by experience. For me, if I was in such a situation, the question would be “do I want to use React Native or not”.

Imho, if you’re planning an app for 1M users, you have bigger problems to solve than choosing a view layer. View layer can help you depending on how big the particular application is, it doesn’t matter how many users will use it.

Yep, you’re right. My only desire is to provide a good and reactive user experience. I’m making my own ergonomie/design.

I feel that at the end the result will be the same, Blaze or React. Maybe I’ll use Blaze because of Atmosphere.

You are developing an app for an audience of 100K to 1M users.
Do you already have that audience? If so, you likely have cash to spend and need to put out a top-notch app, so I’d look into either React Native or standard native apps.

If you don’t have that audience, it really comes down to budget vs quality vs time.
A well-built native app (React Native or otherwise) will have better performance than a well-built hybrid (Cordova) app.
Does this matter? That depends on your app. If you have flashy graphics, yes. In most other scenarios, the performance difference are unnoticeable to the users.
The key of course is “well-built”. Many of my clients have opted for a Cordova app because it is quick and cheap; many of the quality differences between hybrid and native apps come in due to those 2 constraints. If an app has a low budget and is rushed, it obviously won’t have the polish of an app with a bigger budget and more time, and the clients with those constraints opt for hybrid apps… this is part of the reason why hybrid apps have such a bad rap.

If you are just starting out and have a limited budget, it may make sense to develop the best hybrid app you can then rebuild as necessary once the users start picking up. As you start getting close to that scale you will almost certainly need to rethink a lot of your code anyway. :slight_smile:

Blaze vs React? Again in many cases the performance differences aren’t huge, and with a package like manuel:viewmodel, Blaze development becomes pretty awesome. Personally, I’d say to use whichever one you / your development team is more comfortable with. If you start with Blaze but discover down the road that you really need React, you can transition your app to React piece-by-piece.

4 Likes

Thanks a lot for your time dude.

I understand and take note of all your advices. I haven’t that audience, of course if I had this now I’ll just build a native app, but we have many reasons to think that we can reach that in about 1 or 2 years.

The idea, for now, is to rush a first app to build our community then redev it in native.

I think I’ll start with Blaze, it seams to be awesome as React, but many package attract me (package porn :smile: ).

you may like the Transmission Podcast, it’s been a great platform for transparency from MDG

1 Like

In 2 years from now there will be some new technologies that you will possibly want to take advantage of.[quote=“emant, post:18, topic:19885”]
I think I’ll start with Blaze, it seams to be awesome as React, but many package attract me (package porn :smile: ).
[/quote]

Be sure to use some Blaze extension like manuel:viewmodel or Blaze Components - like @nathantreid suggested, they greatly improve the developer experience and make Blaze more powerful, helping with things like reusable components and state management, which are very important with bigger applications. I’m personally fan of the first one.

2 Likes