Rupy2013 - Ruby and Mobile apps - KO!

45
Ruby and Mobile apps KO!!!

description

Rupy 2013 talk

Transcript of Rupy2013 - Ruby and Mobile apps - KO!

Page 1: Rupy2013 - Ruby and Mobile apps - KO!

Ruby and Mobile appsKO!!!

Page 2: Rupy2013 - Ruby and Mobile apps - KO!

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

Software developer in Brazil!

Middleware Consultant at !

Coffee and Pokémon <3!

Yo no hablo español muy bien

Page 3: Rupy2013 - 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: Rupy2013 - Ruby and Mobile apps - KO!

Programming

Page 5: Rupy2013 - Ruby and Mobile apps - KO!

1990 -> 2000

Web

Page 6: Rupy2013 - Ruby and Mobile apps - KO!

SKILL SET

PHP

Apache

MySQL

Page 7: Rupy2013 - Ruby and Mobile apps - KO!

EASY!

Page 8: Rupy2013 - Ruby and Mobile apps - KO!
Page 9: Rupy2013 - 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 10: Rupy2013 - Ruby and Mobile apps - KO!

Enterprise, huh?

Page 11: Rupy2013 - 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 12: Rupy2013 - Ruby and Mobile apps - KO!

F*** YEAH

Page 13: Rupy2013 - Ruby and Mobile apps - KO!

Sou F...

Dig Din

Page 14: Rupy2013 - Ruby and Mobile apps - KO!

2000 -> Nowadays

Mobile!

Page 15: Rupy2013 - Ruby and Mobile apps - KO!

Your mobile

Bank account

Email

Personal Trainer

Clock

Photo gallery

Communication

Page 16: Rupy2013 - Ruby and Mobile apps - KO!

The Apple

Page 17: Rupy2013 - Ruby and Mobile apps - KO!

The Apple

Hey, sweet, do you have WhatsApp?

Page 18: Rupy2013 - Ruby and Mobile apps - KO!

iPhone

Page 19: Rupy2013 - Ruby and Mobile apps - KO!

iPhoneDoes Apple give

money?

DO SOME APPS THEN <3

Page 20: Rupy2013 - Ruby and Mobile apps - KO!

iOS Development

Objective C

iOS

Xcode

SQLite

Foundation

C

C++

UIKit CoreGraphics

CoreServices

CoreLocation

ARC

Page 21: Rupy2013 - Ruby and Mobile apps - KO!

iOS Development

Page 22: Rupy2013 - Ruby and Mobile apps - KO!

iOS Development

[[[[ ]]]]

Page 23: Rupy2013 - Ruby and Mobile apps - KO!

Life is too short to Objective C

Page 24: Rupy2013 - Ruby and Mobile apps - KO!

Keep doing Ruby

Page 25: Rupy2013 - Ruby and Mobile apps - KO!

BUT

The app is now popular

Page 26: Rupy2013 - Ruby and Mobile apps - KO!

Wow

Client Server

Page 27: Rupy2013 - Ruby and Mobile apps - KO!

OH NO!

Objective C backend!

Page 28: Rupy2013 - Ruby and Mobile apps - KO!

SALVATION

Page 29: Rupy2013 - Ruby and Mobile apps - KO!

Let’s RUBY!

What do you need for backend, sir?

Page 30: Rupy2013 - Ruby and Mobile apps - KO!

Data Sync

011001

Page 31: Rupy2013 - Ruby and Mobile apps - KO!

InApp Purchases

Page 32: Rupy2013 - Ruby and Mobile apps - KO!

Push Notification

Page 33: Rupy2013 - Ruby and Mobile apps - KO!

Let’s RUBY!

No need to do from zero!

Page 34: Rupy2013 - Ruby and Mobile apps - KO!

Helios!

Keep lazy for backend!

Page 35: Rupy2013 - Ruby and Mobile apps - KO!

Helios DefaultsHeroku app

gem install helios

helios new rubyconf

helios server

http://localhost:5000/admin

helios server

Page 36: Rupy2013 - Ruby and Mobile apps - KO!

Checklist

Data Model Sync!

InApp Purchases!

Push Notifications

Page 37: Rupy2013 - 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 38: Rupy2013 - 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 39: Rupy2013 - 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 40: Rupy2013 - Ruby and Mobile apps - KO!

Open Source!

helios rack-push-notification

orbiter houston

AFNetworking

Page 41: Rupy2013 - Ruby and Mobile apps - KO!

Do I need Backend?

What does your app do?!

Number of users?!

What are your goals?

Page 42: Rupy2013 - Ruby and Mobile apps - KO!

Do I need Backend?

What does your app do?!

Number of users?!

What are your goals?

Page 43: Rupy2013 - Ruby and Mobile apps - KO!

Other gems

apn_on_rails!

urbanairship!

push_core

Page 44: Rupy2013 - Ruby and Mobile apps - KO!

“Jabá”

Rubymotion!

Ruby code ObjectiveC code

Page 45: Rupy2013 - Ruby and Mobile apps - KO!

Thank you! Questions?

@[email protected]

ourdailycodes.com hannelita.com

BIG THANKS TO RUPY BRAZIL!!