This document provides an overview of MeteorJS, an open source framework for building full-stack web, mobile, and desktop applications using JavaScript/TypeScript. It discusses how MeteorJS works by maintaining persistent connections between the client and server for reactive data updates. The document also highlights companies using MeteorJS, key statistics about its community and adoption, and features of Meteor Cloud for deploying MeteorJS applications with automatic scaling and monitoring.
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...
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
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
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
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
17. 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
19. 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 https://cloud.meteor.com
● meteor deploy appName.meteorapp.com --free --mongo
Gab
Antes de falar dele, vamos ver sobre apps tradicionais
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
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.