I've been experimenting many frameworks in order to find the one that better fits our needs and just a few days ago the official integration for Meteor Cordova, came out and I immediately thought it would be a good fit for us.
Just like the smartphone allows us to perform multiple tasks with only one device when we used to require several (like a camera, an MP3 player, a computer and a phone), Meteor Cordova brings together a wider support of web technologies and native resources such as the camera or the accelerometer, all under the same code. Plus, you can do this and write the server side with the same language and API.
What is Meteor?
Pros of Meteor
- Uses the same language and API for both frontend and backend
- Live page update allows your templates to refresh automatically whenever the data changes
- Hot code pushes updates the app without disturbing the connected users (no downtime)
- Latency compensation immediately updates a page on user actions, no need to wait for the server
Cons of Meteor
- [The order in which files are loaded] (https://docs.meteor.com/#structuringyourapp) is a bit confusing. Files on the lib folder are loaded before than anything else; then the files on the sub-directories by alphabetical order; lastly any file that matches "main.*"
- [DDP] (https://www.meteor.com/blog/2012/03/21/introducing-ddp) (distributed data protocol) was created by Meteor and therefore is not a standard protocol
- All data is loaded to the client at the start which can make the first page load slower
What is Meteor good for?
Meteor is an entirely new concept, it can't be compared with any other frameworks. It's good for things that need real time synchronisation between clients like chat apps or collaborative documents. Check out telescope, it's open-source and a good place to see what a big Meteor app looks like and what can be done.
What is Cordova?
Pros of Cordova
- Ability to write apps for multiple platforms with one set of skills, without the need to learn different languages/SDKs
Cons of Cordova
- The supported features vary from platform to platform
What is Cordova good for?
Cordova is great for apps that are not CPU-bound and for prototyping, because with the same code base you can deploy to multiple platforms.
Why should I use Meteor Cordova?
Cordova integration with Meteor brings a very easy and focused way of writing applications.
You can write a Meteor app and then simply package it with Cordova and deploy it to any device.
Moreover you'll have native apps that are reactive, which means that all data will be synchronized between clients in real-time, so the amount of data transfered between client and server is also reduced to the minimum because Meteor only sends the information that changed.
If you are considering developing a mobile app, you should definitely give it a shot.
The advantages are numerous, documentation is really good and the Meteor team is continuously adding new features to it.
I used to develop native Android apps and so I didn't believe that web technologies could create quality apps. Meteor Cordova was probably the first framework that got me excited about, and if you haven't tried it yet it's about time to give it a go.