SlideShare uma empresa Scribd logo
1 de 70
Baixar para ler offline
BAAS
Como isso pode ajudar a vida de um desenvolvedor
Quem somos?
Jonas Tomaz
Desenvolvedor iOS desde 2011
Trabalhei em 10+ projetos iOS
Trabalhando na:
então …
BAAS
O que é isso ?
Um jeito mais fácil para um
desenvolvedor configurar, usar e
operar um backend na cloud para uma
app mobile ou web.
Um backend é complexo
Um backend é complexo
Um backend é complexo
Um backend é complexo
Um backend é complexo
Um backend é complexo
Um backend é complexo
Um backend é complexo
Um backend é complexo
Um backend é complexo
Um backend é complexo
Um backend é complexo
Existem muitas empresas que oferecem esse serviço:
Existem muitas empresas que oferecem esse serviço:
Open Source
Helios
LiveOak
Que serviços são comumente oferecidos ?
Gerenciamento de usuários
Gerenciamento de usuários Armazenamento de dados
Gerenciamento de usuários Armazenamento de dados
Customizável
Gerenciamento de usuários Armazenamento de dados
Customizável API
Gerenciamento de usuários Armazenamento de dados
Customizável API Disponibilidade
Gerenciamento de usuários Armazenamento de dados
Customizável API
Comunicação
Disponibilidade
Gerenciamento de usuários Armazenamento de dados
Customizável API
Comunicação Social
Disponibilidade
E quanto custa isso?
Depende…
De graça
Paga por mês
Paga por quantidade de uso
Licenciamento
Como podemos usar esses serviços ?
ou
SDK
API
var gameScore = PFObject(className:"GameScore")
gameScore["score"] = 1337
gameScore["playerName"] = "Sean Plott"
gameScore["cheatMode"] = false
gameScore.saveInBackground()
Swift
var GameScore = Parse.Object.extend("GameScore");
var query = new Parse.Query(GameScore);
query.equalTo("playerName", "Dan Stemkoski");
query.find({
success: function(results) {
alert("Successfully retrieved " + results.length + " scores.");
// Do something with the returned Parse.Object values
for (var i = 0; i < results.length; i++) {
var object = results[i];
alert(object.id + ' - ' + object.get('playerName'));
}
},
error: function(error) {
alert("Error: " + error.code + " " + error.message);
}
});
JavaScript
ParseQuery<ParseObject> teamQuery =
ParseQuery.getQuery("Team");
teamQuery.whereGreaterThan("winPct", 0.5);
ParseQuery<ParseUser> userQuery = ParseUser.getQuery();
userQuery.whereMatchesKeyInQuery("hometown", "city", teamQuery);
userQuery.findInBackground(new FindCallback<ParseUser>() {
  void done(List<ParseUser> results, ParseException e) {
  }
});
Android
Parse.Cloud.define("averageStars", function(request, response) {
  var query = new Parse.Query("Review");
  query.equalTo("movie", request.params.movie);
  query.find({
    success: function(results) {
      var sum = 0;
      for (var i = 0; i < results.length; ++i) {
        sum += results[i].get("stars");
      }
      response.success(sum / results.length);
    },
    error: function() {
      response.error("movie lookup failed");
    }});
});
CloudCode
Cenários:
Primeiro cenário:
Segundo cenário:
Terceiro cenário:
Pontos negativos
Lock in
Detalhes de Implementação
Dietzler’s Law
&
Deva’s Law
Acesso a sistemas internos e integrações com
outros sistemas da sua empresa
Futuro de BAAS
Camadas de negócios
construidas em cima de
Backend as a Services
Cross-Platform?
Qual é o significado dessa
mudança de paradigma?
Perguntas ?
Jonas Tomaz
@Jonas_Tomaz
/jonas.tomaz
jonas.tomaz
@ .com.br

Mais conteúdo relacionado

Semelhante a Backend

