I listened to the podcast and agree that it lacks structure but I think that Josh is pretty openly disappointed in the current Meteor state. A lot of that disappointment seems to be an interpretation of the current MDG priorities as an abandonment of Meteor.
I really appreciated the perspective of the 3 participants because they work day-to-day selling technologies to their customers so they have some battle scars.
I would like to discuss another interpretation of the MDG priorities.
I am relatively new to web development so I am sorry if I do not have all of the background… but I will wade in anyway .
I believe that we are seeing a classic “strategy pivot” on the part of meteor.
History
My interpretation of the background:
- Meteor jumped ahead of the “javascript everywhere” phenomenon when they started.
- One framework available on both the server and the client is great!
- They ran with reactivity everywhere.
- Made it work on mobile devices via Cordova.
MDG made some compromises to move fast:
- Stuck with an old version of node for quite a while (too much work to move it ahead I assume).
- Chose Mongo as the DB that could satisfy the largest number of demands.
MDG made some bets on things that thought might gain traction:
- Went with some in house solutions where others were not available at the start: e.g.
Tracker
and DDP
.
- Invented Atmosphere and their packaging system.
The Pivot
As of 2016, I believe that MDG made a strategy pivot to embrace the rest of the JS community more fully and to support their users with the largest applications. What has this implied:
- Fully embrace React (angular too)
- Tear into the guts of Meteor to enable easier integration with fast moving JS technologies. e.g. make node easier to upgrade, make npm packages work.
- Address the Mongo only database problem by creating Apollo that can be integrated with Meteor core but has appeal beyond Meteor’s shores. Kind of the best of both worlds and embraces the JS community.
I believe they were fully aware that they were going to be sidetracked for a while rearchitecting the guts and decided to take that risk.
Interpretation
From the outside this might look like slow progress or abandonment. When you are making changes to the guts, fundamentally, nothing new is visible (e.g. paddling in place). I am going to guess that enabling node upgrades took a fair amount of work.
I think these moves are fully aligned with the Meteor vision:
You could argue that early on “Integrate with technologies you already use” was not well supported. But the moves they are making now clearly look like most of their investments are going into this category. Look at the roadmap update. They are doing the next appropriate steps:
- Node v6. Integrate technologies.
- page improvements, maybe this means webpack? Integrate technologies.
- full transition to NPM, figure out how to replace Atmosphere. Integrate technologies.
- integration sugar for Apollo. Integrate technologies.
I believe that we are in for some more paddling in place feature updates to really light up the best technologies that the JS community has to offer.
What am I doing?
I am still on Blaze. It works fine and I have not encountered perf issues for my application. I anticipate that I will switch to Vue and I would not be surprised if Meteor made Vue a 1st class framework because of Vue’s performance advantages (even compared to react) after V2.
I am anticipating a server side penalty for the DB reactivity, but I will invest there when the problem starts to hurt and I will move to Apollo.
So for now, I am R-E-L-A-X-E-D. I believe that MDG will stay on their vision and will pivot the project where it needs to be for me and the rest of their community.