- Periodic Table of Realtime
Copy link to clipboardHow 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.
Copy link to clipboardHow 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
Copy link to clipboardTechnical 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.
Copy link to clipboardMeteor Pros:
Integrated frontend library
Seamless data communication between client and server
Extensive development ecosystem
Copy link to clipboardMeteor Cons:
Copy link to clipboardRead more…
Java and WebSockets: Building dependable realtime apps
Learn how to build dependable realtime apps that scale with Java and WebSockets, and the challenges associated with this.
Building dependable realtime apps with WebSockets and .NET
Learn how to build dependable realtime apps that scale with WebSockets and .NET, and the challenges associated with this.
WebSockets and Android apps - client-side considerations
Learn about the many challenges of implementing a dependable client-side WebSocket solution for Android.