What is Meteor?
bullshit slogan, but in fact it very accurately reflects Meteor’s mission and current state. Just a few days ago, the Meteor API released its first stable version (1.0).
You can read the official information on the portal www.meteor.com I want to tell you about my favorite features.
- We write the logic in one language – the result works on all platforms: server, browser, cordova (Android, IOS). Of course, there are some peculiarities, but it’s just the little things in life. Apple and Google see great potential in cordov and are developing support for this technology: Apple allows hot code push in mobile apps ; New Chromium WebView now updates via Google Play and supports Web Components
- The project is run by smart and experienced developers who understand the value of a community that is built to a solid A. Monthly devshop events at headquarters in SF , support via stackoverflow , excellent and always up to date API description Separately, I would like to mention a grand event – Worldwide Meteor Day dedicated to the release of the first version. In Russia, by the way, the event is held in two cities: in Moscow and Kursk
- Convenient asynchronous server programming thanks to built-in Fibers 99% of the time when you work with Meteor, you write normal synchronous code, and it works asynchronously! How weird is that? Nothing strange: each call to a server method works in its Fiber and doesn’t affect other calls. This greatly simplifies the code structure: all calls to the database and other external resources are written in a synchronous style. Recently I was looking at a snippet of code from a well-written normal asynchronous node.js application and it brought tears to my eyes. If anyone isn’t familiar with Fibers yet – I highly recommend it!
- A nicely designed abstraction for working with data through collections. Collections present the same interface on server and client, allowing you to implement logic in the same style and even share code between server and client.
- An equally cool abstraction for calling server methods, which looks like calling an asynchronous function with a callback. Forget about server-side paths, xhr and complicated code structure! In Meteor, everything is done very simply.
- Handy application deplugging. Especially if you are just starting your project: one command from the console publishes your project on .meteor.com; after the deplocation, you can reconfigure it on your_domain.com. If the project has grown and needs to be ported to professional hosting, again, one command builds the project into an node.js application with only npm as a single dependency.
- All the routine optimizations (code minification, building into a single file) and recompilations (less -> css, coffeescript -> js, etc.) are done automatically and almost without customization (goodbye newborn gulp and ugly grunt). Some operations require a package to be installed, which is also achieved by entering a single console command.
- Protocol DDP designed to replace the REST API. It is a very simple but powerful protocol based on EJSON (extended JSON). DDP supports RPC and bidirectional data transfer (back and forth) and works on top of WebSockets and SockJS. It’s also easy to read, which you might need in case of particularly deep debugging. By the way, if you need REST API no one forbids using it. On the contrary, you can. approaches for all tastes You just don’t want to step back anymore.
- Best practices enforcement. Html, css, less and coffeescript must be valid (otherwise the project will not compile), a clear separation between templates (spacebars – heir to handlebars), css and js. A clear separation between server-side only, client-side only and shareable code. A package system with explicit dependencies (Meteor, npm, cordova), explicit API exports and complete package isolation – a dream for node.js programmers!
And a lot more goodies, implemented without any weird design decisions. The result is a tool that allows you to solve problems without being distracted by routine. If you are choosing a node.js framework for your upcoming project, do not hesitate to choose Meteor – your agony will cease and your hair will become soft and silky.
- Always up-to-date Meteor literature (constantly updated and updated): https://www.discovermeteor.com/
- Official Documents : https://docs.meteor.com/#/full/
- Official Tutorial : https://www.meteor.com/install
- Google Groups : https://groups.google.com/forum/#!forum/meteor-core , https://groups.google.com/forum/#!forum/meteor-talk
- Meteorhacks Blog: https://meteorhacks.com/
- Hardcore blog Eventedmind: https://www.eventedmind.com/
- A couple of my posts about Meteor: http://www.solidmeteor.com/
- A more complete list of resources to explore : https://hackpad.com/Top-Resources-for-learning-MeteorJS-Nrpnr6CHiGs
- A very complete list (couldn’t be more complete): https://github.com/ericdouglas/Meteor-Learning
For those who couldn’t stand it and skimmed to the end : Meteor is the coolest thing ever. For developers : start working with it now, because tomorrow Meteor developers will be in high demand. For business people : one Meteor developer will replace frontend, backend, IOS and Android developer; no, this is not a joke : examples of successful invested and even (some) sold projects : https://respond.ly/ , http://versoapp.com/#verso , http://www.classcraft.com/ , http://blonk.co/ , https://lookback.io/