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
RubyMotion: Hack Your iOS App Like Never Before
Search
Joseph Ku
December 08, 2012
Technology
1.1k
5
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
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
300
第一次去 WWDC 就上手
joseph
0
240
Swift Introduction to Swift in Ruby
joseph
0
190
手機遊戲開發的兩三事
joseph
0
130
RubyMotion Gets A Cool New Friend: mruby on iOS
joseph
2
1.1k
Other Decks in Technology
See All in Technology
AgentCore Runtime上にAgentic Coding基盤を構築・展開する際の設計ポイントと限界点 / Design considerations and limitations when building an agentic coding platform on AgentCore Runtime
har1101
4
300
TinyGo 開発サイクルを高速化する:Go で作るエミュレータ入門
zozotech
PRO
1
750
人間はどの意思決定を手放せるのか
kawasima
15
7.3k
アプリをもっと"iOSアプリっぽく"する小さな工夫 / Small Touches That Make Your App Feel More Like an iOS App
matsuji
2
950
安心して変更できるWebフロントエンドの作り方
pirosikick
5
2.7k
Railsのように考える: See through the Master
snoozer05
PRO
4
1.1k
Goodbye ShellScript, Hello File-based App
shunsock
0
170
アクセスキーこわい やめかたと漏らさない工夫
sassssan68
1
400
AIエージェントを最高のパートナーに育てる方法|評価と判断軸を育てる5つのステップ
koichiaoki
1
150
HHKBエバンジェリストになる方法
941
0
110
技術的負債から考える、AI時代のエンジニアリング投資 — ビズリーチの技術的負債と向き合った経験から、変更し続けられるソフトウェアを考える/ technical-debt-con2026
visional_engineering_and_design
4
3.2k
AI 時代のスタートアップエコシステ厶から考究する技術的負債との向き合い方
m3m0r7
PRO
3
2.2k
Featured
See All Featured
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
240
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.6k
Automating Front-end Workflow
addyosmani
1369
210k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.7k
Code Reviewing Like a Champion
maltzj
528
40k
How to build a perfect <img>
jonoalderson
1
6k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.2k
GitHub's CSS Performance
jonrohan
1033
470k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
3
4.3k
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
2
2.9k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
53k
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