When Meteor was just started in 2012, there were no powerful build-tools (Grunt was just started), npm packages were meant to be used only inside Node and live reloading was a WOW feature.
But now, 3 years later, we have Webpack, which is a powerful build tool; npm packages now can be used for browser too; and hot reloading now looks like something old and slow since we have hot-code-pushes.
Seems like what Meteor invented when it was just started, now is implemented via other tools. And these tools are more focused, powerful and generally-applied (most of Meteor tools are just Meteor-applied).
I see projects popping up, which use Webpack to build Meteor projects. Webpack gives an ability to use es6 import/export functionality and hot-code-pushes for react components.
Meteor 1.2 provides new Build Plugin API, but do we really need it? Build Plugin API allows us to write compilers (es6 to es5), linters (jshint) and other stuff which are already implemented and easy-to-use via Webpack. So why donāt just use Webpack?
Web development changed a lot since Meteor started. Maybe itās time for Meteor to rethink some of itās fundamentals?
Questions that bother me:
- Do we need Meteor packages? Couldnāt we just switch to using npm?
- Do we need isobuild? Couldnāt we just use webpack?
Wouldnāt it be better for Meteor to be a bunch of npm packages which can be used together and combined with other packages?
Like this:
meteor-server
meteor-mongo
meteor-tracker
meteor-react // react bindings for meteor
react
react-router // not meteor-react-router which wraps react-router
momentjs // not meteor-moment which wraps momentjs
+ webpack-config
What do you think of the future of Meteor? What does MDG think of this? Do questions above bother you too?