| Congrats to the Meteor team! We've built an enterprise/b2b app on meteor, and even through all of the hard yards, it's been a success & the right choice for us. When I first heard about meteor, back at v0.5 or v0.6 - I watched the video from their home page, and thought it was full of buzzword bullshit. I didn't have a clue what it did. I then ended up reading about how their latency-compensation API system worked [Meteor Methods]; And instantly knew that it was for me. Having an API that simulates itself on the client, while simultaneously performing the same work on the server, is freaking awesome. (And then rolls back automatically if they don't agree). If you are building a real-time, collaborative tool. Meteor is the framework. That being said, there are a few questions about integration & scalability. Opportunities to use Meteor: * If you can make something small, eg. an internal tool [Free mobile app with cordova!] * If it matches a certain feature of your app - and you can segment it based on URL (eg, it's a separate app) * You're a sadist, and you're going to port your whole app to meteor... * You're writing an MVP and you're going to scrap it later * You're product has realtime/ collaborative elements that are a SELLING feature [not just for your personal enjoyment]. Scalability: * Client are always connected via websocket. Great for realtime data (no polling), crap for a website. * As meteor instances are single threads, you can run multiple instances on the one server. Design you code for this (eg, don't store state in regular JS variables on the server - all has to be in the database). Load balance between them. * Once the "client" has booted up. You can then connect to as many other DDP servers [backed by their own mongo instance, or the same mongo instance] as you like. This gives you the ability to segment your application based on your core feature. EG; if you're a monitoring app, shard your data by client, if you're a document app, shard by project. Have a central listing which tells them which server to connect to. * Perform heavy lifting somewhere else. Plenty of "web workers" out there, or roll your own using Celery & Meteor-Celery package [shameless plug]. All in all. Meteor is great at what it does; and what it does, is going to be the next generation of web apps. |
What opportunities exist in the enterprise market that specifically benefits from this feature?