backend, simplified - a sane look on the mobile backend world, nir orpaz, mobilexperts

25
Backend, Simplified A sane look at the mobile backend world

Upload: droidcontlv

Post on 15-Aug-2015

100 views

Category:

Technology


1 download

TRANSCRIPT

Backend, SimplifiedA sane look at the mobile backend world

Server is Coming

Mobile Backend Roles• Statistics

• Users Management

• Configurations management

• Logging & Crash Report

• Push Notifications

• Scoring & other user information

Mobile Backend Roles• Statistics

• Users Management

• Configurations management

• Logging & Crash Report

• Push Notifications

• Scoring & other user information

Mobile Backend Roles• Statistics

• Users Management

• Configurations management

• Logging & Crash Report

• Push Notifications

• Scoring & other user information

Mobile Backend Roles• Statistics

• Users Management

• Configurations management

• Logging & Crash Report

• Push Notifications

• Scoring & other user information

Mobile Backend Roles• Statistics

• Users Management

• Configurations management

• Logging & Crash Report

• Push Notifications

• Scoring & other user information

Mobile Backend Roles• Statistics

• Users Management

• Configurations management

• Logging & Crash Report

• Push Notifications

• Scoring & other user information

4. Send push notifications

Push Server

APN or GCM (Google or Apple)

Our Push ServerThe Application

1. App re

gister fo

r push

2. App re

ceive to

ken

3. App sent the token to our server

DB

Store Token in DB

5. Got

push

Mobile Backend Roles• Statistics

• Users Management

• Configurations management

• Logging & Crash Report

• Push Notifications

• Scoring & other user information

3rd Party Solutions(MBaaS)

But, Can We Build Our Own Backend?

Yes we can!

Technology

• Node.js

• .Net (C#)

• PHP

• Java

• …..

• MySQL

• MS-SQL

• MongoDB

• Riak

• BigQuery

• …..

Infrastructure• AWS

• Google Cloud

• Microsoft Azure

• Heroku

• Modulus

• Google App Engine

} iaas

paas}

Let’s Build a Backend Together

We will use:

IDE:

What is Node.js?• Server-side Javascript

• Built on Google’s V8

• Include npm - Node Package Manager

• Written in C++

• Evented. Non blocking I/O

Non Blocking I/O?

var result = db.query(‘select * from t’);

db.query(‘select * from t’, function (result) { // do something with the result});

Node.js Introduction

var http = require(‘http');http.createServer(function (req, res) { res.writeHead(200, {'Content-Type': 'text/plain'}); res.end('Hello World\n');}).listen(1337, ‘127.0.0.1');console.log('Server running at http://127.0.0.1:1337/');

Target: Creating a logging server in less than 10 min

{ "userid": "1234", "screen": "main Screen", "log": "NetworkOnMainThreadException" }

DemoCoding, fun!