Meteor: Criando aplicações web real-time com JavaScript
5/5
()
Sobre este e-book
Neste livro, venha desenvolver sua própria rede social do zero implementando funcionalidades que interagem em tempo real, além de também aprender a trabalhar com diversos componentes nativos do framework que visam agilizar a prototipagem da aplicação, utilizando o Meteor 1.1.x.
Também veremos como lidar tarefas do dia a dia como criação de templates com Handlebars; integração com a API do Facebook para autenticação e cadastro de usuários; utilização do banco de dados não-relacional MongoDB; e programação orientada a eventos, utilizando PubSub nativo do Meteor.
Leia mais títulos de Caio Ribeiro Pereira
Aplicações web real-time com Node.js Nota: 5 de 5 estrelas5/5Construindo APIs REST com Node.js: Caio Ribeiro Pereira Nota: 5 de 5 estrelas5/5
Relacionado a Meteor
Ebooks relacionados
Angular 11 e Firebase: Construindo uma aplicação integrada com a plataforma do Google Nota: 0 de 5 estrelas0 notasFront-end com Vue.js: Da teoria à prática sem complicações Nota: 5 de 5 estrelas5/5JSF Eficaz: As melhores práticas para o desenvolvedor web Java Nota: 0 de 5 estrelas0 notasVue.js: Construa aplicações incríveis Nota: 0 de 5 estrelas0 notasJavaScript Assertivo: Testes e qualidade de código em todas as camadas da aplicação Nota: 0 de 5 estrelas0 notasO retorno do cangaceiro JavaScript: De padrões a uma abordagem funcional Nota: 0 de 5 estrelas0 notasECMAScript 6: Entre de cabeça no futuro do JavaScript Nota: 5 de 5 estrelas5/5Design Patterns com PHP 7: Desenvolva com as melhores soluções Nota: 5 de 5 estrelas5/5Guia prático de TypeScript: Melhore suas aplicações JavaScript Nota: 0 de 5 estrelas0 notasDominando JavaScript com jQuery Nota: 1 de 5 estrelas1/5Coletânea Front-end: Uma antologia da comunidade front-end brasileira Nota: 0 de 5 estrelas0 notasReact Native: Desenvolvimento de aplicativos mobile com React Nota: 5 de 5 estrelas5/5Cangaceiro JavaScript: Uma aventura no sertão da programação Nota: 5 de 5 estrelas5/5Programação Funcional: Uma introdução em Clojure Nota: 4 de 5 estrelas4/5Aplicações Java para a web com JSF e JPA Nota: 0 de 5 estrelas0 notasProdutividade em C#: Obtenha mais resultado com menos esforço Nota: 0 de 5 estrelas0 notasMezzio e PHP 7: Uma união poderosa para criação de APIs Nota: 2 de 5 estrelas2/5Primeiros passos com Node.js Nota: 0 de 5 estrelas0 notasAplicações mobile híbridas com Cordova e PhoneGap Nota: 0 de 5 estrelas0 notasAzure: Coloque suas plataformas e serviços no cloud Nota: 0 de 5 estrelas0 notasOAuth 2.0: Proteja suas aplicações com o Spring Security OAuth2 Nota: 0 de 5 estrelas0 notasDesconstruindo a Web: As tecnologias por trás de uma requisição Nota: 0 de 5 estrelas0 notasRefatorando com padrões de projeto: Um guia em Java Nota: 0 de 5 estrelas0 notasZend Expressive e PHP 7: Uma união poderosa para a criação de APIs Nota: 0 de 5 estrelas0 notasArquitetura de software distribuído: Boas práticas para um mundo de microsserviços Nota: 0 de 5 estrelas0 notasVire o jogo com Spring Framework Nota: 0 de 5 estrelas0 notasDesenvolvimento web com ASP.NET MVC Nota: 0 de 5 estrelas0 notasPHP e Laravel: Crie aplicações web como um verdadeiro artesão Nota: 0 de 5 estrelas0 notasiReport: Crie relatórios práticos e elegantes Nota: 0 de 5 estrelas0 notasO guia de Dart: Fundamentos, prática, conceitos avançados e tudo mais Nota: 3 de 5 estrelas3/5
Programação para você
Orientação a Objetos em C#: Conceitos e implementações em .NET Nota: 5 de 5 estrelas5/5Python: Escreva seus primeiros programas Nota: 4 de 5 estrelas4/5Arduino: Guia para colocar suas ideias em prática Nota: 5 de 5 estrelas5/5Lógica de Programação: Crie seus primeiros programas usando Javascript e HTML Nota: 3 de 5 estrelas3/5O universo da programação: Um guia de carreira em desenvolvimento de software Nota: 5 de 5 estrelas5/5Guia prático de TypeScript: Melhore suas aplicações JavaScript Nota: 0 de 5 estrelas0 notasMySQL: Comece com o principal banco de dados open source do mercado Nota: 4 de 5 estrelas4/5HTML5 e CSS3: Domine a web do futuro Nota: 4 de 5 estrelas4/5Introdução a Data Science: Algoritmos de Machine Learning e métodos de análise Nota: 0 de 5 estrelas0 notasAprenda a programar com Python: Descomplicando o desenvolvimento de software Nota: 5 de 5 estrelas5/5Python e mercado financeiro: Programação para estudantes, investidores e analistas Nota: 5 de 5 estrelas5/5Introdução à programação em C: Os primeiros passos de um desenvolvedor Nota: 4 de 5 estrelas4/5Scrum 360: Um guia completo e prático de agilidade Nota: 5 de 5 estrelas5/5Machine Learning: Introdução à classificação Nota: 0 de 5 estrelas0 notasLógica de programação com Portugol: Mais de 80 exemplos, 55 exercícios com gabarito e vídeos complementares Nota: 0 de 5 estrelas0 notasKotlin com Android: Crie aplicativos de maneira fácil e divertida Nota: 4 de 5 estrelas4/5Desenvolvimento web com PHP e MySQL Nota: 3 de 5 estrelas3/5Cangaceiro JavaScript: Uma aventura no sertão da programação Nota: 5 de 5 estrelas5/5Business Intelligence: Implementar do jeito certo e a custo zero Nota: 4 de 5 estrelas4/5Desenvolvimento de Jogos em HTML5 Nota: 5 de 5 estrelas5/5Agile: Desenvolvimento de software com entregas frequentes e foco no valor de negócio Nota: 5 de 5 estrelas5/5HTML 5 - Embarque Imediato Nota: 0 de 5 estrelas0 notasTrilhas Python: Programação multiparadigma e desenvolvimento Web com Flask Nota: 4 de 5 estrelas4/5PostgreSQL: Banco de dados para aplicações web modernas Nota: 5 de 5 estrelas5/5Certificação Linux Essentials Nota: 4 de 5 estrelas4/5ECMAScript 6: Entre de cabeça no futuro do JavaScript Nota: 5 de 5 estrelas5/5Django de A a Z: Crie aplicações web rápidas, seguras e escaláveis com Python Nota: 0 de 5 estrelas0 notasArduino prático: 10 projetos para executar, aprender, modificar e dominar o mundo Nota: 3 de 5 estrelas3/5Desbravando Java e Orientação a Objetos: Um guia para o iniciante da linguagem Nota: 5 de 5 estrelas5/5Linux Essentials: um guia do sistema operacional Linux para iniciantes Nota: 0 de 5 estrelas0 notas
Avaliações de Meteor
2 avaliações0 avaliação
Pré-visualização do livro
Meteor - Caio Ribeiro Pereira
Agradecimentos
Obrigado, Deus, por mais uma conquista em minha vida! Obrigado pai e mãe pelo amor, força e incentivo em todas as etapas decisivas de minha vida. Obrigado por tudo e principalmente por estar ao meu lado em todos os momentos.
Agradeço à sra. Charlotte Bento de Carvalho, pelo apoio e incentivo nos meus estudos desde a escola até a minha formatura na faculdade.
Obrigado ao pessoal da editora Casa do Código, em especial ao Paulo Silveira e Adriano Almeida. Muito obrigado pelo suporte, apoio, pela confiança e por mais esta nova oportunidade.
Obrigado à galera da comunidade NodeBR e Meteor Brasil, Os feedbacks de vocês ajudaram muito a melhorar este livro e também meu livro anterior de Node.js.
Obrigado também aos leitores do blog meu Underground WebDev (http://udgwebdev.com) que acompanham e comentam os posts frequentemente.
Por último, obrigado a você, prezado leitor, por adquirir meu novo livro. Que este seja, uma boa referência de estudos sobre Meteor.
Sobre o autor
Caio Ribeiro PereiraFig. 0.1: Caio Ribeiro Pereira
Caio Ribeiro Pereira trabalha como Engenheiro de Software, bacharel em Sistemas de Informação pela Universidade Católica de Santos, sua experiência é baseada no domínio dessa sopa de letrinhas: Node.js, Meteor, JavaScript, Ruby, Java, Filosofia Lean, Scrum, XP e TDD.
Blogueiro nos tempos livres, apaixonado por desenvolvimento de software, web, tecnologias, filmes e seriados. Participante ativo das comunidades:
NodeBR: Comunidade Brasileira de Node.js
MeteorBrasil: Comunidade Brasileira de Meteor
DevInSantos: Grupo de Desenvolvedores de Software em Santos
Iniciou em 2011 como palestrante nos eventos DevInSantos, Santos.Frontend() e Exatec, abordando temas atuais sobre Node.js, JavaScript e Meteor.
Autor dos projetos:
Blog Underground WebDev - http://udgwebdev.com
DevFreeCasts - http://devfreecasts.org
DevFreeBooks - http://devfreebooks.org
DevGroups - http://devgroups.org
Node Web Modules - http://nodewebmodules.com
Prefácio
As mudanças do mundo web
Atualmente, o JavaScript já é uma opção real e aceitável no desenvolvimento server-side em muitos projetos. Isso traz como uma das vantagens a possibilidade de construir uma aplicação utilizando apenas uma única linguagem, tanto no cliente (através do clássico JavaScript compatível em todos os browsers) como no servidor (através do íncrivel e poderoso Node.js!).
Graças ao Node.js, diversos frameworks web surgiram — diferente das outras linguagens, existem mais de 30 frameworks web para Node.js! Não acredita? Então veja com seus próprios olhos essa lista de frameworks acessando o site:
http://nodewebmodules.com
Express e Meteor são os frameworks que mais se destacam, ambos são frameworks para Node.js com características únicas. O Express é considerado um framework minimalista, focado em criar projetos através de estruturas customizadas pelo desenvolvedor. Com ele é possível criar serviços REST, aplicações web tanto em padrão MVC (Model-View-Controller) como MVR (Model-View-Routes) ou totalmente sem padrão em um único arquivo, tudo vai depender das boas práticas aplicadas pelo desenvolvedor. Uma aplicação Express pode ser pequena ou de grande porte, tudo vai depender dos requisitos e, principalmente, de como vai organizar todos códigos nele, afinal com o Express você tem o poder de aplicar suas próprias convenções e organizações de código. Outro detalhe é que você utiliza seu próprio framework de persistência de dados, então todo controle fica em suas mãos.
A princípio, se você possui um bom conhecimento sobre o Express e os demais frameworks necessários para construir sua aplicação, então você terá velocidade suficiente para desenvolver uma aplicação de forma ágil. Mas e se existisse um framework Node.js, cujo foco é prototipar telas em extrema velocidade? Tudo isso utilizando componentes prontos que são facilmente customizáveis e com configurações complexas simplificadas alto nível para você utilizar (aplicando os princípios de convenção sobre configuração). No mundo Ruby, isso deu certo através do inovador framework Rails; agora temos uma inovação semelhante no mundo Node.js, essa inovação se chama Meteor.
A quem se destina este livro?
Esse livro é destinado aos desenvolvedores que tenham pelo menos conhecimentos básicos de Node.js, Javascript e arquitetura web cliente-servidor. Ter domínio desses conceitos, mesmo que a nível básico, será necessário para que a leitura seja de fácil entendimento.
Como devo estudar?
Este livro é praticamente um hands-on que visa ensinar os principais conceitos do Meteor através da construção de uma aplicação web do zero. Ao decorrer da leitura serão apresentados diversos conceitos e muito código para implementar no projeto, aplicar na prática os conceitos teóricos e aprender boas práticas e convenções desta tecnologia.
Você pode discutir sobre este livro no Fórum da Casa do Código: http://forum.casadocodigo.com.br/.
Capítulo 1:
Introdução
1.1 Conhecendo seu mundo
O Meteor é um framework web full-stack 100% JavaScript, ou seja, com ele você vai construir aplicações programando em todas as camadas: cliente, servidor e banco de dados, usando JavaScript, Node.js e MongoDB, tudo isso utilizando apenas uma única linguagem de programação, o JavaScript.
Outro detalhe importante é que o foco desse framework é a prototipagem rápida, fazendo com que trabalhos que levariam meses sejam realizados em semanas, ou até mesmo alguns dias. Isso é possível graças aos seus recursos que visam automatizar tarefas repetitivas, exibir respostas imediatas no browser, diversas convenções, vários componentes customizáveis prontos para uso e também as configurações complexas de baixo nível que estão simplificadas para o desenvolvedor. Por default, suas aplicações Meteor serão em formato single-page real-time, mas também é possível criar aplicações multi-page orientado a rotas. Este framework é considerado como um MVVM (Model-View View-Model), ou seja, não existe controllers ou routes por default, mas é customizá-lo com o propósito de adicionar controllers, routes e outros patterns através da inclusão packages third-party.
O Meteor é uma plataforma de desenvolvimento completa, sendo que o mecanismo principal responsável por toda magia back-end é o Node.js. Assim como o Node.js possui seu gerenciador de módulos — o NPM (Node Package Manager), o Meteor possui o seu próprio gerenciador de packages (sim, módulos e packages são a mesma coisa, ou seja, são frameworks), que se chama Atmosphere. Este permite usar projetos third-party criados pela comunidade, sem contar que também é possível utilizar a maioria — mas não todos — dos módulos NPM dentro de uma aplicação Meteor (algo que será explicado nos capítulos futuros). Isso pode evitar a invenção da roda
, porém tudo vai depender da compatibilidade de tal módulo Node no contexto do Meteor.
Trabalhar com Meteor é trabalhar com JavaScript, e isso faz com que muitos desenvolvedores tenham uma curva de aprendizado rápida, e em poucos dias de estudos você terá dominado os principais pontos e aspectos deste framework. Se você não conhece Node.js mas domina JavaScript, não tenha receio de ler esse livro, pois poucas coisas sobre Node.js serão abordadas aqui.
Este é um framework de muitos recursos, ou seja, constituído por um conjunto de frameworks do mundo Node.js e JavaScript. Algumas bibliotecas conhecidas que fazem parte dele são:
SockJS — framework emulador de WebSockets e responsável pelo funcionamento do protocolo DDP (Data Distribution Protocol).
MongoDB — banco de dados default.
Handlebars — template engine.
PubSub