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
RubyMotion: Hack Your iOS App Like Never Before
Search
Joseph Ku
December 08, 2012
Technology
1.1k
5
Share
RubyMotion: Hack Your iOS App Like Never Before
* Talk @ RubyConf Taiwan 2012 (2012.12.08)
Joseph Ku
December 08, 2012
More Decks by Joseph Ku
See All by Joseph Ku
R&B: When Ruby Met Bitcoin
joseph
0
270
第一次去 WWDC 就上手
joseph
0
220
Swift Introduction to Swift in Ruby
joseph
0
170
手機遊戲開發的兩三事
joseph
0
130
RubyMotion Gets A Cool New Friend: mruby on iOS
joseph
2
1k
Other Decks in Technology
See All in Technology
Vision Banana: Image Generators are Generalist Vision Learners
kzykmyzw
0
360
Sociotechnical Architecture Reviews: Understanding Teams, not just Artefacts
ewolff
1
170
鹿野さんに聞く!CSSの最新トレンド Ver.2026
tonkotsuboy_com
6
2.9k
AI 時代の Platform Engineering
recruitengineers
PRO
1
160
クラウドネイティブ DB はいかにして制約を 克服したか? 〜進化歴史から紐解く、スケーラブルアーキテクチャ設計指針〜
hacomono
PRO
6
920
20260516_SecJAWS_Days
takuyay0ne
2
330
会社説明資料|株式会社ギークプラス ソフトウェア事業部
geekplus_tech
0
220
雑談は、センサーだった
bitkey
PRO
2
230
可視化から活用へ — Mesh化・Segmentation・アライメントの研究動向
gpuunite_official
0
170
サンプリングは「作る」のか「使う」のか? 分散トレースのコストと運用を両立する実践的戦略 / Why you need the tail sampling and why you don't want it
ymotongpoo
4
170
Agent の「自由」と「安全」〜未来に向けて今できること〜
katayan
0
360
SLI/SLO、「完全に理解した」から「チョットデキル」へ
maruloop
5
430
Featured
See All Featured
Build your cross-platform service in a week with App Engine
jlugia
234
18k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.4k
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
280
So, you think you're a good person
axbom
PRO
2
2k
Become a Pro
speakerdeck
PRO
31
5.9k
Code Review Best Practice
trishagee
74
20k
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
110
Making Projects Easy
brettharned
120
6.6k
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
500
Marketing to machines
jonoalderson
1
5.2k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
340
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
130
Transcript
RubyConf Taiwan RubyMotion HACK YOUR IOS APP LIKE NEVER BEFORE
Who Am I?
ຑพ፡
!KPTFQILV
None
WHAT’S RUBYMOTION? A Ruby toolchain for iOS Develop and test
native iOS app in Ruby Based on MacRuby Laurent Sansonetti (@lrz)
Why RubyMotion?
None
Objective-C Objective-C Runtime iOS SDK Foundation Framework
Objective-C Objective-C Runtime iOS SDK Foundation Framework RubyMotion
None
None
None
WHY RUBYMOTION? 100% native code Keep your editor App Store
compliant
Babe, Let’s Rock!!
Dirty
Dirty
The Last Mile
DEPLOYMENT Deploy your app to beta testers by TestFlight Deploy
to App Store $ rake archive:distribution $ gem install motion-testflight $ rake testflight notes='Orz'
// Foo.h @interface Foo: NSObject { } @property (nonatomic, strong)
NSString *bar; @end // Foo.m #import “Foo.h” @implementation Foo @synthesize bar = _bar; @end class Foo attr_accessor :bar end Objective-C RubyMotion
outputImageProviderFromBufferWithPixelFormat:pixelsWide:pixelsHigh:ba seAddress:bytesPerRow:releaseCallback:releaseContext:colorSpace:shoul dColorMatch: WTF!!
NSDictionary *rules = [NSDictionary dictionaryWithObjectsAndKeys:[NSNumber NumberWithBool:TRUE],"RubyIsAwesome",nil]; Objective-C RubyMotion rules =
{ RubyIsAwesome: 1 } What’s the magic??
Babe, Rock Again!!
LIMITATIONS require eval define_method Proc#binding Regular gems don’t work
PROS & CONS One-time fee of $199 Growing faster and
faster Apple’s attitude
Is RubyMotion the future?
%4-
App.alert("BubbleWrap is awesome!") App.run_after(0.5) { p "It's #{Time.now}" } App.open_url("http://rubyconf.tw/2012/")
Device.iphone? Device.ipad? Device.front_camera? BW::Media.play_modal("http://www.hrupin.com/wp-content/ uploads/mp3/testsong_20_sec.mp3") EM.add_timer 1.0 do puts "Great scott!" end
None
None
3VCZ.JOF
None
None
IS THE RUBYMOTION THE FUTURE? DSL Well-known editor and IDE
Support Active community
C’mon, it’s Ruby!!
Any questions?
5IBOLZPV