What Is Meteor?

Meteor is an open-source full-stack framework that offers access to thousands of libraries to help with web development. It's ideal for creating quick prototypes.

Published on Dec. 19, 2022
Image: Shutterstock / Built In
Image: Shutterstock / Built In
Brand Studio Logo

Meteor is an ideal framework for creating quick prototypes and building larger applications out of those prototypes. We use Meteor to build and deploy reactive web, mobile and desktop applications with JavaScript

Many medium-sized and enterprise e-companies use Meteor, including Dispatch, Honeywell and IKEA. Meteor is publicly available under the MIT license.

 

How Does Meteor Work?

Meteor is a full-stack framework. In practice, that means Meteor applications include client code, which runs in either a web browser or Cordova mobile app, server code inside a Node.js container, as well as a common code that runs on both client and server sides.

How to Get Started With Meteor

The first step to creating a Meteor application is installing Meteor. Currently OS X, Windows and Linux all support Meteor. Once installed, you can use the Meteor command-line interface (CLI) to create a new project and specify the front-end framework you want to use. All of the necessary files will be created automatically by the CLI. 

The file structure used by Meteor is simple: All client-side files are located in the client directory and all server-side files (Node.js) are located in the server directory. Entry points to both client and server apps are also created automatically by the CLI. The next step is to start coding your app.

More From Estefanía García GallardoHow to Use Docker Environment Variables in Docker Compose

 

What Are the Key Features of Meteor?

Meteor Integrations

Meteor integrates with all of the popular front-end frameworks out-of-the-box including Angular, React, Vue, Svelte and Blaze. 

As for databases, Meteor supports any database with a Node.js driver. However, MongoDB is definitely the most popular choice among Meteor developers. 

Are you a mobile developer? Meteor can be used to seamlessly create both iOS and Android apps since Apache Cordova is used to compile the code. Due to its increasing popularity, developers added React Native integration to Meteor. 

 

Meteor Resources

The Meteor team has built extensive, highly detailed documentation for developers, comprised of the following resources:

There are also several community resources available to Meteor developers. These include:

What Is Meteor? | Video: LevelUpTuts

 

Meteor Cloud

Meteor also offers cloud services to host, monitor and manage Meteor apps. Meteor Cloud boasts the following features:

  • Meteor specific hosting
  • Collaboration via organizations
  • Free deploy
  • One dashboard to rule them all: Access to Atmosphere, Meteor APM and Galaxy Hosting from one centralized dashboard. 

 

Advantages of Meteor

JavaScript Only

Meteor allows you to develop full-stack applications in one programming language: JavaScript. This means that you will be using the same language both in the client and server, which isn’t necessarily the norm.

 

Community Support

Meteor is backed by the community. It was developed as an open-source project and even though they’ve gone commercial with Meteor Cloud, Meteor still boasts a supportive open-source community. 

 

Cross-Platform Code

Meteor allows you to write cross-platform code. Meteor can generate mobile apps from the source code of your web application. You can also work from a single codebase with full Android, iOS and web support. 

 

Build Real-Time Applications

With Meteor, you can build real-time applications by default. Meteor offers a publication and subscription API which allows developers to publish data from the server’s database, and subscribe to it within the client so changes to the data are reflected in the client in real time. 

 

Security

Meteor has several built-in security measures including encryption, HTML escaping, secure browser storage and more.

 

Disadvantages of Meteor

Can Risk Inefficiency

Because Meteor has Node.js at its core, and JavaScript is less performant than other programming languages, applications that require heavy computational work will most likely be inefficient.

 

Performance Bottleneck

Real-time publications are an amazing feature that Meteor offers, built on top of MongoDB, but it’s also Meteor’s main performance bottleneck. Tracking real-time data results in a high performance cost, so it’s important to make sure that publications are used only when reactivity is strictly needed.

 

Tightly Coupled to MongoDB  

Meteor is tightly coupled to MongoDB. If you’d rather use a relational database instead of MongoDB, this will require making changes to your application and potentially losing some of Meteor’s out-of-the-box features, including authentication and real-time publications and subscriptions, unless you implement them yourself. 

More Programming Advice From Our Experts4 Ways to Solve FizzBuzz in Python

 

Meteor Examples

There are hundreds of applications built with Meteor. Here are some examples:

  • Chatra, a real-time chat application for customer support. 
  • Apify, a web scraping and automation platform. 
  • Last, but not least, my personal favorite: Any.run, the interactive malware hunting service.
Explore Job Matches.