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

Backend, Simplified - A sane look on the mobile backend world, Nir Orpaz, MobileXperts

Embed Size (px)

Citation preview

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!