Are you looking to quickly build a custom web app, and you want to use JavaScript to do it? If so, Meteor JavaScript could be the foundation you need.
1) An Overview
Meteor is a full stack JavaScript-based app development platform, designed to make it easy and fast to go from prototype to production. Meteor does this by providing a curated set of open source libraries, many of which are written by Meteor themselves. Full stack JavaScript means that JavaScript is used on both the client and the server – no need to use multiple languages.
Another Meteor distinctive is that real-time updating is built into its core. Rather than sending GETs and POSTs, Meteor depends on web sockets via a protocol called DDP (again, designed by Meteor). This means that any updates made by one user automatically propagate to all users – no refresh required. Combined with optimistic UI, this makes Meteor apps responsive and engaging.
2) The Benefits
First, writing a new app in Meteor is incredibly fast. Once you have a front-end prototype, it takes very little time to add in reactive elements and the server backend. Additionally, since Meteor handles builds, communication between the client and the server, and even deployment, you can go from prototype to production-ready app in a matter of hours, not days. It is hard to emphasize just how fast it is – you really have to try out the tutorial and see it for yourself.
Second, Meteor is extensible. Meteor has a package repository specifically for it – Atmosphere. Here, you can find pre-built packages for most of your favorite JavaScript libraries, and adding them to your app is as simple as running a single command. Not only that, but even the core framework packages can be switched out; for example, there is now official support for Angular and React frontends in addition to Meteor’s Blaze UI framework. And with its integration with Apache Cordova/PhoneGap, you can quickly turn your web app into a cross-platform mobile app.
Third, Meteor is stable. Now on version 1.2, they have passed out of the bleeding edge stage. And with the release of Galaxy last year, an infrastructure service built specifically for Meteor, they are now able to provide an app environment which takes you all the way from development to production.
3) The Drawbacks
First, writing a Meteor app still requires code. If you have pre-existing services and are simply looking to expose that data to the web/mobile, there are drag and drop-based interfaces which allow you to build apps with no coding at all (ex. SkyGiraffe, Mendix, Kony, etc.). You should only go with Meteor or any custom app if you have specific needs which require a custom application.
Second, support for relational databases is limited. There is prototype support for Postgres, but MongoDB is the only officially supported database.
Third, while there is mobile support through PhoneGap integration, the burden still lies on the development team to design the app with a responsive, mobile-first UI. If your UI/UX team does not have experience designing for mobile, this will need to be addressed first.
4) Summary
Meteor is a mature, growing, and extensible JavaScript app platform which enables rapid app development. I highly recommend it for any new app development.