Is anyone still preferring Blaze over React?

I was crazy for Blaze for many years, but after switching to React with hooks/styled-components/etc… I can’t look back anymore. Curious where everyone else is?

  • I still prefer Blaze!
  • I’ve switch to React
  • I’ve switched to something else
0 voters

If you look at tools like Next.js, they position themselves as “The React Framework for the Web”. I’m thinking that Meteor would be much better off marketing themselves as a React app engine than anything general.

2 Likes

Blaze and React are frontend-dinosaurs. I would not migrate my Blaze apps as they work fine, but for newer apps I would look to newer and more lightweiht alternatives than Blaze or React. Why are you asking for only those two?

3 Likes

Blaze is nice to me because I hate JSX. I think it’s ugly and hard to read especially in complex components. I much prefer template like syntaxes. If Meteor was to bind itself to any front end framework I would vote for Svelte.

6 Likes

React is not a dinosaur haha… its very strong. I love Svelte but its download numbers are just not there right now. (24m weekly vs 1m weekly).

I totally get the JSX sentiment… it’s definitely some ugly mutant… but it DOES make sense after you get used to it. Trust me, I was the biggest React hater haha.

7 Likes

Hi, I am glad to see you @msavin here. People are waiting your comments on your SLA here: Meteor Toys is Abandoned? - #12 by paulishca

2 Likes

It never improved for me. I actually found Meteor while looking for a replacement to React and all the other dependencies that framework library forces upon you

2 Likes

I use Blaze for all systems I have created. Very simple, easy and efficient. So you don’t need a lot of packages to do a simple web interface.

4 Likes

I love React. Makes it easy to work between projects since I also use React Native (Expo).

1 Like

I appreciate both, but if I were the decision-maker, I’d choose Blaze. It’s incredibly straightforward—you don’t need to get bogged down in the details. With simple state/prop patterns and two rendering APIs, you are writing HTML and SASS. That’s it.

When using Blaze, Tabular and Flow Router are my go-to packages.

3 Likes

In my experience Blaze is very simple and the easiest to learn. But when you want a modern infrastructure and features, it is outdated and inadequate. Svelte was a good alternative for me here. I prefer Svelte because the syntax is similar to Blaze and it is simple to learn and easy to use.

1 Like

I still love Blaze but I’d always prefer Vue 3 over React tbh

If you look at tools like Next.js, they position themselves as “The React Framework for the Web”. I’m thinking that Meteor would be much better off marketing themselves as a React app engine than anything general.

This has been attempted in the past, see Add Meteor.js as popular alternative to Next.js in the new React docs

They basically denied :-1:

I will probably be with React for the foreseeable future, but I want to look into Solid as that one seems to be a bit more aligned with what Meteor is doing. Plus on their community team there is a member of the Meteor community.

These are problems that if addressed could provide more reasons for people to pick Meteor in the first place

What would you consider modern infrastructure and features that Blaze currently misses? That would be a great input for the next major efforts in Blaze.

3 Likes

I had a similar experience and made the switch from Blaze to Svelte some time ago. Svelte and Meteor make a great pair.

Svelte is probably most in line with the ethos of Meteor of making the complicated simple and its focus on productivity. I would encourage anyone who isn’t married to React to take a look. I wrote about my experience with the switch here:

Having said that, one of the great things about Meteor is that you can plug in whatever UI framework you like.

I think this cuts both ways. If you position yourself as a React app engine, you go head to head with Next.js, Remix, etc. and make people who aren’t fans of React feeling that Meteor isn’t for them. You also sign yourself up to support features like React Server Components which come with a complexity that most apps don’t actually need.

IMO, Meteor’s marketing should be focused on simplicity and productivity. Bring your own UI framework. Get things done.

6 Likes

Just to throw in some general response to the comments;

I think in every way, modern front-end tools are superior to Blaze:

  • For HTML templating, you have more advanced stuff where you can just call your JS variables instead of defining a helper for everything
  • For CSS, you have automatic scoping of CSS to your component, which is a huge assist on larger codebases
  • For JS, you can write everything inside of one function and have it be accessible to all your HTML and CSS

Considering modern frameworks can do it all in one file, with much less code, and run faster, it’s just superior. And if Blaze tries to get to that level, it will lose its simplicity.

Let’s not forget stuff like HMR, SSR, code splitting, etc, that works great in all other frameworks.

Blaze is great for beginner devs who have an HTML/CSS/jquery backgrounds but that world is long gone now.


There’s a ton of Next.js-type frameworks now, but they are all built around the SSR model for content websites. Meteor can differentiate against all of them as a real-time SPA engine, which is a fundamentally different way to build on web.


Trying to cater to everyone is a common business mistake, in the end, you end up catering to nobody, which is where Meteor is right now. Nobody knows why they would use it. There’s nothing on the website that seems unique.

4 Likes

In my opinion the benefits that differentiate Meteor from other frameworks is the data layer (minimongo, pub/sub, RPC) coupled with the accounts system. None of said features require in any material way a tight integration with the view layer. Quite the opposite. Meteor is able to provide its features to any view layer with not very much code at all. Instead of trying to pick sides in the never ending view layer wars (and then dealing with the consequences thereof), Meteor would do well by just staying agnostic on the matter.

5 Likes

I agree, the tight coupling of mongo/pubsub/rpc/accounts is a big part of what makes Meteor so great, you can essentially run a mongodb query on the client, everything is abstracted down to the database, and its automatically real-time. That’s an insane pipeline.

However, looking at the website, you would never know about it.

Positioning it as a React framework would just help get more people onboard, it’s like >90% of market anyway… capturing a bit of that would be a lot bigger than Meteor’s marketshare today probably

1 Like

That’s exactly why Blaze could be killer. Instead of being backend agnostic like every other UI tool it has the benefit of being built by the Meteor team. They control the whole stack, that means they can make any little optimization that they can think of. It’s like Apples ecosystem, on paper every product is underpowered relative to their windows and android counterparts, but their ability to optimize across the entire stack allows them to launch products that outperform (in some cases) their competitors.

[quote=“msavin, post:17, topic:61996”]

  • For HTML templating, you have more advanced stuff where you can just call your JS much cleaner. I want as little logic as possible in my UI. What ends up happening in react as display values get more complex is you put the computation into a function. That’s just a helper.

Personal preference. Scoped styles are nice in the margins when this component really needs to look different from every other component but are a pain when you actually want to use the cascade. Reading through the updated CSS learning guides, CUBE CSS, and Every Layout has drastically changed how I write CSS over the past few years. My stylesheets have become smaller, easier to reason about, and more modular. I find myself reaching for tools like Svelte’s scoped styles and Tailwind much less.

Fair. Can’t argue against this other than my previous point of I hate JSX

This isn’t specific to React and could be added to Blaze

Agreed which is exactly the kind of baggage Blaze doesn’t have. It only has to work with Meteor

1 Like