70
BAAS Como isso pode ajudar a vida de um desenvolvedor

Backend

Embed Size (px)

Citation preview

BAASComo isso pode ajudar a vida de um desenvolvedor

Quem somos?

Jonas Tomaz

Desenvolvedor iOS desde 2011Trabalhei 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

HeliosLiveOak

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"] = 1337gameScore["playerName"] = "Sean Plott"gameScore["cheatMode"] = falsegameScore.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óciosconstruidas em cima de Backend as a Services

Cross-Platform?

Qual é o significado dessamudança de paradigma?

Perguntas ?

Jonas Tomaz@Jonas_Tomaz

/jonas.tomaz

jonas.tomaz

@ .com.br