Why I believe in Blaze

Over the last few years, having focused primarily on Meteor development, I can not tell you how much both developers and business/management in startups love how quickly you can develop POC/prototypes for market tests with Meteor/Blaze. Startups have no extra cash to afford, and the faster they can prove the business hypothesis, the better their chances of success. I think it’s inarguable there is no shorter path to MVP, and therefore nothing more efficient for businesses to test the hypothesis. This is not an argument for Blaze over another framework for a different use case, but an argument that all bootstrapping product based startups should be using Meteor/Blaze to have the best chance at success.

17 Likes

I personally love Blaze, but after almost 1 year, and having the IDE tailored for my needs, I move faster in React than in Blaze.

1 Like

“IDE tailored”… i get it.

What do you mean by IDE tailored. I am using blaze. I do not like the jsx magic of react.

1 Like

I mean I’ve hooked a bunch of shortcuts, for creating react classes, importing stuff, etc.

So you don’t have to write all the jsx yourself now?

My experience with Backbone and Angular had me quite attached to Blaze until I actually made myself dive into React. One of my biggest concerns was that JSX was going to be the mess that PHP was, with HTML in your code. Backbone was even worse with code in your HTML. JSX turned out to be nothing like that. The experience is more like your writing code that just happens to look like HTML, so I can stay in the JavaScript mindset and don’t have to switch back and forth into thinking in Spacebars. This means I can now get way more accomplished in React than I used to in Blaze.

5 Likes

I think it is common that people more in the “javascript” mindset like React. For front end I think from the DOM out, which is Blaze. Also as I mentioned, the point is not one versus the other. Having worked with both, they are essentially identical in the abstract. They just use different patterns. To argue which is better is no point. Use the best for the use case.

3 Likes

If you are coming from the JavaScript world then react might be the way to go, but when you’re coming from the HTML world then blaze is still the way to go.

3 Likes

So glad you posted this. Thought I was alone in this perspective, but I freaking love Blaze. Also coming from the frontend-first mindset, with Blaze I can build out the UI exactly the way I want it, then make the parts dynamic that need to be. I’m sure for enterprise applications, React offers benefits that are orders of magnitude over Blaze. But as a startup, or for quick “scratchpad” apps, it’s 100% Blaze for me.

4 Likes

I too was drinking the react cool aid and started to learn react with meteor but that jsx and props etc seems too complicated for me . While I do see myself using it in the future for now I am using blaze since I don’t need to know advance js stuff.

2 Likes

Blaze is in a league of its own - and it works really well if you get how it works.

11 Likes

If anyone is interested, here is my prototyping/learning boilerplate.

Hope to have feedback, I use it to try and start a Blaze project with some basic patterns that are simple but powerful in supporting sclabality through modularity.

Have also developed my own comparison helpers for Blaze. These can lead to messy code, but used discretely are very powerful. Here is the README snippet:

Missing Blaze Helpers
There is also included several global Blaze helpers. Most interesting being the comparison helpers. These allow for other than boolean values to be compared simply in the Blaze template. To illustrate:

Tyipcal Blaze

{{#if checked}}
<!-- Render some element -->
{{/if}}

However the issue with the above is that unless you store the value as boolean in the data field ‘checked’, you will have to transpose the value. With the coparison helpers the following is possible:

Boilerplate Comparison Helpers

{{#if eq status 'checked'}}
<!-- Render some element -->
{{/if}}

All basic comparison operators are supported:

Javascript Helper
=== eq
!== ne
< lt
> gt
<= lte
>= gte
&& AND
|| OR

Additional:

  • isZero Check the value for zero
  • not Check existance/false
  • in Check if string contains
3 Likes

Blaze is simple and more intuitive than React but why Blaze not React or vue for start up prototyping?
React come with tons of ready to use components and UI components.
React is JavaScript thus the “tideness” of the code depend on the developer skill. React component can have all the styles embedded in it which ease work speration as one jsx file which include js, html, and CSS. Developers who spend more time writing pure JavaScript (React need more JavaScript skills)may result in stronger backend and frontend developers. And since startups have limited budget, it may save time and money to have some components ready as prototypes for further development later instead of rewriting the code again with React/Angular/Vue . Plus tutorials on how to use React and the documentation of React is more than Blaze. So should startup choose Blaze mainly because it is more intuitive?

For me your arguments don’t hold true. You don’t become a better backend developer because you used React on the frontend. You need javascript just as much when using Blaze.

Many things are good with Blaze, but it has lost a lot of momentum past 2 years because:

  • Performance is less then React (when it comes to Mobile, things like that are important)
  • No support for SSR (which is something a lot of people want)
  • Hard to find new packages or updated ones (mainly because it lost momentum)

Appart from that it is still the only templating that integrates so well with Meteor (think ui-account package…) and this is a really great approach for non-dev people to be able to look and change things.

I really like Blaze, it’s just so sad nobody tried to rewrite the core of it to make it more performant and include the latest features other framework have right now.

Some packages added componentization for Blaze (ViewModel, which I find amazing to write, and Blaze component )

I strongly believe this should be in core as well as a router, and animation support linked to the routes / the show/hide of section (like Vue made it so simple)

Anyway without this additional work, I don’t see Blaze coming to the surface any time soon

1 Like

thanks man thats cool

I dropped React in favor of Blaze. With Blaze I am still faster in creating components. Can’t see the benefit of React, besides “everybody does it”.

12 Likes

I also do my projects with blaze, It’s an cool template engine and a good fit to meteor.

3 Likes

I’ve also tried to stick to Blaze until I needed something more powerful, but limitations like Blaze wiping out iframe contents when moving DOM elements around, made me want to switch away from it.

2 Likes