QConSP 2012: Sencha Touch 2: Mobile Multiplataforma
QConSP 2012: Sencha Touch 2: Mobile MultiplataformaQConSP 2012: Sencha Touch 2: Mobile Multiplataforma
QConSP 2012: Sencha Touch 2: Mobile MultiplataformaLoiane Groner
 
Chrome Apps e NodeWebkit: traga seu webapp para o Desktop - #outubrorosa
Chrome Apps e NodeWebkit: traga seu webapp para o Desktop - #outubrorosaChrome Apps e NodeWebkit: traga seu webapp para o Desktop - #outubrorosa
Chrome Apps e NodeWebkit: traga seu webapp para o Desktop - #outubrorosaJoselito Nascimento
 
Desenvolvimento de Aplicativos para a Plataforma Android
Desenvolvimento de Aplicativos para a Plataforma AndroidDesenvolvimento de Aplicativos para a Plataforma Android
Desenvolvimento de Aplicativos para a Plataforma AndroidJosé Alexandre Macedo
 
Desenvolvimento de Aplicações para o Google App Engine (CPBR5)
Desenvolvimento de Aplicações para o Google App Engine (CPBR5)Desenvolvimento de Aplicações para o Google App Engine (CPBR5)
Desenvolvimento de Aplicações para o Google App Engine (CPBR5)Carlos Duarte do Nascimento
 
Desenvolvimento de aplicações para o Google App Engine
Desenvolvimento de aplicações para o Google App EngineDesenvolvimento de aplicações para o Google App Engine
Desenvolvimento de aplicações para o Google App EngineCampus Party Brasil
 
Introdução ao Titanium Mobile
Introdução ao Titanium MobileIntrodução ao Titanium Mobile
Introdução ao Titanium MobileEric Cavalcanti
 
PyData - Consumindo e publicando web APIs com Python
PyData - Consumindo e publicando web APIs com PythonPyData - Consumindo e publicando web APIs com Python
PyData - Consumindo e publicando web APIs com PythonBruno Rocha
 
Android com Firebase
Android com FirebaseAndroid com Firebase
Android com FirebaseRoberto Lopes
 
Aprenda a usar os recursos “câmera” do android, criando um app de forma prática
Aprenda a usar os recursos “câmera” do android, criando um app de forma práticaAprenda a usar os recursos “câmera” do android, criando um app de forma prática
Aprenda a usar os recursos “câmera” do android, criando um app de forma práticaJosué Rockefeller
 
Aprenda a usar os recursos “câmera” do android, criando um app de forma prática
Aprenda a usar os recursos “câmera” do android, criando um app de forma práticaAprenda a usar os recursos “câmera” do android, criando um app de forma prática
Aprenda a usar os recursos “câmera” do android, criando um app de forma práticaJosué Rockefeller
 
Titanium Mobile - Campus Party Recife 2
Titanium Mobile - Campus Party Recife 2Titanium Mobile - Campus Party Recife 2
Titanium Mobile - Campus Party Recife 2Eric Cavalcanti
 
Desenvolvendo aplicações Adobe AIR para Android
Desenvolvendo aplicações Adobe AIR para AndroidDesenvolvendo aplicações Adobe AIR para Android
Desenvolvendo aplicações Adobe AIR para AndroidEric Cavalcanti
 
Modelando aplicação em documento - MongoDB
Modelando aplicação em documento - MongoDBModelando aplicação em documento - MongoDB
Modelando aplicação em documento - MongoDBThiago Avelino
 
TDC 2014 SP - E o DeltaSpike ?
TDC 2014 SP - E o DeltaSpike ?TDC 2014 SP - E o DeltaSpike ?
TDC 2014 SP - E o DeltaSpike ?Rafael Benevides
 

Semelhante a Backend (20)

PHP no Google AppEngine
PHP no Google AppEnginePHP no Google AppEngine
PHP no Google AppEngine
 
