tdc 2014 - ruby and mobile apps - ko!

45
Ruby and Mobile apps KO!!!

Upload: hanneli-tavante

Post on 11-Nov-2014

615 views

Category:

Technology


6 download

DESCRIPTION

TDC2014 Florianópolis - Trilha Ruby

TRANSCRIPT

Page 1: Tdc 2014 - Ruby and Mobile apps - KO!

Ruby and Mobile appsKO!!!

Page 2: Tdc 2014 - Ruby and Mobile apps - KO!

Hello!Hanneli (a.k.a. @hannelita)!

Software developer in Brazil!

Coffee and Pokémon <3!

Page 3: Tdc 2014 - Ruby and Mobile apps - KO!

What we will seeSoftware development - evolution!

Welcome to mobile world!!

Do we need backend?!

Ruby for mobile apps backend!

Helios environment!

Funny gifs (or not)

Page 4: Tdc 2014 - Ruby and Mobile apps - KO!

Programming

Page 5: Tdc 2014 - Ruby and Mobile apps - KO!

1990 -> 2000

Web

Page 6: Tdc 2014 - Ruby and Mobile apps - KO!

SKILL SET

PHP

Apache

MySQL

Page 7: Tdc 2014 - Ruby and Mobile apps - KO!

EASY!

Page 8: Tdc 2014 - Ruby and Mobile apps - KO!

JDBCHibernate 2

XMLJPA

Hibernate 3.1Annotations

JPA 2EclipseLink

Hibernate 4

ServletJSP

StrutsStruts 2VRaptor

JSF1JSF 2Richfaces

PrimefacesSeam

TomcatJetty

JBossGlassfish

WeblogicWebsphere

EJBWebservices

JMSJAX-RS

Eclipse

IntelliJ IDEANetbeans

Page 9: Tdc 2014 - Ruby and Mobile apps - KO!

Enterprise, huh?

Page 10: Tdc 2014 - Ruby and Mobile apps - KO!

A little MOAR

Oracle

NoSQLRubyRailsSinatra

Postgres

HTML

CSS

JS

jQuery

TDD vimRSpecMongo

CassandraNode.jsMeteor.js Backbone.js

Neo4jRedis

HerokuGit

Torquebox

Page 11: Tdc 2014 - Ruby and Mobile apps - KO!

F*** YEAH

Page 12: Tdc 2014 - Ruby and Mobile apps - KO!

Sou F...

Dig Din

Page 13: Tdc 2014 - Ruby and Mobile apps - KO!

2000 -> Nowadays

Mobile!

Page 14: Tdc 2014 - Ruby and Mobile apps - KO!

Your mobile

Bank account

Email

Personal Trainer

Clock

Photo gallery

Communication

Page 15: Tdc 2014 - Ruby and Mobile apps - KO!

The Apple

Page 16: Tdc 2014 - Ruby and Mobile apps - KO!

The Apple

Hey, sweet, do you have WhatsApp?

Page 17: Tdc 2014 - Ruby and Mobile apps - KO!

iPhone

Page 18: Tdc 2014 - Ruby and Mobile apps - KO!

iPhoneDoes Apple give

money?

DO SOME APPS THEN <3

Page 19: Tdc 2014 - Ruby and Mobile apps - KO!

iOS Development

Objective C

iOS

Xcode

SQLite

Foundation

C

C++

UIKit CoreGraphics

CoreServices

CoreLocation

ARC

Page 20: Tdc 2014 - Ruby and Mobile apps - KO!

iOS Development

Page 21: Tdc 2014 - Ruby and Mobile apps - KO!

iOS Development

[[[[ ]]]]

Page 22: Tdc 2014 - Ruby and Mobile apps - KO!

Life is too short to Objective C

Page 23: Tdc 2014 - Ruby and Mobile apps - KO!

Keep doing Ruby

Page 24: Tdc 2014 - Ruby and Mobile apps - KO!

BUT

The app is now popular

Page 25: Tdc 2014 - Ruby and Mobile apps - KO!

Wow

Client Server

Page 26: Tdc 2014 - Ruby and Mobile apps - KO!

OH NO!

Objective C backend!

Page 27: Tdc 2014 - Ruby and Mobile apps - KO!

SALVATION

Page 28: Tdc 2014 - Ruby and Mobile apps - KO!

Let’s RUBY!

What do you need for backend, sir?

Page 29: Tdc 2014 - Ruby and Mobile apps - KO!

Data Sync

011001

Page 30: Tdc 2014 - Ruby and Mobile apps - KO!

InApp Purchases

Page 31: Tdc 2014 - Ruby and Mobile apps - KO!

Push Notification

Page 32: Tdc 2014 - Ruby and Mobile apps - KO!

Let’s RUBY!

No need to do from zero!

Page 33: Tdc 2014 - Ruby and Mobile apps - KO!

Helios!

Keep lazy for backend!

Page 34: Tdc 2014 - Ruby and Mobile apps - KO!

Helios DefaultsHeroku app

gem install helios

helios new tdc

helios server

http://localhost:5000/admin

Page 35: Tdc 2014 - Ruby and Mobile apps - KO!

Checklist

Data Model Sync!

InApp Purchases!

Push Notifications

Page 36: Tdc 2014 - Ruby and Mobile apps - KO!

Rails - application.rb

config.middleware.use Helios::Application do! service :data, model: 'path/to/DataModel.xcdatamodel'! service :push_notification ! service :in_app_purchase!end!

Page 37: Tdc 2014 - Ruby and Mobile apps - KO!

Data model SyncREST model - from

CoreData

GET /talks

POST /talks

GET /talks/2

PUT /talks/2

DELETE /talks/2

Page 38: Tdc 2014 - Ruby and Mobile apps - KO!

Push Notifications

Orbiter framework Helios

!

!Rack PushNotification

Apple APNS

1. Register for PSN2. Receive

Token

3. App sends token

4. Notifies APNS when something happens

5. APNS Sends the

push

Page 39: Tdc 2014 - Ruby and Mobile apps - KO!

Open Source!

helios rack-push-notification

orbiter houston

AFNetworking

Page 40: Tdc 2014 - Ruby and Mobile apps - KO!

Do I need Backend?

What does your app do?!

Number of users?!

What are your goals?

Page 41: Tdc 2014 - Ruby and Mobile apps - KO!

Do I need Backend?

What does your app do?!

Number of users?!

What are your goals?

Page 42: Tdc 2014 - Ruby and Mobile apps - KO!

Other gems

apn_on_rails!

urbanairship!

push_core

Page 43: Tdc 2014 - Ruby and Mobile apps - KO!

“Jabá”

Rubymotion!

Ruby code ObjectiveC code

Page 44: Tdc 2014 - Ruby and Mobile apps - KO!

Helios

Page 45: Tdc 2014 - Ruby and Mobile apps - KO!

Thank you! Questions?

@[email protected]

ourdailycodes.com hannelita.com