As a newcomer to Meteor, learning the ecosystem has been a lot of fun. I really like developing with Meteor and I’m definitely going to be using it for a lot of projects. But I’m wondering, what kind of things aren’t Meteor suited for? And how do I know when using Meteor would be overkill? It seems to me that it could be tempting to use Meteor, even if the project doesn’t strictly need it. As far as I can see, Meteor isn’t that suited for static, content-based websites, but is it really the best choice for most other types of webapp?
I would love to hear what any experienced Meteor developers have to say about this.
I use it for everything now - static, content-based sites included. Everything else just seems like too much effort by comparison.
(I’d probably change my tune if any of my sites ever got any significant traffic, but so far all good. I guess …)
I’ve found that in certain environments meteor’s full stack reactivity is too much. Interestingly just
meteor remove ddp and
meteor add meteorhacks:picker and you instantly have a REST ready version. You still have client side mini mongo which is infinitely helpful when handling data of any type client side. You also still have all of the meteor server side behavior and the build system (which is really powerful and extensible). Static sites are really the only thing that it’s not amazing for, and as long as you can represent your sites in say markdown you can even easily load those, and using flow router ssr with basic react pieces, you can have a static rendered but spa capable static site even. Basically there is nothing that meteor can’t do, if you are willing to throw the resources at it.
If you find that hosting meteor is too much (it does tend to be a bit of a server resource hog, not quite as bad as tomcat, but definitely worse than say express) then you can always just take the built client from meteor and plug it into a static served site and still get all of the client side goodies. There is a grunt task sitting around these forums somewhere to actually take meteor code built for the client and export it as a static tar that can be loaded into say an nginx served directory, and boom you are good to go!