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
Introduction of RubyMotion
Search
Harukasan
PRO
April 04, 2014
Programming
87
0
Share
Introduction of RubyMotion
社内勉強会で利用したRubyMotionのスライドになります
Harukasan
PRO
April 04, 2014
More Decks by Harukasan
See All by Harukasan
Successor to PicoRabbit: Ruby Programming Envorinment / RubyKaigi 2025 follow up
harukasan
PRO
1
240
Write your own mrbgem, Create your own device
harukasan
PRO
1
310
PicoRabbit: a Tiny Presentation Device Powered by Ruby
harukasan
PRO
2
730
pixivを支える技術 / 技育CAMPアカデミア
harukasan
PRO
3
580
20240401 新卒研修 - ピクシブにおける技術領域
harukasan
PRO
1
920
ピクシブのコンテンツ配信基盤技術 / pixiv TECH SALON
harukasan
PRO
5
5.9k
Goにおける画像ファイル処理 / golang.tokyo #19
harukasan
PRO
7
6.8k
WebRTC動画をトランスコードする / Transcoding video streams from WebRTC
harukasan
PRO
5
1.7k
ImageFluxを支えるリモート開発 / 20171202
harukasan
PRO
2
1.9k
Other Decks in Programming
See All in Programming
今からFlash開発できるわけないじゃん、ムリムリ! (※ムリじゃなかった!?)
arkw
0
180
Smarter Angular mit Transformers.js & Prompt API
christianliebel
PRO
1
120
Strategy for Finding a Problem for OSS: With Real Examples
kibitan
0
140
AI活用のコスパを最大化する方法
ochtum
0
370
Nuxt Server Components
wattanx
0
250
The Monolith Strikes Back: Why AI Agents ❤️ Rails Monoliths
serradura
0
220
我々はなぜ「層」を分けるのか〜「関心の分離」と「抽象化」で手に入れる変更に強いシンプルな設計〜 #phperkaigi / PHPerKaigi 2026
shogogg
2
810
LM Linkで(非力な!)ノートPCでローカルLLM
seosoft
0
400
GoのDB アクセスにおける 「型安全」と「柔軟性」の両立 - Bob という選択肢
tak848
0
310
PHP でエミュレータを自作して Ubuntu を動かそう
m3m0r7
PRO
2
170
それはエンジニアリングの糧である:AI開発のためにAIのOSSを開発する現場より / It serves as fuel for engineering: insights from the field of developing open-source AI for AI development.
nrslib
1
830
まかせられるPM・まかせられないPM / DevTech GUILD Meetup
yusukemukoyama
0
100
Featured
See All Featured
Measuring & Analyzing Core Web Vitals
bluesmoon
9
800
Reality Check: Gamification 10 Years Later
codingconduct
0
2.1k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
430
Context Engineering - Making Every Token Count
addyosmani
9
800
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.3k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
0
1k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.4k
Designing Powerful Visuals for Engaging Learning
tmiket
1
330
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
How to Think Like a Performance Engineer
csswizardry
28
2.5k
Transcript
None
RubyMotion is a revolutionary toolchain that lets you quickly develop
and test native iOS and OS X applications for iPhone, iPad and Mac, all using the awesome Ruby language you know and love. — http://www.rubymotion.com/
RubyͰiOSOSX༻ͷΞϓϦέʔγϣϯ͕ॻ͚Δ
http://www.slideshare.net/LaurentSansonetti/inside-rubymotion-llvm
http://www.slideshare.net/LaurentSansonetti/inside-rubymotion-llvm
http://www.slideshare.net/LaurentSansonetti/inside-rubymotion-llvm
MRIͰಈ͍͍ͯΔΘ͚Ͱͳ͘! RubyίʔυΛLLVMόΠτίʔυʹίϯύΠϧ͍ͯ͠Δ
͍͢͝
class AppDelegate def applicationDidFinishLaunching(notification) buildMenu ! window = NSWindow.alloc.initWithContentRect([[240, 180],
[800, 500]], styleMask: NSTitledWindowMask…, backing: NSBackingStoreBuffered, defer: false) @main = MainController.new(window) end ! … end
Rubyͷ໊લ͖ҾΛͬͯ! Obj-CͷϝιουΛ࣮ݱ
[[NSWindow alloc] initWithContentRect:styleMask:backing:defer:]; NSWindow.alloc.initWithContentRect(…, styleMask:…, backing:…, defer:…) Objective-C: Ruby:
Rubyͷඪ४ΦϒδΣΫτ͕͑Δ
DEMO
Ͳ͏͍ͬͯΔ͔
CocoaͷΦϒδΣΫτΛ ܧঝ࣮ͯ͠͞Ε͍ͯΔ
String → NSMutableString → NSString → NSObject
ऑ
None