Where I think Meteor is doing wrong with Blaze

Actually no. It’s the simplicity in implementation (fast release cycle). Meteor ecosystem is easy to use for beginners, but very hard to implement. It takes too long to iterate because it’s a huge monolithic framework. If you change the backend you have to concern about the front end.

Why do you think the trello board hasn’t moved at all? Because it is currently to hard to contribute and develop for meteor. You need to take consideration of the entire stack just to make some small changes.

The prime example is the tight coupling of mongoDB and meteor backend. SQL has been requested time and time again by a huge amount of people. And it doesnt even seem like we have started on that process yet. Even though the community has come up with implementations before (numtel for sql, slava for redis), nothing has even come close to being useable or embraced by the community.

Why? Because the community thinks they are not perfect solution implemented by MDG themselves. And this is a direct consequence of meteor being a too closed-off system. Using its own everything. So not many people are brave enough to push forward except for a few among us.

Right now meteor is really mainly appealing for people who are new to the web/mobile app ecosystem. Which means the good developers are contributing else where.

closed off monolithic -> only appeals to beginners -> less world class developers contributing because they are forced to used the whole stack -> more burden on MDG -> community complain because MDG cannot handle everything at the same time.

You just cannot afford to be open source and being closed, those two dont mix.

6 Likes

Well that’s exactly the point–there wasnt a “main branch” before, but one has finally formed around the “Facebook React Stack” as I’m calling it. It’s obvious for anyone to see. And that stack works interchangeably with all the tools Meteor struggles with: webpack, automated build systems like grunt and gulp, async on the server, even just plain NPM at times.

To be clear, I’m actually an advocate of doubling down on Blaze. My point you’re not seeing is: “good enough” solutions won’t cut it. So I’m painting a picture of the 2 extremes that Meteor could take: Blaze Native and Deep GraphQL integration. I’m doing so because I’m convinced Meteor just plans to launch their integrations with React and Angular like they just did and call it a day, hoping for the best. Hoping basically the React stuff works, and we are able to interconnect with React Native in the near future. But the thing is that won’t be good enough. All the cool kids and best stuff will likely end up using GraphQL. So we either join them preemptively with deep integrations with GraphQL or we double down on Blaze, making it a competitive option.

Now, if it’s not clear why I’m comparing Blaze to GraphQL, what I’m really saying is GraphQL will end up leading Facebook down a path where they build what we already have in terms of publishers and subscriptions and DDP. So, for us, the missing piece is making Blaze as good as React. For Facebook, their missing piece is making the server side as good as Meteor!

So we don’t need to build GraphQL. We just need some more advanced ways to specify mongo subscriptions attached to templates, but that’s not that difficult (think: ways to specify relations, and aggregates, a long with a base selector, which is attached to a template; more deeply automated subscription building, i.e. more automagic that addresses what you can already do manually with the various relational publish packages; essentially plain javascript ways to specify the entire data set you need beyond just simple mongo selectors). Anyway, that’s not the most challenging problem. Blaze performance is and Blaze Native. Blaze components is easy and basically already done, and needs to be integrated into the core and have an API published for it.

We need to make sure we are truly competitive up and down the stack. Picking one of the options is a challenging exercise in itself. If you’re following what I’m saying, you will recognize I’m not picking one option or the other. I’m framing the discussion in a way that hopefully leads to deeply researching both options to eventually discover which is the best option. And before that, I’m defining what the only true options are (just supporting React + Angular isn’t good enough, and not an “option”). Now, if we can have both, this conversation is moot. But that’s very rare in software development unless you’re Microsoft.

@seba Hope that clears things up. In summary, Facebook is moving down the stack and will compete with us where we already are a clear winner, and we need to retrace our steps and move back up the stack and polish our weapons to maintain a competing stack. It doesn’t really matter how we do it, as long as our full stack solution is complimentary (ideally better).

5 Likes

Strange that there is no official reaction to this topic. Only Sashko is here and with his personal opinion. Where is MDG PR???

4 Likes

I think the problem is Galaxy, its development took all resources. Only couple of people improve the framework. Until it is ready, tested and has no bugs with the apps in production, you won’t receive medium-to-big updates (like blaze 2.0, sql, ssr, etc).

You must accept this cold truth, use community packages (like blaze components) or make updates by yourself. MDG simply can’t tell you this and will keep silence. For now we have to use what we already have.

10 Likes

That would also be a good and honest answer is made by MDG. If there won’t be huge changes coming months that’s something people can work with.

4 Likes

Tbqh, that is only strange to you if this is your first rodeo with a private concern that took venture capital funding. It’s certainly not mine.

The only concern you should have, is if some of the original team decide to cash out and leave.

5 Likes

Not a rodeo for me, as I can perfectly well build my app with Meteor 1.1 and Blaze.
It’s just not fair and disrespectful to keep the community in the dark.
Mind, that is not the first touchy topic on which we didn’t receive no feedback from MDG.
Just a disrespectful PR policy that is.

It’s not disrespectful, it’s realistic. When there is $20,000,000 at stake, every word is measured.

Unity3d founders, including the CEO, used to be all over their forums answering any and all questions personally. Soon as they received VC funding it was crickets… crickets… crickets…

If someone gave you that much money, you would act in the exact same way. If not, then God help anyone who gives you $20,000,000 of their cash.

