Contenu connexe


The best way to create and deploy web apps with full-stack type safety - MeteorJS

  1. The best way to create and deploy web apps with full-stack type safety October 13, 2022
  2. When it was launched? MeteorJS 0.3.2 was released in 2012 by MDG (Meteor Development Group). Today is maintained by Meteor Software, a company owned by Tiny. The current MeteorJS version is 2.7.3 and we are about to release 2.8.
  3. An open source framework for seamlessly building and deploying Web, Mobile, and Desktop applications in Javascript/TypeScript. Meteor Software The only full service Cloud Solution engineered for MeteorJS apps. Scale your apps confidently with minimal DevOps. MeteorJS Meteor Cloud
  4. Companies using MeteorJS Rocket Chat And many others…
  5. 14.054+ 43.100+ GitHub Stars Atmosphere Packages 508.000+ Unique installs
  6. Who are we? Meteor Software CEO Software Developer since 2008. Brazilian, lived in Ireland, Portugal and today a Digital Nomad. @fredmaiaarantes Frederico Maia (Fred) Software Dev at Meteor Software Know in twitter for making TypeScript magic also loves (Compilers & Type systems) @gab_grubba Gabriel Grubba
  7. How MeteorJS works?
  8. Server Client Client-side JavaScript Server-side JavaScript HTTP JSON Request JSON Response Traditional Web Apps GET (URL) / POST (Body)
  9. Server Client Client-side JavaScript Server-side JavaScript DDP EJSON Persistent connection MeteorJS Apps EJSON RPC Methods
  10. Evolved RPC Methods ● Works with both JavaScript and TypeScript ● Integrated to Zod for schema validation ● Provides functions for building E2E type-safe RPCs: ○ createMethod() ○ createPublication() ● For semantics you can use: ○ createMutation() ○ createQuery() ● Hooks to add custom logic to your methods and publications: ○ onBeforeResolve ○ onAfterResolve ○ onErrorResolve ● Provide safe methods by not bundling them in the client
  11. Show me the code
  12. What's next for RPC Methods? ● Babel? or Compilers? ● Modules? ● Maybe core? ● Being multi-schema ( Simpl-Schema, Yup and others)
  13. Why MeteorJS? ● Pioneering, solid, and reliable framework with 10 years of existence ● Easily connect the backend and frontend with RPC ● Built-in Accounts / authentication package ● Isomorphic code with Optimistic UI ● Choose your preferred front-end framework (React, Blaze, Svelte, VueJS…) ● Build Web, Mobile, Desktop apps with the same code ● Develop apps with real-time features like chats and collaborative apps ● Persist data in MongoDB with minimal configuration ● Integrated with JavaScript/TypeScript ecosystem ● Deploy using the CLI or directly from your repository with Meteor Cloud
  14. Galaxy Meteor APM MeteorJS Deployment
  15. Why Meteor Cloud? ● Only cloud service created especially for MeteorJS projects ● Free plan with MongoDB to test and develop your app ● Deploy apps using the CLI with one command line ● Deploy directly from your GitHub repository with Push to Deploy ● Free and automated SSL certificate with Let's Encrypt ● SEO optimization with Prerender ● Unlimited containers are just a click away ● Unlimited custom domains ● Autoscale your app based on custom conditions (triggers) ● Access to Meteor APM for monitoring ● Galaxy API access and more
  16. Start using MeteorJS today!
  17. Starting with MeteorJS Install NodeJS@14, install MeteorJS and create your first app: ● npm install -g meteor ● meteor create appName ● meteor Deploy your app for free on Meteor Cloud: ● Create an account on ● meteor deploy --free --mongo
  19. Questions?
  20. Survey
  21. Thank you!

Notes de l'éditeur

  1. Fred & Gab
  2. Fred
  3. Fred
  4. Fred
  5. Gab
  6. Gab Antes de falar dele, vamos ver sobre apps tradicionais
  7. Gab 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
  8. Gab 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.
  9. Gab
  10. Gab
  11. Gab
  12. Gab
  13. Fred
  14. Fred
  15. Fred
  16. Fred
  17. Gab
  18. Gab
  19. Fred