guru sorocaba - junho/14 - ruby e mobile apps

42
Ruby and Mobile apps KO!!!

Upload: hanneli-tavante

Post on 01-Nov-2014

341 views

Category:

Technology


0 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Guru Sorocaba - Junho/14 - Ruby e Mobile Apps

Ruby and Mobile appsKO!!!

Page 2: Guru Sorocaba - Junho/14 - Ruby e Mobile Apps

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

Codeminer 42!

Coffee and Pokémon <3!

Page 3: Guru Sorocaba - Junho/14 - Ruby e Mobile Apps

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: Guru Sorocaba - Junho/14 - Ruby e Mobile Apps

Programming

Page 5: Guru Sorocaba - Junho/14 - Ruby e Mobile Apps

1990 -> 2000

Web

Page 6: Guru Sorocaba - Junho/14 - Ruby e Mobile Apps

SKILL SET

PHP

Apache

MySQL

Page 7: Guru Sorocaba - Junho/14 - Ruby e Mobile Apps

EASY!

Page 8: Guru Sorocaba - Junho/14 - Ruby e Mobile Apps

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: Guru Sorocaba - Junho/14 - Ruby e Mobile Apps

Enterprise, huh?

Page 10: Guru Sorocaba - Junho/14 - Ruby e Mobile Apps

A little MOAR

Oracle

NoSQLRubyRailsSinatra

Postgres

HTML

CSS

JS

jQuery

TDD vimRSpecMongo

CassandraNode.jsMeteor.js Backbone.js

Neo4jRedis

HerokuGit

Torquebox

Page 11: Guru Sorocaba - Junho/14 - Ruby e Mobile Apps

Sou F...

Dig Din

Page 12: Guru Sorocaba - Junho/14 - Ruby e Mobile Apps

2000 -> Nowadays

Mobile!

Page 13: Guru Sorocaba - Junho/14 - Ruby e Mobile Apps

Your mobile

Bank account

Email

Personal Trainer

Clock

Photo gallery

Communication

Page 14: Guru Sorocaba - Junho/14 - Ruby e Mobile Apps

The Apple

Page 15: Guru Sorocaba - Junho/14 - Ruby e Mobile Apps

The Apple

Hey, sweet, do you have WhatsApp?

Page 16: Guru Sorocaba - Junho/14 - Ruby e Mobile Apps

iPhone

Page 17: Guru Sorocaba - Junho/14 - Ruby e Mobile Apps

iPhoneDoes Apple give

money?

DO SOME APPS THEN <3

Page 18: Guru Sorocaba - Junho/14 - Ruby e Mobile Apps

iOS Development

Objective C

iOS

Xcode

SQLite

Foundation

C

C++

UIKit CoreGraphics

CoreServices

CoreLocation

ARC

Page 19: Guru Sorocaba - Junho/14 - Ruby e Mobile Apps

iOS Development

Page 20: Guru Sorocaba - Junho/14 - Ruby e Mobile Apps

iOS Development

[[[[ ]]]]

Page 21: Guru Sorocaba - Junho/14 - Ruby e Mobile Apps

Life is too short to Objective C

Page 22: Guru Sorocaba - Junho/14 - Ruby e Mobile Apps

Keep doing Ruby

Page 23: Guru Sorocaba - Junho/14 - Ruby e Mobile Apps

BUT

The app is now popular

Page 24: Guru Sorocaba - Junho/14 - Ruby e Mobile Apps

Wow

Client Server

Page 25: Guru Sorocaba - Junho/14 - Ruby e Mobile Apps

OH NO!

Objective C backend!

Page 26: Guru Sorocaba - Junho/14 - Ruby e Mobile Apps

SALVATION

Page 27: Guru Sorocaba - Junho/14 - Ruby e Mobile Apps

Let’s RUBY!

What do you need for backend, sir?

Page 28: Guru Sorocaba - Junho/14 - Ruby e Mobile Apps

Data Sync

011001

Page 29: Guru Sorocaba - Junho/14 - Ruby e Mobile Apps

InApp Purchases

Page 30: Guru Sorocaba - Junho/14 - Ruby e Mobile Apps

Push Notification

Page 31: Guru Sorocaba - Junho/14 - Ruby e Mobile Apps

Let’s RUBY!

No need to do from zero!

Page 32: Guru Sorocaba - Junho/14 - Ruby e Mobile Apps

Helios!

Keep lazy for backend!

Page 33: Guru Sorocaba - Junho/14 - Ruby e Mobile Apps

Helios DefaultsHeroku app

gem install helios

helios new tdc

helios server

http://localhost:5000/admin

Page 34: Guru Sorocaba - Junho/14 - Ruby e Mobile Apps

Checklist

Data Model Sync!

InApp Purchases!

Push Notifications

Page 35: Guru Sorocaba - Junho/14 - Ruby e Mobile Apps

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 36: Guru Sorocaba - Junho/14 - Ruby e Mobile Apps

Data model SyncREST model - from

CoreData

GET /talks

POST /talks

GET /talks/2

PUT /talks/2

DELETE /talks/2

Page 37: Guru Sorocaba - Junho/14 - Ruby e Mobile Apps

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 38: Guru Sorocaba - Junho/14 - Ruby e Mobile Apps

Open Source!

helios rack-push-notification

orbiter houston

AFNetworking

Page 39: Guru Sorocaba - Junho/14 - Ruby e Mobile Apps

Do I need Backend?

What does your app do?!

Number of users?!

What are your goals?

Page 40: Guru Sorocaba - Junho/14 - Ruby e Mobile Apps

Do I need Backend?

What does your app do?!

Number of users?!

What are your goals?

Page 41: Guru Sorocaba - Junho/14 - Ruby e Mobile Apps

Other gems

apn_on_rails!

urbanairship!

push_core

Page 42: Guru Sorocaba - Junho/14 - Ruby e Mobile Apps

Thank you! Questions?

@[email protected]

ourdailycodes.com hannelita.com