SlideShare uma empresa Scribd logo
Rafael Sales
Real-Time Apps
With Meteor
WEB

DB

Presentation
CPU

HTTP
WEB

Cloud

DB

DB

Presentation
CPU

HTTP

Data
CPU

?

CPU
Client/
Server

WEB

Cloud

DB

DB

DB

Data
CPU

RPC,
NFS...

CPU

Presentation
CPU

HTTP

Data
CPU

?

CPU
Como seria esse
protocolo?
• APIs são assinaturas de conjuntos de dados
• Cache local dos dados no cliente
• Chamada de métodos ao servidor (RPC)
• Cliente pode simular métodos do servidor
modificando seu cache local de dados
Meteor é uma plataforma open-source
para criar aplicações web modernas
Real-time
Reactive programming
JavaScript
Real-time
Reactive programming
JavaScript
Só JavaScript
Cliente e servidor escritos em JavaScript
Mesma API disponível no cliente e servidor
Inclusive a API do Banco de Dados
// código compartilhado
if (Meteor.isServer) {
// código do servidor
}
if (Meteor.isClient) {
// código do cliente
}

Só JavaScript

Cliente e servidor escritos em JavaScript
Mesma API disponível no cliente e servidor
Inclusive a API do Banco de Dados
API do Banco de Dados no cliente?
API do Banco de Dados no cliente?

Messages = new
Meteor.Collection("messages");
 
Messages.insert({ text: "Hello world!" });
 
Messages.find();
Sincronização
de dados
O cliente faz assinatura de um conjunto de
dados que deseja manter-se atualizado
O servidor irá manter tais conjuntos
atualizados nos clientes
Sem mais...
function getLastMessages() {
$.get('/last-messages', callback);
}
E como faz?
/server/chat.js
Meteor.publish("messages-to-me", function
() {
return Messages.find({ to: myId });
});

/client/chat.js
Meteor.subscribe("messages-to-me");
Atualização da página
em tempo real
Partes atualizáveis são escritas com templates
automaticamente atualizados
quando o BD é alterado
Sem mais...
$.get('/messages',
function(responseBody) {
$('#messages').html(responseBody);
});

JavaScript haters
Sem mais...
$.get('/messages', function(messages) {
var list = $('ul');
list.empty();
$.each(messages, function(index, msg) {
var newItem = $('<li/>', { text: msg.text });
list.append(newItem);
});
});