7 Likes

I support mitar.

It is very weird that MDG does not consider Blaze as Meteor’s kernel component. The hyper is that React is for large project and Blaze is for small project. Prove it before believe it. A big advantage of Blaze is its scalability by using its packages handy. Blaze is good for architecture layout design. React is good at fancy UI design. Without the evolution of Blaze, the glue tool of Meteor, any reasons for Meteor existing independently? Angular, React, .etc are virus entered into Meteor but MDG does not think so, it is very weird for some other reasons such as business. Like Mitar I also feel the risk of Meteor ecosystem in current way.

Anybody know TCL, the first generation scripting language, like Python, Perl, was well known as a scripting language for Java before Javascript. Today who knows Tcl? The main reason of Tcl’s fade is the leaders of kernel group selected a wrong way to evolute the ecosystem. Without a npm like system, finally all people dropped to use it.

I do not want to see Meteor to become another Tcl.

9 Likes

I completely agree with mitar.

If METEOR will drop / leave behind BLAZE then METEOR will loose big time.
And that’s because it was the most easiest of doing things that are working with any other existing tools/frameworks/libraries/jquery plugins etc.

For example I used INSPINIA theme which uses a bunch of jQuery famous plugins to create a nice, almost-complete admin theme. It has a version for METEOR/BLAZE and it was amazingly to see the project done in a matter of days.

Now, I don’t say that REACT is not good BUT there is a steep learning curve which will slow down both any new development process and ask companies for way better trained people, which are more experienced, more techy and why not more EXPENSIVE.

So my assumption is that if MDG will drop BLAZE, or leave it behind, it will loose exactly the benefit that they boosted them in the first place. e.g. Bringing everyone aboard (no matter of how skilled or not people were) because of all of its simplicity and easiness to do things.

METEOR is really nothing without its developers that create value out of it. If you loose that, you loose all.

So @sashko and other @MDG please reconsider it. Keep BLAZE where it should be and continue improving it.

-Lau

5 Likes

MDG opened the front door to let blaze be replaced by React.
Once most meteorites will have migrated to react, how many time will it take for them/us to replace Meteor backend with some other “fancy” stack.
It has already started… http://starhack.it/

11 Likes

Indeed - Facebook looks to be steps away from building their own Meteor, and we’re being pushed to put our first foot in their eco-system.

IMO, Blaze is what Meteor is all about. It gives us an easy way to build front-ends, and then easily wire data up to it. The build tool, database, etc just disappear, and that’s how it should be.

A big part of Meteor’s sell is consolidating all the ideas around one thing - ie. user accounts, ddp, etc. It’s hard to believe the front-end is not making the cut to that.

19 Likes

hopefully MDG makes a killing from galaxy asap, or enough quickly to raise a lot more money (based on projections), listens to what we have to say in this forum, and realizes they do have the balls and capability to compete with Facebook/React; and then commit to taking Blaze all the way to native. I’m not all that impressed with anything about React, except React Native.

5 Likes

Ups … nice link - times are so crazy

I feel like this is needlessly bombastic - why does this have to be an us v. them type of thing? You could say the same thing about Cordova, or Node.js, or any other technology Meteor has been built on from the start. Doesn’t everyone win if we collaborate instead of competing?

14 Likes

I think Relay.js could be the nail in the coffin.

As Arunoda said, DDP is the star of Meteor and what MDG should focus

6 Likes

@brusbilis What does DDP mean to you?

Short answer: Great and easy to use back-end with real-time “out-of-the-box”

2 Likes

well, if you read all my posts you will realize I post collaborating with the outside world as the other major option–i.e. deeply integrating with the evolving “Facebook Stack” and preemptively (i.e. GraphQL down the stack, and not waiting for the Facebook Stack to evolve). I’m worried MDG doesn’t grasp to what extent they must invest resources in this area. And it is about competing with Facebook. Within a year, 2 tops, they will have built a true Meteor competitor, and it will be way more open, and ultimately win because of that, even if it’s slightly more complicated to use.

So, the other option is getting really serious about Blaze (i.e. polish our top end of the stack while Facebook plays catch-up down the stack). Ultimately if what we’re trying to do is typified by getting it up to snuff with React Native by making it also have a “Native” component, then there is no other word to describe it then “Competing.”

If we can use parts of React to get there, great. Of course we’ll do that. We can learn and borrow code from all their actual “Native” aspects, and then just connect it to Blaze. When it comes to execution, collaboration like you’re saying needs to be key–interconnecting with as much of the larger open source node community as possible. But that doesn’t do anything to build the sentiment that I think we need at this very moment: a competitive one, rather than a defeatist one. If you listen closely to what David Greenspan was saying the other day in the Crater.io AMA, he’s basically saying it will be challenging for Blaze to compete. Call it “bombastic,” call it whatever you want, but if we’re too level-headed about this, we’re gonna be left in the dust. We have to compete. MDG must change their mind. I think they’re wrong here. Making React + Angular seamlessly plugin isn’t enough, and by itself could actually be a very harmful thing. It’s a stop gap. We need to know what MDG plans to do to truly compete and stay relevant–is it take Blaze all the way? Or fully buy into the Facebook Stack (i.e. “if you can’t beat em join em”)?

3 Likes

What a lot of the posts in this thread remind me of. Plato would sure have been a blaze fan.

2 Likes