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
160
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
33
"Ya Ne Lochu Comp" Challenge.
allomov
1
84
Catch and Throw in Ruby
allomov
0
36
Mortal Rubizza
allomov
0
74
Рэмбовидная проблема: особенности развития открытых технологий
allomov
0
45
Vault-tec: Safest Future
allomov
0
200
Promises and Reality
allomov
1
50
Cloud Theory for Rubizza Classes
allomov
0
82
Антология деплоя
allomov
0
72
Other Decks in Technology
See All in Technology
組織貢献をするフリーランスエンジニアという生き方
n_takehata
1
1k
Data-centric AI入門第6章:Data-centric AIの実践例
x_ttyszk
1
370
TAMとre:Capセキュリティ編 〜拡張脅威検出デモを添えて〜
fujiihda
0
100
データ資産をシームレスに伝達するためのイベント駆動型アーキテクチャ
kakehashi
PRO
2
230
エンジニアの育成を支える爆速フィードバック文化
sansantech
PRO
3
660
2.5Dモデルのすべて
yu4u
2
610
CZII - CryoET Object Identification 参加振り返り・解法共有
tattaka
0
240
FastConnect の冗長性
ocise
1
9.6k
滅・サービスクラス🔥 / Destruction Service Class
sinsoku
6
1.5k
Tech Blogを書きやすい環境づくり
lycorptech_jp
PRO
0
120
Building Products in the LLM Era
ymatsuwitter
10
4.4k
[2025-02-07]生成AIで変える問い合わせの未来 〜チームグローバル化の香りを添えて〜
tosite
1
290
Featured
See All Featured
How GitHub (no longer) Works
holman
313
140k
GitHub's CSS Performance
jonrohan
1030
460k
The Art of Programming - Codeland 2020
erikaheidi
53
13k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Rebuilding a faster, lazier Slack
samanthasiow
79
8.8k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
Java REST API Framework Comparison - PWX 2021
mraible
28
8.4k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.4k
How STYLIGHT went responsive
nonsquared
98
5.3k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
40
2k
Six Lessons from altMBA
skipperchong
27
3.6k
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