QConSP 2012: Sencha Touch 2: Mobile Multiplataforma
QConSP 2012: Sencha Touch 2: Mobile MultiplataformaQConSP 2012: Sencha Touch 2: Mobile Multiplataforma
QConSP 2012: Sencha Touch 2: Mobile Multiplataforma
 
Chrome Apps e NodeWebkit: traga seu webapp para o Desktop - #outubrorosa
Chrome Apps e NodeWebkit: traga seu webapp para o Desktop - #outubrorosaChrome Apps e NodeWebkit: traga seu webapp para o Desktop - #outubrorosa
Chrome Apps e NodeWebkit: traga seu webapp para o Desktop - #outubrorosa
 
Desenvolvimento de Aplicativos para a Plataforma Android
Desenvolvimento de Aplicativos para a Plataforma AndroidDesenvolvimento de Aplicativos para a Plataforma Android
Desenvolvimento de Aplicativos para a Plataforma Android
 
Phonegap
PhonegapPhonegap
Phonegap
 
Desenvolvimento de Aplicações para o Google App Engine (CPBR5)
Desenvolvimento de Aplicações para o Google App Engine (CPBR5)Desenvolvimento de Aplicações para o Google App Engine (CPBR5)
Desenvolvimento de Aplicações para o Google App Engine (CPBR5)
 
Desenvolvimento de aplicações para o Google App Engine
Desenvolvimento de aplicações para o Google App EngineDesenvolvimento de aplicações para o Google App Engine
Desenvolvimento de aplicações para o Google App Engine
 
Introdução ao Titanium Mobile
Introdução ao Titanium MobileIntrodução ao Titanium Mobile
Introdução ao Titanium Mobile
 
Android 2303
Android 2303Android 2303
Android 2303
 
PyData - Consumindo e publicando web APIs com Python
PyData - Consumindo e publicando web APIs com PythonPyData - Consumindo e publicando web APIs com Python
PyData - Consumindo e publicando web APIs com Python
 
Android com Firebase
Android com FirebaseAndroid com Firebase
Android com Firebase
 
Slides da palestra no Flex mania 2011
Slides da palestra no Flex mania 2011Slides da palestra no Flex mania 2011
Slides da palestra no Flex mania 2011
 
Aprenda a usar os recursos “câmera” do android, criando um app de forma prática
Aprenda a usar os recursos “câmera” do android, criando um app de forma práticaAprenda a usar os recursos “câmera” do android, criando um app de forma prática
Aprenda a usar os recursos “câmera” do android, criando um app de forma prática
 
Aprenda a usar os recursos “câmera” do android, criando um app de forma prática
Aprenda a usar os recursos “câmera” do android, criando um app de forma práticaAprenda a usar os recursos “câmera” do android, criando um app de forma prática
Aprenda a usar os recursos “câmera” do android, criando um app de forma prática
 
Titanium Mobile - Campus Party Recife 2
Titanium Mobile - Campus Party Recife 2Titanium Mobile - Campus Party Recife 2
Titanium Mobile - Campus Party Recife 2
 
Explorando a API Rest Jira Cloud
Explorando a API Rest Jira CloudExplorando a API Rest Jira Cloud
Explorando a API Rest Jira Cloud
 
Desenvolvendo aplicações Adobe AIR para Android
Desenvolvendo aplicações Adobe AIR para AndroidDesenvolvendo aplicações Adobe AIR para Android
Desenvolvendo aplicações Adobe AIR para Android
 
Modelando aplicação em documento - MongoDB
Modelando aplicação em documento - MongoDBModelando aplicação em documento - MongoDB
Modelando aplicação em documento - MongoDB
 
Palestra sobre o FirefoxOS
Palestra sobre o FirefoxOSPalestra sobre o FirefoxOS
Palestra sobre o FirefoxOS
 
TDC 2014 SP - E o DeltaSpike ?
TDC 2014 SP - E o DeltaSpike ?TDC 2014 SP - E o DeltaSpike ?
TDC 2014 SP - E o DeltaSpike ?
 

Backend