Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Ruby for Mobile Development
Search
Aliaksandr Lomau
November 23, 2013
Technology
1
170
Ruby for Mobile Development
BRUG, Minsk, November, 2013
Aliaksandr Lomau
November 23, 2013
Tweet
Share
More Decks by Aliaksandr Lomau
See All by Aliaksandr Lomau
Fails Night
allomov
0
48
"Ya Ne Lochu Comp" Challenge.
allomov
1
91
Catch and Throw in Ruby
allomov
0
43
Mortal Rubizza
allomov
0
87
Рэмбовидная проблема: особенности развития открытых технологий
allomov
0
51
Vault-tec: Safest Future
allomov
0
240
Promises and Reality
allomov
1
53
Cloud Theory for Rubizza Classes
allomov
0
89
Антология деплоя
allomov
0
75
Other Decks in Technology
See All in Technology
許しとアジャイル
jnuank
1
120
成長自己責任時代のあるきかた/How to navigate the era of personal responsibility for growth
kwappa
3
270
[2025-09-30] Databricks Genie を利用した分析基盤とデータモデリングの IVRy の現在地
wxyzzz
0
470
リーダーになったら未来を語れるようになろう/Speak the Future
sanogemaru
0
280
OpenAI gpt-oss ファインチューニング入門
kmotohas
2
950
バイブコーディングと継続的デプロイメント
nwiizo
2
420
動画データのポテンシャルを引き出す! Databricks と AI活用への奮闘記(現在進行形)
databricksjapan
0
140
いまさら聞けない ABテスト入門
skmr2348
1
200
extension 現場で使えるXcodeショートカット一覧
ktombow
0
210
神回のメカニズムと再現方法/Mechanisms and Playbook for Kamikai scrumat2025
moriyuya
4
520
英語は話せません!それでも海外チームと信頼関係を作るため、対話を重ねた2ヶ月間のまなび
niioka_97
0
110
about #74462 go/token#FileSet
tomtwinkle
1
290
Featured
See All Featured
Large-scale JavaScript Application Architecture
addyosmani
514
110k
Why Our Code Smells
bkeepers
PRO
339
57k
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
Building Adaptive Systems
keathley
43
2.8k
Designing for humans not robots
tammielis
254
25k
Visualization
eitanlees
148
16k
Stop Working from a Prison Cell
hatefulcrawdad
271
21k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
2.6k
Agile that works and the tools we love
rasmusluckow
331
21k
Build your cross-platform service in a week with App Engine
jlugia
232
18k
Build The Right Thing And Hit Your Dates
maggiecrowley
37
2.9k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.2k
Transcript
RUBY MOBILE D E V E L O P M
E N T
Hello code1n allomov ALTOROS
TODAY I TALK ABOUT this presentation: http://speakerdeck.com/allomov
MOBILE APPLICATIONS TYPES WEB NATIVE HYBRID
WEB APPLICATIONS
WEB MOBILE APPLICATIONS
WEB MOBILE APPLICATIONS WEB NATIVE
WEB MOBILE APPLICATIONS - Offline mode support - WebStorage -
GeolocationAPI - CSS3 selectors - Media Queries
WEB MOBILE APPLICATIONS Limitations: WEB MOBILE APPLICATIONS - native UI
elemnets - WebStorage is limited - No accelerometer - No support gestures - Lack of Notifications - Background mode - and much more ...
WEB MOBILE APPLICATIONS ZURB FOUNDATION TWITTER BOOTSTRAP
HYBRID APPLICATIONS
HYBRID APPLICATIONS WEB VIEW APPLICATION LOGIC
HYBRID APPLICATIONS Phonegap Sencha Touch Calatrava Rhodes Ruby JavaScript
NATIVE APPLICATIONS
NATIVE APPLICATIONS
WHAT TO CHOOSE? NATIVE HYBRID WEB USER EXPERIENCE
NATIVE APPLICATIONS
MobiRuby Ruboto RubyMotion
Mob Rub
Mob Rub
Yukihiro "Matz" Matsumoto
- Subset of CRuby (without File, Socket) - Generational incremental
GC - AOT compilation into *.mrb bytecode - Can be converted to readable C code
- Mobile development kit on mruby - Opensource, MIT license
- Currently implemented only for iOS Mob Rub
Mob Rub has only one app in AppStore already
None
Charles Nutter
Rub Motio
Rub Motio Laurent Sansonetti
Strengths:
Strengths: - Ruby good is
Strengths: - Ruby good is - Community
Strengths: - Ruby good is - Community - iOS native
Strengths: - Ruby good is - Community - iOS native
- Test suites
Strengths: - Ruby good is - Community - iOS native
- Test suites - and more...
DARK SIDE
- most expensive DARK SIDE
- most expensive - not open source DARK SIDE
AppStore
HOW IT WAS? Objective-C Objective-C Runtime Foundation Framework iOS SDK
HOW IT IS? Objective-C Objective-C Runtime Foundation Framework iOS SDK
Rub Motio
Rub Motio Objective-C
# Ruby "Hello BRUG".class.ancestors => [String, Comparable, Object, Kernel, BasicObject]
# RubyMotion "Hello BRUG".class.ancestors => [String, NSMutableString, NSString, Comparable, NSObject, Kernel] OBJECTS
# RubyMotion NSObject == Object => true OBJECTS
# Objective-C [string drawAtPoint: point withFont: font] # RubyMotion string.drawAtPoint(point,
withFont: font) # using send string.send(:"drawAtPoint:withFont:", point, font) NAMED PARAMETERS
METAPROGRAMMING define_method method_missing send instance_eval (with block) const_get (or even
set)
REPL console
TDD RubyMotion integrates Bacon Bacon is small clone of the
popular RSpec it can simulate user behaviour on device
TOOLS
GEMS teacup bubble-wrap simpleview ib
BACKEND AS A SERVICE HELIOS
ASK QUESTIONS KEEP CALM AND