Começando com meteor
Upcoming SlideShare
Loading in...5
×
 

Começando com meteor

on

  • 783 views

 

Statistics

Views

Total Views
783
Views on SlideShare
538
Embed Views
245

Actions

Likes
1
Downloads
7
Comments
0

3 Embeds 245

http://cirdes.com.br 222
http://localhost 22
http://digg.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Começando com meteor Começando com meteor Presentation Transcript

  • começando com Meteor por Flávio Junior - http://github.com/fjsj
  • O que é? Meteor é uma plataforma open-source para construção de web apps de qualidade top em uma fração do tempo, seja você um desenvolvedor expert ou apenas iniciante. traduzido de http://www.meteor.com/ Meteor é implementado sobre node.js e por padrão usa MongoDB como banco de dados e Handlebars como linguagem de template.
  • Como? 001 - Tudo em JavaScript 002 - Atualização em tempo real de páginas 003 - Sincronização de dados cliente-servidor 004 - Compensação de latência 005 - Code pushes 006 - Código sensível em ambiente seguro 007 - App auto-contido para deploy 008 - Interoperabilidade via protocolo DDP 009 - Smart packages traduzido de http://www.meteor.com/
  • 001 - Tudo em JavaScript Cliente e servidor usam JavaScript: Sintaxe de consultas com o banco de dados é praticamente idêntica a original do MongoDB. if (Meteor.isClient) { Template.leaderboard.players = function () { return Players.find({}, {sort: {score: -1, name: 1}}); }; } if (Meteor.isServer) { Players.insert({name: "Fulano", score: 10}); }
  • 002 - Atualização em tempo real de páginas "No more boilerplate redraw code": Templates reativos. Quando o valor mudar, ele será atualizado automaticamente. <template name="player"> <div class="player {{selected}}"> <span class="name">{{name}}</span> <span class="score">{{score}}</span> </div> </template> ------------------------------------------------------------------ Players.update("507f191e810c19729de860ea", {$inc: {score: 5}});
  • 002 - Atualização em tempo real de páginas Como ter reatividade no client-side apenas para o usuário atual? Use o módulo Session Template.player.events({ 'click': function () { Session.set("selected_player", this._id); } }); Template.player.selected = function () { return Session.equals("selected_player", this._id) ? "selected" : ''; };
  • 003 - Sincronização de dados cliente-servidor "No more loading your data from REST endpoints": Acesso "direto" ao banco de dados a partir do cliente. if (Meteor.isClient) { Template.leaderboard.players = function () { return Players.find({}, {sort: {score: -1, name: 1}}); }; }
  • 004 - Compensação de latência Quando o usuário faz uma ação, a tela se atualiza imediatamente. Se o servidor rejeitar a mudança, a tela do cliente é corrigida de acordo com o que aconteceu realmente.
  • 005 - Code pushes A melhor feature para desenvolver protótipos e para atualizar o webapp sem incomodar o usuário.
  • 006 - Código sensível em ambiente seguro Por questões de segurança, pode-se garantir que o código rodará e estará disponível apenas no servidor: // código em um diretório server/methods.js Meteor.methods({ fetchEvents: function (accessToken) { // ... } });
  • 007 - App auto-contido para deploy Com o comando meteor bundle você monta um pacote com a aplicação pronta para deploy. Se quiser hospedar nos servidores do próprio Meteor, você usa o comando meteor deploy nomedoapp.meteor.com
  • 008 - Interoperabilidade via protocolo DDP Distributed Data Protocol é o protocolo por trás da capacidade de reatividade e atualizações em tempo-real dos aplicativos Meteor. "DDP can work with any database, framework, or programming language, and it can work on servers, clients, and mobile devices. In fact, you can call Meteor.connect to connect to any DDP server -- such as a Meteor app written by someone else! -- and make realtime subscriptions to any data it's publishing."
  • 009 - Smart packages ● Você pode usar pacotes prontos que adicionam funcionalidades ao seu aplicativo Meteor. Exemplos de pacotes: underscore, d3, coffeescript. ● Pacotes são diferentes de módulos npm, mas você pode utilizá-los em seus pacotes Meteor. ● Também existe um repositório com pacotes open-source da comunidade Meteor. Se chama Atmosphere: https://atmosphere.meteor. com/
  • Exemplo Conferir o código do exemplo leaderboard http://www.meteor.com/examples/leaderboard
  • Dúvidas? http://github.com/fjsj flaviojuvenal+meteor@gmail.com