Meteor é um framework full-stack de código aberto para construção de aplicações Web, Móveis e Desktop.
A principal característica do Meteor é usar a mesma linguagem no Backend e no Frontend, JavaScript (NodeJS). Devido à nova onda de frameworks frontend, os desenvolvedores precisam aprender mais de uma linguagem, além de todos os conceitos de engenharia de software. Então, usar a mesma linguagem em todo o projeto é uma benção.
Uma única linguagem no front e no back é ótimo, mas poder criar um aplicativo Web, Mobile e Desktop com a mesma base de código é incrível. Com o Meteor você pode economizar muito tempo, e dinheiro é claro.
Apesar de usar a mesma linguagem, cliente e servidor podem ser desacoplados. O Meteor possui um protocolo próprio de comunicação entre cliente e servidor, o DDP (Data Distribute Protocol). Ele proporciona a implementação de muitos benefícios aos desenvolvedores, como por exemplo a reatividade padrão de dados do banco de dados (MongoDB). O DDP funciona dentro de um WebSocket então você pode se conectar a ele usando qualquer linguagem que suporte WebSocket.
Uma variável importante para definir o quão útil um framework pode ser, é quantas e quão boas são suas ferramentas (libs). Que tal usar qualquer Pacote NPM? Sim, você pode importar qualquer pacote NPM para front ou backend. O poder disso é infinito.
Tenho trabalhado com muitas linguagens e frameworks ao longo da minha vida profissional. E uma das coisas que sempre odiei foi gastar horas ou dias para configurar meu ambiente de desenvolvimento. Não fazia sentido pra mim. O Meteor pode ser instalado no Windows, Linux e Mac usando apenas uma linha de comando do NPM (você precisa do NodeJS instalado, é claro, que também é simples de instalar). Após a instalação do Meteor, você só precisa iniciar seu aplicativo. Parei de ter medo de ter que trocar de computador (... gargalhando).
Para implantação você tem algumas opções a seguir:
- usar um host Meteor específico (Meteor Cloud/Galaxy, Scalingo, NodeChef);
- usar um host NodeJS;
- criar seu próprio servidor (NGinx, Apache, Docker, Meteor-Up, Passenger).
A primeira maneira tem muitas vantagens e é boa para iniciantes. Eles geralmente têm nível gratuito para testes.
A documentação é enorme e a comunidade é ativa. Existem tutoriais para cada tipo de tecnologia de front-end que você deseja testar. Isso mesmo, você pode usar tecnologias diferentes no frontend. Meteor suporta os frameworks frontend mais usados no mercado, como React, Vue, Svelte e Angular. Além do Blaze, que é um biblioteca super simples baseado em JQuery e Spacebars.
Se você ou sua equipe já conhecem JavaScript, começar com o Meteor é muito simples e os resultados são rápidos. Economize seu tempo!