- Periodic Table of Realtime
How did Meteor come about?
In July 2012, the project had received $11.2 million in investment from Andreessen Horowitz. Meteor's project also raised an additional $20M in Series B funding from other big names in the startup world including Matrix Partners, Andreessen Horowitz, Peter Levine (former CEO of XenSource), Dustin Moskovitz (Facebook co-founder), and Rod Johnson (SpringSource founder). Meteor used the large amounts of venture capital received in its Series B funding round to acquire and integrate several startups including FathomDB (a cloud database startup), Galaxy (a cloud platform to run and manage meteor application), and Kadira (a performance monitoring solution) into its core product.
Today, Meteor is used by Accenture, Shelf, Rocket Chat, Digital Services, Deloitte, Nordstrom, Esri, and Medicus AI, among others.
How does Meteor work?
To better understand how Meteor works, you have to be familiar with the following important concepts:
Blaze: the Meteor's built-in reactive UI library. It's used to build live reactive templates, and one of its components is the templating language Spacebars.
Tracker: this component enables reactive programming. It provides the fundamentals of functional reactive programming (FRP) that reruns computations when data changes. The Tracker connects reactive data sources (such as data from the database) to the data consumer.
Distributed Data Protocol (DPP): the protocol used for passing data over WebSockets between server and client in both directions. It's a client-server protocol for querying and updating a server-side database, sending the result down to the client, and then propagating changes to the client each time there are changes in the database.
Livequery: the component that detects changes initiated by one client in the database and then pushes them out to all the clients currently viewing affected data.
Figure 1: Communication between the server and client
Technical Overview of Meteor
Meteor offers isomorphic APIs that support communication between frontend and backend to enable developers to handle both client-server management and server-session management. With Meteor, client-server data communication takes place automatically without the need to write any boilerplate code.
Meteor offers developers a combination of frontend and backend components (frameworks, libraries, configuration tools, database, and more) that might be required for the entire development lifecycle of an app. Meteor also features several built-in packages such as reactive templates, automatic CSS and JS minification on its production server, and hot code reload. It also integrates with Galaxy, a cloud platform for deploying, scaling, and monitoring client applications.
Meteor comes with a built-in package that takes care of pre-processing and custom user authentication for platforms such as Email, Facebook, Twitter, Google, and more. It also offers requisite packages for frameworks like Backbone.js, Bootstrap, and jQuery.
Integrated frontend library
Seamless data communication between client and server
Extensive development ecosystem
WebSockets and iOS: Client-side engineering challenges
Learn about the many challenges of implementing a dependable client-side WebSocket solution to provide iOS users with better and faster realtime experiences.
WebSockets and Mono: client-side engineering complexities
Learn about the many challenges of implementing a dependable client-side WebSocket solution for Mono.
WebSockets and tvOS apps: client-side engineering aspects you need to consider
Learn about the many challenges of implementing a dependable client-side WebSocket solution for tvOS.