Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Ruby for Mobile Development
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Aliaksandr Lomau
November 23, 2013
Technology
180
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Ruby for Mobile Development
BRUG, Minsk, November, 2013
Aliaksandr Lomau
November 23, 2013
More Decks by Aliaksandr Lomau
See All by Aliaksandr Lomau
Fails Night
allomov
0
67
"Ya Ne Lochu Comp" Challenge.
allomov
1
110
Catch and Throw in Ruby
allomov
0
66
Mortal Rubizza
allomov
0
110
Рэмбовидная проблема: особенности развития открытых технологий
allomov
0
71
Vault-tec: Safest Future
allomov
0
300
Promises and Reality
allomov
1
71
Cloud Theory for Rubizza Classes
allomov
0
110
Антология деплоя
allomov
0
96
Other Decks in Technology
See All in Technology
FOSS4Gを活用した自治体業務DXの試み
470715
0
150
Getting Started with Google Antigravity
glaforge
0
210
自主式軟體工廠
philipz
0
260
実体験から学ぶ分析エージェントの開発と運⽤
recruitengineers
PRO
8
2.2k
freeeらしさをAIとともに作る / Creating the freee Experience with AI
ymrl
0
230
生成AIと進める探索的データ分析(2026.10.03 第122回Tokyo.R勉強会)
tatamiya
2
1.5k
オンラインゲームのシステム全体像 - コロプラ 2026年度 新卒研修
colopl
0
1.1k
Datadog の学び方 - あるいは、オブザーバビリティを学ぶとは何か
mananyuki
1
550
分析の民主化を支えるメタデータ整備の実践
kakehashi
PRO
4
1.3k
Kiro Crewをはじめよう
kizawa2020
1
140
V8のArray.prototype.flatを最大約20倍速くするまでと、巨大OSSへの大規模コミットの道のり
riyaamemiya
0
270
AIは爆速なのに、私が詰まっていた話 ― 音声入力と鳴くマスコットでボトルネックを削る
yama3133
0
610
Featured
See All Featured
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.6k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.7k
AI Search: Where Are We & What Can We Do About It?
aleyda
0
8.1k
How GitHub (no longer) Works
holman
316
150k
Test your architecture with Archunit
thirion
2
2.4k
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.5k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
VelocityConf: Rendering Performance Case Studies
addyosmani
331
25k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2.1k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
930
Measuring & Analyzing Core Web Vitals
bluesmoon
9
1k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.4k
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