JavaScript Lovers
E como faz?
/client/index.html
<template name="container">
<ul>
{{#each messages}}
<li> {{text}} </li>
{{/each}}
</ul>
</template>
/client/chat.js
Template.container.messages = function() {
  return Messages.find();
};
Compensação
de latência
Alterações de dados efetuadas no cliente refletem
a UI ao mesmo tempo que são enviadas ao servidor
Cópia dos dados dos clientes e o UI são corrigidos
caso o servidor rejeite as alterações
Sem mais...
$.post('/messages/create',
parameters,
function(newMsg) {
var li = $('<li/>', { text: newMsg.text });
$('ul').append(li);
});
Hot Code Pushes
=> alteração no código
=> build do JS
=> envia para cliente e atualiza
Pacote da aplicação
independente
Aplicação e suas dependências empacotadas
Executa em ambientes que suportam node.js
Interoperabilidade
DDP - Distributed Data Protocol
Smart Packages
Meteorite: package manager for Atmosphere
Injetam código no cliente e/ou servidor
É possível substituir pacotes padrão,
como o de templating (Handlebars.js)
Exemplo: Leaderboard
<template name="leaderboard">
  <div class="leaderboard">
    {{#each players}}
      {{> player}}
    {{/each}}
  </div>

H
TM

L

  {{#if selected_name}}
   <div class="details">
     <div class="name">{{selected_name}}</div>
     <input type="button" class="inc”
value="Give 5 points" />
   </div>
  {{else}}
  <div class="none">Click a player to select</div>
  {{/if}}
</template>
<template name="leaderboard">
  <div class="leaderboard">
    {{#each players}}
      {{> player}}
    {{/each}}
  </div>

H
TM

L

  {{#if selected_name}}
<template name="player">
<template name="player">
   <div class="details">
  <div class="player {{selected}}">
  <div class="player {{selected}}">
     <div class="name">{{selected_name}}</div>
    <span class="name">{{name}}</span>
    <span class="name">{{name}}</span>
    <span class="score">{{score}}</span>
     <input type="button" class="inc”
    <span class="score">{{score}}</span>
  </div>
  </div>
value="Give 5 points" />
</template>
</template>
   </div>
  {{else}}
  <div class="none">Click a player to select</div>
  {{/if}}
</template>
Players = new Meteor.Collection(“players");

JS

if (Meteor.isServer) {
  Meteor.startup(function () {
    if (Players.find().count() === 0) {
      var names = ["Ada Lovelace",
                   "Grace Hopper",
                   "Marie Curie",
                   "Carl Friedrich Gauss",
                   "Nikola Tesla",
                   "Claude Shannon"];
      for (var i = 0; i < names.length; i++)
        Players.insert({
name: names[i],
score: Random.floor(Random.fraction()*10)*5
});
}
  });
}
Players = new Meteor.Collection(“players");

JS

if (Meteor.isClient) {
  Template.leaderboard.players = function() {
    return Players.find({}, { sort: { score: -1, name: 1 }});
  };
  Template.leaderboard.selected_name = function() {
    player = Players.findOne(Session.get("selected_player"));
    return player && player.name;
  };
Template.leaderboard.events({
    'click input.inc': function() {
      Players.update(Session.get("selected_player"),
{ $inc: { score: 5 }});
    }
  });
  Template.player.events({
    'click': function() {
      Session.set("selected_player", this._id);
    }
  });
}
meteor.com
github.com/meteor/meteor
ra

elc
fa

ith
g

@g
ds

.co
ub

ai
m

/ra
m

Obrigado!

om
l.c

els
fa

es
al

Mais conteúdo relacionado

Mais procurados

Performance do ASP.NET Core, um comparativo com Node.js
Performance do ASP.NET Core, um comparativo com Node.jsPerformance do ASP.NET Core, um comparativo com Node.js
Performance do ASP.NET Core, um comparativo com Node.js
Waldyr Felix
 
Middlewares ASP.NET
Middlewares ASP.NETMiddlewares ASP.NET
Middlewares ASP.NET
Bruno Belarmino
 
ASP.NET 5, MVC 6 e além
ASP.NET 5, MVC 6 e alémASP.NET 5, MVC 6 e além
ASP.NET 5, MVC 6 e além
Fabrício Lopes Sanchez
 
Vitor Hugo Bastos Cardoso apresenta voando alto com WordPress: um guia prátic...
Vitor Hugo Bastos Cardoso apresenta voando alto com WordPress: um guia prátic...Vitor Hugo Bastos Cardoso apresenta voando alto com WordPress: um guia prátic...
Vitor Hugo Bastos Cardoso apresenta voando alto com WordPress: um guia prátic...
WordCamp Floripa
 
Dicas para migrar sua aplicação ASP.NET para ASP.NET Core 2.x
Dicas para migrar sua aplicação ASP.NET para ASP.NET Core 2.xDicas para migrar sua aplicação ASP.NET para ASP.NET Core 2.x
Dicas para migrar sua aplicação ASP.NET para ASP.NET Core 2.x
Rodrigo Kono
 
Novidades do ASP.NET 5.X
Novidades do ASP.NET 5.XNovidades do ASP.NET 5.X
Novidades do ASP.NET 5.X
Eduardo Pires
 
Sistema S2DG e Tecnologias Web
Sistema S2DG e Tecnologias WebSistema S2DG e Tecnologias Web
Sistema S2DG e Tecnologias Web
Elenilson Vieira
 
Asp.net web api
Asp.net web apiAsp.net web api
Asp.net web api
Waldyr Felix
 
Aplicações e serviços Web interoperáveis com o padrão Cross-Origin Resource S...
Aplicações e serviços Web interoperáveis com o padrão Cross-Origin Resource S...Aplicações e serviços Web interoperáveis com o padrão Cross-Origin Resource S...
Aplicações e serviços Web interoperáveis com o padrão Cross-Origin Resource S...
MVP ShowCast
 
.NET 6: O que há de novo e o que está por vir?
.NET 6: O que há de novo e o que está por vir?.NET 6: O que há de novo e o que está por vir?
.NET 6: O que há de novo e o que está por vir?
akamud
 
.NET Core + MongoDB + Selenium: extração de dados de páginas Web - Databases SP
.NET Core + MongoDB + Selenium: extração de dados de páginas Web - Databases SP.NET Core + MongoDB + Selenium: extração de dados de páginas Web - Databases SP
.NET Core + MongoDB + Selenium: extração de dados de páginas Web - Databases SP
Renato Groff
 
ASP.NET 5 - Novidades do Desenvolvimento Web em .NET (Agosto/2015)
ASP.NET 5 - Novidades do Desenvolvimento Web em .NET (Agosto/2015)ASP.NET 5 - Novidades do Desenvolvimento Web em .NET (Agosto/2015)
ASP.NET 5 - Novidades do Desenvolvimento Web em .NET (Agosto/2015)
Renato Groff
 
Introdução ao Nodejs
Introdução ao NodejsIntrodução ao Nodejs
Introdução ao Nodejs
Márcio Silvestroni
 
ASP.NET MVC
ASP.NET MVCASP.NET MVC
ASP.NET MVC
Aluisio Junior
 
Instalação CakePHP 2.2.3
Instalação CakePHP 2.2.3Instalação CakePHP 2.2.3
Instalação CakePHP 2.2.3
Maurício Barfknecht
 
ASP.NET Core 2.1 #dotnetconf
ASP.NET Core 2.1 #dotnetconfASP.NET Core 2.1 #dotnetconf
ASP.NET Core 2.1 #dotnetconf
Rodrigo Kono
 
Guia do F12: Chrome Developer Tools
Guia do F12: Chrome Developer ToolsGuia do F12: Chrome Developer Tools
Guia do F12: Chrome Developer Tools
Leonardo Tegon
 
Microservices com ASP.NET 5
Microservices com ASP.NET 5Microservices com ASP.NET 5
Microservices com ASP.NET 5
Waldyr Felix
 
Introdução aos Conceitos do WSO2 ESB
Introdução aos Conceitos do WSO2 ESBIntrodução aos Conceitos do WSO2 ESB
Introdução aos Conceitos do WSO2 ESB
Edgar Silva
 
ASP.NET vNext – MVC6
ASP.NET vNext – MVC6ASP.NET vNext – MVC6
ASP.NET vNext – MVC6
Mailson Queiroz
 

Mais procurados (20)

Performance do ASP.NET Core, um comparativo com Node.js
Performance do ASP.NET Core, um comparativo com Node.jsPerformance do ASP.NET Core, um comparativo com Node.js
Performance do ASP.NET Core, um comparativo com Node.js
 
Middlewares ASP.NET
Middlewares ASP.NETMiddlewares ASP.NET
Middlewares ASP.NET
 
ASP.NET 5, MVC 6 e além
ASP.NET 5, MVC 6 e alémASP.NET 5, MVC 6 e além
ASP.NET 5, MVC 6 e além
 
Vitor Hugo Bastos Cardoso apresenta voando alto com WordPress: um guia prátic...
Vitor Hugo Bastos Cardoso apresenta voando alto com WordPress: um guia prátic...Vitor Hugo Bastos Cardoso apresenta voando alto com WordPress: um guia prátic...
Vitor Hugo Bastos Cardoso apresenta voando alto com WordPress: um guia prátic...
 
Dicas para migrar sua aplicação ASP.NET para ASP.NET Core 2.x
Dicas para migrar sua aplicação ASP.NET para ASP.NET Core 2.xDicas para migrar sua aplicação ASP.NET para ASP.NET Core 2.x
Dicas para migrar sua aplicação ASP.NET para ASP.NET Core 2.x
 
Novidades do ASP.NET 5.X
Novidades do ASP.NET 5.XNovidades do ASP.NET 5.X
Novidades do ASP.NET 5.X
 
Sistema S2DG e Tecnologias Web
Sistema S2DG e Tecnologias WebSistema S2DG e Tecnologias Web
Sistema S2DG e Tecnologias Web
 
Asp.net web api
Asp.net web apiAsp.net web api
Asp.net web api
 
Aplicações e serviços Web interoperáveis com o padrão Cross-Origin Resource S...
Aplicações e serviços Web interoperáveis com o padrão Cross-Origin Resource S...Aplicações e serviços Web interoperáveis com o padrão Cross-Origin Resource S...
Aplicações e serviços Web interoperáveis com o padrão Cross-Origin Resource S...
 
.NET 6: O que há de novo e o que está por vir?
.NET 6: O que há de novo e o que está por vir?.NET 6: O que há de novo e o que está por vir?
.NET 6: O que há de novo e o que está por vir?
 
.NET Core + MongoDB + Selenium: extração de dados de páginas Web - Databases SP
.NET Core + MongoDB + Selenium: extração de dados de páginas Web - Databases SP.NET Core + MongoDB + Selenium: extração de dados de páginas Web - Databases SP
.NET Core + MongoDB + Selenium: extração de dados de páginas Web - Databases SP
 
ASP.NET 5 - Novidades do Desenvolvimento Web em .NET (Agosto/2015)
ASP.NET 5 - Novidades do Desenvolvimento Web em .NET (Agosto/2015)ASP.NET 5 - Novidades do Desenvolvimento Web em .NET (Agosto/2015)
ASP.NET 5 - Novidades do Desenvolvimento Web em .NET (Agosto/2015)
 
Introdução ao Nodejs
Introdução ao NodejsIntrodução ao Nodejs
Introdução ao Nodejs
 
ASP.NET MVC
ASP.NET MVCASP.NET MVC
ASP.NET MVC
 
Instalação CakePHP 2.2.3
Instalação CakePHP 2.2.3Instalação CakePHP 2.2.3
Instalação CakePHP 2.2.3
 
ASP.NET Core 2.1 #dotnetconf
ASP.NET Core 2.1 #dotnetconfASP.NET Core 2.1 #dotnetconf
ASP.NET Core 2.1 #dotnetconf
 
Guia do F12: Chrome Developer Tools
Guia do F12: Chrome Developer ToolsGuia do F12: Chrome Developer Tools
Guia do F12: Chrome Developer Tools
 
Microservices com ASP.NET 5
Microservices com ASP.NET 5Microservices com ASP.NET 5
Microservices com ASP.NET 5
 
Introdução aos Conceitos do WSO2 ESB
Introdução aos Conceitos do WSO2 ESBIntrodução aos Conceitos do WSO2 ESB
Introdução aos Conceitos do WSO2 ESB
 
ASP.NET vNext – MVC6
ASP.NET vNext – MVC6ASP.NET vNext – MVC6
ASP.NET vNext – MVC6
 

Destaque

Produção colaborativa de conteúdos em sistemas wiki
Produção colaborativa de conteúdos em sistemas wikiProdução colaborativa de conteúdos em sistemas wiki
Produção colaborativa de conteúdos em sistemas wiki
Carlos d'Andréa
 
SimulaRSO - Simulador de Recursos de Sistemas Operacionais
SimulaRSO - Simulador de Recursos de Sistemas OperacionaisSimulaRSO - Simulador de Recursos de Sistemas Operacionais
SimulaRSO - Simulador de Recursos de Sistemas Operacionais
Caio Ribeiro Pereira
 
Certificação Red Hat
Certificação Red HatCertificação Red Hat
Certificação Red Hat
Red Hat
 
Boas práticas de API Design
Boas práticas de API DesignBoas práticas de API Design
Boas práticas de API Design
Caio Ribeiro Pereira
 
Wiki-wiki S/A
Wiki-wiki S/AWiki-wiki S/A
Wiki-wiki S/A
Luciano Ramalho
 
Iteráveis e geradores (versão RuPy)
Iteráveis e geradores (versão RuPy)Iteráveis e geradores (versão RuPy)
Iteráveis e geradores (versão RuPy)
Luciano Ramalho
 
Meteor ddp
Meteor ddpMeteor ddp
Meteor ddp
Kyungryul KIM
 
Introdução a linguagem Python
Introdução a linguagem PythonIntrodução a linguagem Python
Introdução a linguagem Python
Luciano Ramalho
 
Meteor um overview sobre a plataforma
Meteor   um overview sobre a plataformaMeteor   um overview sobre a plataforma
Meteor um overview sobre a plataforma
Caio Ribeiro Pereira
 
JavaScript Hacks
JavaScript HacksJavaScript Hacks
JavaScript Hacks
Caio Ribeiro Pereira
 
Realtime com node.js e socket.io
Realtime com node.js e socket.ioRealtime com node.js e socket.io
Realtime com node.js e socket.io
Caio Ribeiro Pereira
 
Node js
Node jsNode js
Javascript nos dias de hoje
Javascript nos dias de hojeJavascript nos dias de hoje
Javascript nos dias de hoje
Caio Ribeiro Pereira
 
Node js - Javascript Server Side
Node js - Javascript Server SideNode js - Javascript Server Side
Node js - Javascript Server Side
Gustavo Corrêa Alves
 
Conhecendo mundo Node.js
Conhecendo mundo Node.jsConhecendo mundo Node.js
Conhecendo mundo Node.js
Caio Ribeiro Pereira
 
Defesa da tese de doutorado
Defesa da tese de doutoradoDefesa da tese de doutorado
Defesa da tese de doutorado
Carlos d'Andréa
 

Destaque (16)

Produção colaborativa de conteúdos em sistemas wiki
Produção colaborativa de conteúdos em sistemas wikiProdução colaborativa de conteúdos em sistemas wiki
Produção colaborativa de conteúdos em sistemas wiki
 
SimulaRSO - Simulador de Recursos de Sistemas Operacionais
SimulaRSO - Simulador de Recursos de Sistemas OperacionaisSimulaRSO - Simulador de Recursos de Sistemas Operacionais
SimulaRSO - Simulador de Recursos de Sistemas Operacionais
 
Certificação Red Hat
Certificação Red HatCertificação Red Hat
Certificação Red Hat
 
Boas práticas de API Design
Boas práticas de API DesignBoas práticas de API Design
Boas práticas de API Design
 
Wiki-wiki S/A
Wiki-wiki S/AWiki-wiki S/A
Wiki-wiki S/A
 
Iteráveis e geradores (versão RuPy)
Iteráveis e geradores (versão RuPy)Iteráveis e geradores (versão RuPy)
Iteráveis e geradores (versão RuPy)
 
Meteor ddp
Meteor ddpMeteor ddp
Meteor ddp
 
Introdução a linguagem Python
Introdução a linguagem PythonIntrodução a linguagem Python
Introdução a linguagem Python
 
Meteor um overview sobre a plataforma
Meteor   um overview sobre a plataformaMeteor   um overview sobre a plataforma
Meteor um overview sobre a plataforma
 
JavaScript Hacks
JavaScript HacksJavaScript Hacks
JavaScript Hacks
 
Realtime com node.js e socket.io
Realtime com node.js e socket.ioRealtime com node.js e socket.io
Realtime com node.js e socket.io
 
Node js
Node jsNode js
Node js
 
Javascript nos dias de hoje
Javascript nos dias de hojeJavascript nos dias de hoje
Javascript nos dias de hoje
 
Node js - Javascript Server Side
Node js - Javascript Server SideNode js - Javascript Server Side
Node js - Javascript Server Side
 
Conhecendo mundo Node.js
Conhecendo mundo Node.jsConhecendo mundo Node.js
Conhecendo mundo Node.js
 
Defesa da tese de doutorado
Defesa da tese de doutoradoDefesa da tese de doutorado
Defesa da tese de doutorado
 

Semelhante a Aplicações de tempo real com Meteor.js

Precisamos falar sobre MERN stack
Precisamos falar sobre MERN stackPrecisamos falar sobre MERN stack
Precisamos falar sobre MERN stack
Sidney Roberto
 
Introdução ao ASP.NET 3.5 - Campus Party Brasil 2009
Introdução ao ASP.NET 3.5 - Campus Party Brasil 2009Introdução ao ASP.NET 3.5 - Campus Party Brasil 2009
Introdução ao ASP.NET 3.5 - Campus Party Brasil 2009
Ramon Durães
 
Criando APIs com Node e TypeScript
Criando APIs com Node e TypeScriptCriando APIs com Node e TypeScript
Criando APIs com Node e TypeScript
Andre Baltieri
 
Workshop Ruby on Rails dia 2 ruby-pt
Workshop Ruby on Rails dia 2  ruby-ptWorkshop Ruby on Rails dia 2  ruby-pt
Workshop Ruby on Rails dia 2 ruby-pt
Pedro Sousa
 
Introdução Ruby 1.8.7 + Rails 3
Introdução Ruby 1.8.7 + Rails 3Introdução Ruby 1.8.7 + Rails 3
Introdução Ruby 1.8.7 + Rails 3
Régis Eduardo Weizenmann Gregol
 
Oficial
OficialOficial
Laraconf 2016: Construindo e mantendo aplicações multi-tenant (multi-cliente)
Laraconf 2016: Construindo e mantendo aplicações multi-tenant (multi-cliente)Laraconf 2016: Construindo e mantendo aplicações multi-tenant (multi-cliente)
Laraconf 2016: Construindo e mantendo aplicações multi-tenant (multi-cliente)
Aryel Tupinambá
 
Fundamentos de arquitetura Web
Fundamentos de arquitetura WebFundamentos de arquitetura Web
Fundamentos de arquitetura Web
Denis L Presciliano
 
Java 16 Jdbc
Java 16 JdbcJava 16 Jdbc
Java 16 Jdbc
Regis Magalhães
 
MongoDB + PHP
MongoDB + PHPMongoDB + PHP
MongoDB + PHP
Ari Stopassola Junior
 
Funcionalidades de Acesso a Dados no 'Mango'
Funcionalidades de Acesso a Dados no 'Mango'Funcionalidades de Acesso a Dados no 'Mango'
Funcionalidades de Acesso a Dados no 'Mango'
C. Augusto Proiete
 
Testando aplicações DataSnap
Testando aplicações DataSnapTestando aplicações DataSnap
Testando aplicações DataSnap
Andreano Lanusse
 
Web Sphere
Web SphereWeb Sphere
Web Sphere
Fabricio Carvalho
 
PHPMyadmin - Introdução
PHPMyadmin - IntroduçãoPHPMyadmin - Introdução
PHPMyadmin - Introdução
Marco Pinheiro
 
Tornando as coisas mais simples com Azure Functions e Node.JS
Tornando as coisas mais simples com Azure Functions e Node.JSTornando as coisas mais simples com Azure Functions e Node.JS
Tornando as coisas mais simples com Azure Functions e Node.JS
Matheus Donizete
 
Aplicações Realtime em Android | Fisl 15 | GuMobileRS
Aplicações Realtime em Android | Fisl 15 | GuMobileRSAplicações Realtime em Android | Fisl 15 | GuMobileRS
Aplicações Realtime em Android | Fisl 15 | GuMobileRS
Jackson F. de A. Mafra
 
Introdução ao AWS Database Migration Service
Introdução ao AWS Database Migration ServiceIntrodução ao AWS Database Migration Service
Introdução ao AWS Database Migration Service
Amazon Web Services LATAM
 
Win server 2008_r2_visao_geral
Win server 2008_r2_visao_geralWin server 2008_r2_visao_geral
Win server 2008_r2_visao_geral
Reginaldo Santos
 
12b windows server-2008_r2_overview-brz - julio
12b   windows server-2008_r2_overview-brz - julio12b   windows server-2008_r2_overview-brz - julio
12b windows server-2008_r2_overview-brz - julio
Prof Anderson Favaro
 
Apresentando o Windows Server 2008 R2
Apresentando o Windows Server 2008 R2Apresentando o Windows Server 2008 R2
Apresentando o Windows Server 2008 R2
Rodrigo Immaginario
 

Semelhante a Aplicações de tempo real com Meteor.js (20)

Precisamos falar sobre MERN stack
Precisamos falar sobre MERN stackPrecisamos falar sobre MERN stack
Precisamos falar sobre MERN stack
 
Introdução ao ASP.NET 3.5 - Campus Party Brasil 2009
Introdução ao ASP.NET 3.5 - Campus Party Brasil 2009Introdução ao ASP.NET 3.5 - Campus Party Brasil 2009
Introdução ao ASP.NET 3.5 - Campus Party Brasil 2009
 
Criando APIs com Node e TypeScript
Criando APIs com Node e TypeScriptCriando APIs com Node e TypeScript
Criando APIs com Node e TypeScript
 
Workshop Ruby on Rails dia 2 ruby-pt
Workshop Ruby on Rails dia 2  ruby-ptWorkshop Ruby on Rails dia 2  ruby-pt
Workshop Ruby on Rails dia 2 ruby-pt
 
Introdução Ruby 1.8.7 + Rails 3
Introdução Ruby 1.8.7 + Rails 3Introdução Ruby 1.8.7 + Rails 3
Introdução Ruby 1.8.7 + Rails 3
 
Oficial
OficialOficial
Oficial
 
Laraconf 2016: Construindo e mantendo aplicações multi-tenant (multi-cliente)
Laraconf 2016: Construindo e mantendo aplicações multi-tenant (multi-cliente)Laraconf 2016: Construindo e mantendo aplicações multi-tenant (multi-cliente)
Laraconf 2016: Construindo e mantendo aplicações multi-tenant (multi-cliente)
 
Fundamentos de arquitetura Web
Fundamentos de arquitetura WebFundamentos de arquitetura Web
Fundamentos de arquitetura Web
 
Java 16 Jdbc
Java 16 JdbcJava 16 Jdbc
Java 16 Jdbc
 
MongoDB + PHP
MongoDB + PHPMongoDB + PHP
MongoDB + PHP
 
Funcionalidades de Acesso a Dados no 'Mango'
Funcionalidades de Acesso a Dados no 'Mango'Funcionalidades de Acesso a Dados no 'Mango'
Funcionalidades de Acesso a Dados no 'Mango'
 
Testando aplicações DataSnap
Testando aplicações DataSnapTestando aplicações DataSnap
Testando aplicações DataSnap
 
Web Sphere
Web SphereWeb Sphere
Web Sphere
 
PHPMyadmin - Introdução
PHPMyadmin - IntroduçãoPHPMyadmin - Introdução
PHPMyadmin - Introdução
 
Tornando as coisas mais simples com Azure Functions e Node.JS
Tornando as coisas mais simples com Azure Functions e Node.JSTornando as coisas mais simples com Azure Functions e Node.JS
Tornando as coisas mais simples com Azure Functions e Node.JS
 
Aplicações Realtime em Android | Fisl 15 | GuMobileRS
Aplicações Realtime em Android | Fisl 15 | GuMobileRSAplicações Realtime em Android | Fisl 15 | GuMobileRS
Aplicações Realtime em Android | Fisl 15 | GuMobileRS
 
Introdução ao AWS Database Migration Service
Introdução ao AWS Database Migration ServiceIntrodução ao AWS Database Migration Service
Introdução ao AWS Database Migration Service
 
Win server 2008_r2_visao_geral
Win server 2008_r2_visao_geralWin server 2008_r2_visao_geral
Win server 2008_r2_visao_geral
 
12b windows server-2008_r2_overview-brz - julio
12b   windows server-2008_r2_overview-brz - julio12b   windows server-2008_r2_overview-brz - julio
12b windows server-2008_r2_overview-brz - julio
 
Apresentando o Windows Server 2008 R2
Apresentando o Windows Server 2008 R2Apresentando o Windows Server 2008 R2
Apresentando o Windows Server 2008 R2
 

Último

Certificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdfCertificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdf
joaovmp3
 
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdfEscola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Gabriel de Mattos Faustino
 
Segurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas PráticasSegurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas Práticas
Danilo Pinotti
 
História da Rádio- 1936-1970 século XIX .2.pptx
História da Rádio- 1936-1970 século XIX   .2.pptxHistória da Rádio- 1936-1970 século XIX   .2.pptx
História da Rádio- 1936-1970 século XIX .2.pptx
TomasSousa7
 
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
Faga1939
 
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdfTOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
Momento da Informática
 
Manual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdfManual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdf
WELITONNOGUEIRA3
 
Logica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptxLogica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptx
Momento da Informática
 

Último (8)

Certificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdfCertificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdf
 
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdfEscola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
 
Segurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas PráticasSegurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas Práticas
 
História da Rádio- 1936-1970 século XIX .2.pptx
História da Rádio- 1936-1970 século XIX   .2.pptxHistória da Rádio- 1936-1970 século XIX   .2.pptx
História da Rádio- 1936-1970 século XIX .2.pptx
 
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
 
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdfTOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
 
Manual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdfManual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdf
 
Logica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptxLogica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptx
 

Aplicações de tempo real com Meteor.js