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?
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?