Talking to some Meteor developers and I am noticing that people are not really liking the idea that MDG is downplaying Blaze. And I completely agree.
The point of Meteor is that it is an opinionated framework, so it is bad when they loose their opinion.
This is why I like Django. In Django they are sticking to their templating language. You can use some other, if you want, but they have their own (Django template language). And if you do not like it, then you can go and use some other framework, or just another templating language. And this is what Meteor does not get it. What it means to be an opinionated framework and why that is Meteor’s main feature. (And there will always be people who do not like that.)
People chose Meteor because of what they have decided on. And if Meteor moves away, then Meteor looses people who chose it for those particular reasons. We chose Meteor so that we could have a stable ecosystem over unstable do-everything-you-want ecosystem of node.js. We leaved to Meteor to make some design decisions so that we can be assured they will stick and we have a stable base to build upon. That is that main reason why to choose Meteor over some other approach. Not because all design decisions are the best, but because they are opinionated and thus look like they will stick. But now you are destroying that trust. And that is the biggest problem. Not the technology. But trust.
It is like Meteor middle-age crisis. The good sides of Meteor limits some aspects, but if you start changing those to address the bad sides (and there are always bad sides, things are a trade-off), then you will lose those calm group of people enjoying it. Maybe to attract new people. But you will get a divorce first. Before you can get a new (more?) attractive group of people. Will Meteor then switch technologies every time there is a more attractive technology developed by somebody else? Yes, it should support it, but the core should be kept getting resources and love.
Meteor should support both Blaze and React, and definitely keep developing Blaze. It is not like that in web any given technology was a clear winner. There are pros and cons of everything. Blaze was what get people onto Meteor. Not just because of performance, but many other good design decisions which are different from React. And then there was a vocal group who wanted React. But in meantime people who liked what there was already stayed quiet.
Look, see React packages have only 321 and 900 stars. Not much more than unofficial Blaze Components (251). Official React packages has 10k installations, Blaze Components 4k. Just imagine what it would be if Blaze Components would be more promoted if people want components (my guess what is the most important feature of React).
This to me really feels like Jinja vs Django templates discussion. Where there was always a long debate in Django community that Django should switch to Jinja: it is more performant, you can write expressions directly inside templates, and so on. Gladly, Django didn’t change but kept developing Django templating language, which allowed ecosystem to count on that and grow. They support other templating languages though, for those who really want it.
From docs:
The Django template language is Django’s own template system. Until Django 1.8 it was the only built-in option available. It’s a good template library even though it’s fairly opinionated and sports a few idiosyncrasies. If you don’t have a pressing reason to choose another backend, you should use the DTL, especially if you’re writing a pluggable application and you intend to distribute templates. Django’s contrib apps that include templates, like django.contrib.admin, use the DTL.
(One old comment of mine as well.)