2. Lançamento?
MeteorJS foi lançado em 2012 por uma
startup de São Francisco chamada
MDG (Meteor Development Group).
Hoje é mantido pela Meteor Software.
Eu conheço e programo usando
MeteorJS desde 2015. Em 2016 criei o
Meteor Meetup Goiânia e também um
treinamento de MeteorJS.
5. Framework full-stack, open
source e gratuito para
desenvolvimento de
aplicativos web, mobile e
desktop em JavaScript.
Meteor Software
Serviço completo criado
para deploy, gerenciamento
e monitoramento de apps
desenvolvidas com
MeteorJS.
MeteorJS Meteor Cloud
8. Quem sou eu? Desenvolvedor desde 2008
Goiano, morei na Irlanda, Portugal
e hoje sou nômade digital
CEO da Meteor Software
https://fredmaiaarantes.com
Frederico Maia
12. Demo: React + MeteorJS + MongoDB
Crie e rode o seu primeiro projeto:
● meteor create muraljoin
● cd muraljoin
● meteor run
Faça deploy do seu app no Meteor Cloud
● meteor deploy muraljoin.meteorapp.com --free --mongo
13. Por que usar MeteorJS?
● Framework pioneiro, sólido e confiável com 10 anos de existência;
● Conecte facilmente back-end e front-end com RPC;
● Biblioteca de login / autenticação pronta;
● Escolha seu framework de front preferido (React, Svelte, VueJS…);
● Construa com o mesmo código apps Web, Mobile, Desktop;
● Desenvolva apps com recursos de tempo real como chats e apps colaborativos;
● Persista dados no MongoDB sem precisar de configurações;
● Integrado com o ecossistema JavaScript/TypeScript;
● Deploy de apps usando a CLI ou direto do seu repositório com Meteor Cloud;
15. Por que usar Meteor Cloud?
● Único serviço criado especialmente para projetos MeteorJS;
● Plano free com servidor e MongoDB para testar e desenvolver seu app;
● Deploy de apps usando a CLI com uma linha de comando;
● Deploy direto do seu repositório do GitHub ao fazer push;
● Certificado SSL gratuito e automatizado com Let's Encrypt;
● Otimização de SEO com Prerender;
● Containers ilimitados a um clique de distância;
● Domínios customizados ilimitados;
● Elasticidade automática baseada em condições customizadas (triggers);
● Acesso ao APM para monitoramento;
● Acesso a API do Galaxy e muito mais;
17. Começando com MeteorJS
Instale o NodeJS@14, instale o MeteorJS e crie seu primeiro app:
● npm install -g meteor
● meteor create appName
● meteor run
Faça deploy do seu app no Meteor Cloud:
● Crie uma conta no Meteor Cloud
● meteor deploy appName.meteorapp.com --free --mongo
18. Como saber mais?
● Site e blog oficial
● Repositório no GitHub
● Fórum do MeteorJS
● Slack do MeteorJS
● Discord do MeteorJS
● Meteor Impact - Evento Anual
https://bit.ly/MeteorJSLinks
Meteor é mais um framework JS? Existem tantos outros. Alguém conhecia? Quando foi lançado?
Companies that uses MeteorJS
Como é mantido e como se sustenta?
Antes de falar dele, vamos ver sobre apps tradicionais
Esta é a forma que aplicações mais comuns funcionam.
Usam HTTP com Request e Response
GET mapeados para alguma URL para buscar dados
POST mapeado para alguma URL para enviar / salvar dados
Após uma requisição ser respondida a conexão é fechada
Códigos isolados, de Front-End e Back-End
REST é facilmente aplicável para modelar domínios e CRUDs
Mas você pode se perder em ações mais complexas
O servidor não pode enviar dados quando quiser / precisar
JSON trafega como um texto, é preciso converter números e datas por exemplo
Ir para o código
Esta é a forma como aplicações Meteor funcionam
Funções são expostas com Meteor Methods
Código isomórfico de Front-End e Back-End
Usam WebSockets com DDP (Protocolo próprio) e conexões persistentes
Informação pode trafegar dos dois lados
O servidor pode enviar dados quando quiser / precisar
EJSON trafega como um objeto, suporta datas, números e tipos customizados
DDP is a protocol between a client and a server that supports two operations:
Remote procedure calls by the client to the server (Methods).
The client subscribing to a set of documents, and the server keeping the client informed about the contents of those documents as they change over time (Publications and Subscriptions).
DDP messages are JSON objects, with some fields specified to be EJSON.
Chakra-UI é uma biblioteca de componentes visuais
Rodei o comando create e limpei alguns arquivos gerados
URL imagem: https://en.gravatar.com/userimage/17397042/c105d2016fb211aec0110cd9d678523e.jpg?size=200
RPC, em poucas palavras, é chamar uma função do Backend
Mencionar REST
Gab
Mention TypeScript and JEST
Mention
Meteor Accounts: that is super easy to use and very secure.
HMR to improve developer experience applying updates to the client without reloading the page while it is running.
RPC, em poucas palavras, é chamar uma função do Backend
Mencionar REST
Gab