![Page 1: Guru Sorocaba - Junho/14 - Ruby e Mobile Apps](https://reader034.vdocuments.mx/reader034/viewer/2022051816/5455ec2aaf7959755d8b4adf/html5/thumbnails/1.jpg)
Ruby and Mobile appsKO!!!
![Page 2: Guru Sorocaba - Junho/14 - Ruby e Mobile Apps](https://reader034.vdocuments.mx/reader034/viewer/2022051816/5455ec2aaf7959755d8b4adf/html5/thumbnails/2.jpg)
Hello!Hanneli (a.k.a. @hannelita)!
Codeminer 42!
Coffee and Pokémon <3!
![Page 3: Guru Sorocaba - Junho/14 - Ruby e Mobile Apps](https://reader034.vdocuments.mx/reader034/viewer/2022051816/5455ec2aaf7959755d8b4adf/html5/thumbnails/3.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051816/5455ec2aaf7959755d8b4adf/html5/thumbnails/4.jpg)
Programming
![Page 5: Guru Sorocaba - Junho/14 - Ruby e Mobile Apps](https://reader034.vdocuments.mx/reader034/viewer/2022051816/5455ec2aaf7959755d8b4adf/html5/thumbnails/5.jpg)
1990 -> 2000
Web
![Page 6: Guru Sorocaba - Junho/14 - Ruby e Mobile Apps](https://reader034.vdocuments.mx/reader034/viewer/2022051816/5455ec2aaf7959755d8b4adf/html5/thumbnails/6.jpg)
SKILL SET
PHP
Apache
MySQL
![Page 7: Guru Sorocaba - Junho/14 - Ruby e Mobile Apps](https://reader034.vdocuments.mx/reader034/viewer/2022051816/5455ec2aaf7959755d8b4adf/html5/thumbnails/7.jpg)
EASY!
![Page 8: Guru Sorocaba - Junho/14 - Ruby e Mobile Apps](https://reader034.vdocuments.mx/reader034/viewer/2022051816/5455ec2aaf7959755d8b4adf/html5/thumbnails/8.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051816/5455ec2aaf7959755d8b4adf/html5/thumbnails/9.jpg)
Enterprise, huh?
![Page 10: Guru Sorocaba - Junho/14 - Ruby e Mobile Apps](https://reader034.vdocuments.mx/reader034/viewer/2022051816/5455ec2aaf7959755d8b4adf/html5/thumbnails/10.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051816/5455ec2aaf7959755d8b4adf/html5/thumbnails/11.jpg)
Sou F...
Dig Din
![Page 12: Guru Sorocaba - Junho/14 - Ruby e Mobile Apps](https://reader034.vdocuments.mx/reader034/viewer/2022051816/5455ec2aaf7959755d8b4adf/html5/thumbnails/12.jpg)
2000 -> Nowadays
Mobile!
![Page 13: Guru Sorocaba - Junho/14 - Ruby e Mobile Apps](https://reader034.vdocuments.mx/reader034/viewer/2022051816/5455ec2aaf7959755d8b4adf/html5/thumbnails/13.jpg)
Your mobile
Bank account
Personal Trainer
Clock
Photo gallery
Communication
![Page 14: Guru Sorocaba - Junho/14 - Ruby e Mobile Apps](https://reader034.vdocuments.mx/reader034/viewer/2022051816/5455ec2aaf7959755d8b4adf/html5/thumbnails/14.jpg)
The Apple
![Page 15: Guru Sorocaba - Junho/14 - Ruby e Mobile Apps](https://reader034.vdocuments.mx/reader034/viewer/2022051816/5455ec2aaf7959755d8b4adf/html5/thumbnails/15.jpg)
The Apple
Hey, sweet, do you have WhatsApp?
![Page 16: Guru Sorocaba - Junho/14 - Ruby e Mobile Apps](https://reader034.vdocuments.mx/reader034/viewer/2022051816/5455ec2aaf7959755d8b4adf/html5/thumbnails/16.jpg)
iPhone
![Page 17: Guru Sorocaba - Junho/14 - Ruby e Mobile Apps](https://reader034.vdocuments.mx/reader034/viewer/2022051816/5455ec2aaf7959755d8b4adf/html5/thumbnails/17.jpg)
iPhoneDoes Apple give
money?
DO SOME APPS THEN <3
![Page 18: Guru Sorocaba - Junho/14 - Ruby e Mobile Apps](https://reader034.vdocuments.mx/reader034/viewer/2022051816/5455ec2aaf7959755d8b4adf/html5/thumbnails/18.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051816/5455ec2aaf7959755d8b4adf/html5/thumbnails/19.jpg)
iOS Development
![Page 20: Guru Sorocaba - Junho/14 - Ruby e Mobile Apps](https://reader034.vdocuments.mx/reader034/viewer/2022051816/5455ec2aaf7959755d8b4adf/html5/thumbnails/20.jpg)
iOS Development
[[[[ ]]]]
![Page 21: Guru Sorocaba - Junho/14 - Ruby e Mobile Apps](https://reader034.vdocuments.mx/reader034/viewer/2022051816/5455ec2aaf7959755d8b4adf/html5/thumbnails/21.jpg)
Life is too short to Objective C
![Page 22: Guru Sorocaba - Junho/14 - Ruby e Mobile Apps](https://reader034.vdocuments.mx/reader034/viewer/2022051816/5455ec2aaf7959755d8b4adf/html5/thumbnails/22.jpg)
Keep doing Ruby
![Page 23: Guru Sorocaba - Junho/14 - Ruby e Mobile Apps](https://reader034.vdocuments.mx/reader034/viewer/2022051816/5455ec2aaf7959755d8b4adf/html5/thumbnails/23.jpg)
BUT
The app is now popular
![Page 24: Guru Sorocaba - Junho/14 - Ruby e Mobile Apps](https://reader034.vdocuments.mx/reader034/viewer/2022051816/5455ec2aaf7959755d8b4adf/html5/thumbnails/24.jpg)
Wow
Client Server
![Page 25: Guru Sorocaba - Junho/14 - Ruby e Mobile Apps](https://reader034.vdocuments.mx/reader034/viewer/2022051816/5455ec2aaf7959755d8b4adf/html5/thumbnails/25.jpg)
OH NO!
Objective C backend!
![Page 26: Guru Sorocaba - Junho/14 - Ruby e Mobile Apps](https://reader034.vdocuments.mx/reader034/viewer/2022051816/5455ec2aaf7959755d8b4adf/html5/thumbnails/26.jpg)
SALVATION
![Page 27: Guru Sorocaba - Junho/14 - Ruby e Mobile Apps](https://reader034.vdocuments.mx/reader034/viewer/2022051816/5455ec2aaf7959755d8b4adf/html5/thumbnails/27.jpg)
Let’s RUBY!
What do you need for backend, sir?
![Page 28: Guru Sorocaba - Junho/14 - Ruby e Mobile Apps](https://reader034.vdocuments.mx/reader034/viewer/2022051816/5455ec2aaf7959755d8b4adf/html5/thumbnails/28.jpg)
Data Sync
011001
![Page 29: Guru Sorocaba - Junho/14 - Ruby e Mobile Apps](https://reader034.vdocuments.mx/reader034/viewer/2022051816/5455ec2aaf7959755d8b4adf/html5/thumbnails/29.jpg)
InApp Purchases
![Page 30: Guru Sorocaba - Junho/14 - Ruby e Mobile Apps](https://reader034.vdocuments.mx/reader034/viewer/2022051816/5455ec2aaf7959755d8b4adf/html5/thumbnails/30.jpg)
Push Notification
![Page 31: Guru Sorocaba - Junho/14 - Ruby e Mobile Apps](https://reader034.vdocuments.mx/reader034/viewer/2022051816/5455ec2aaf7959755d8b4adf/html5/thumbnails/31.jpg)
Let’s RUBY!
No need to do from zero!
![Page 32: Guru Sorocaba - Junho/14 - Ruby e Mobile Apps](https://reader034.vdocuments.mx/reader034/viewer/2022051816/5455ec2aaf7959755d8b4adf/html5/thumbnails/32.jpg)
Helios!
Keep lazy for backend!
![Page 33: Guru Sorocaba - Junho/14 - Ruby e Mobile Apps](https://reader034.vdocuments.mx/reader034/viewer/2022051816/5455ec2aaf7959755d8b4adf/html5/thumbnails/33.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051816/5455ec2aaf7959755d8b4adf/html5/thumbnails/34.jpg)
Checklist
Data Model Sync!
InApp Purchases!
Push Notifications
![Page 35: Guru Sorocaba - Junho/14 - Ruby e Mobile Apps](https://reader034.vdocuments.mx/reader034/viewer/2022051816/5455ec2aaf7959755d8b4adf/html5/thumbnails/35.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051816/5455ec2aaf7959755d8b4adf/html5/thumbnails/36.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051816/5455ec2aaf7959755d8b4adf/html5/thumbnails/37.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051816/5455ec2aaf7959755d8b4adf/html5/thumbnails/38.jpg)
Open Source!
helios rack-push-notification
orbiter houston
AFNetworking
![Page 39: Guru Sorocaba - Junho/14 - Ruby e Mobile Apps](https://reader034.vdocuments.mx/reader034/viewer/2022051816/5455ec2aaf7959755d8b4adf/html5/thumbnails/39.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051816/5455ec2aaf7959755d8b4adf/html5/thumbnails/40.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051816/5455ec2aaf7959755d8b4adf/html5/thumbnails/41.jpg)
Other gems
apn_on_rails!
urbanairship!
push_core
![Page 42: Guru Sorocaba - Junho/14 - Ruby e Mobile Apps](https://reader034.vdocuments.mx/reader034/viewer/2022051816/5455ec2aaf7959755d8b4adf/html5/thumbnails/42.jpg)
Thank you! Questions?
ourdailycodes.com hannelita.com