SlideShare a Scribd company logo
Improving your
workflow with
RUBYMOTION
Mark Villacampa
Madrid (Spain)
!"☀
😴🎸
WHO
WHAT
WHY
HOW
WHEN
WHERE
WHO is behind
RubyMotion?
Laurent Sansonetti
Started the MacRuby open source
project inside Apple in 2008
Left Apple and released RubyMotion
in 2012 as a commercial product
HipByte - Team of 3 people working
from Japan, Belgium and Spain
RUBYMOTION
Improving your workflow with RubyMotion
WHAT is RubyMotion?
Improving your workflow with RubyMotion
Android runtime
Objective-C runtime
Compiler
Build system
Command line
Compile ruby files
Generate executable
Package application
Launch application
LLVM
Framework to create compilers
Maintained by Apple
Used by the clang compiler
Best logo EVER
Ruby code
Abstract Syntax Tree
LLVM IR
Assembly
Runtime
Android
Dalvik / ART
Java Native Interface Java
RubyMotion
iOS
Foundation Framework
RubyMotion
Objective-C Runtime
Objective-C Swift
WHY should you use
RubyMotion?
iOS Android
Language
Objective-C
Swift
Java
Environment Xcode Android Studio
APIs iOS SDK Android SDK
iOS Android
Language Ruby
Environment Your Editor + Terminal
APIs iOS SDK Android SDK
Ruby
Created by Yukihiro Matsumoto in Japan
in the mid 1990's
Designed for programmer productivity
and fun
Flexible, concise, powerful syntax
Easy to learn by beginners
Popular for web development using Ruby
on Rails
Object-oriented
Dynamically typed
Metaprogramming
class Animal
attr_accessor :name
end
class Dog < Animal
def bark
puts "Woof woof!"
end
end
my_dog = Dog.new
my_dog.name = "Rocky"
my_dog.bark
my_dog.define_singleton_method("jump") do
puts "I'm jumping!"
end
my_dog.jump
describe "Application" do
before do
@app = UIApplication.sharedApplication
end
it "has one window" do
@app.windows.size.should == 1
end
end
Testing
Easy to integrate 3rd party code
no wrappers required
motion-cocoapods motion-gradle
rubygems
Cross-platform
motion-game - framework to
create games
Flow - commonly used apis
github.com/HipByte
Improving your workflow with RubyMotion
BYOE
(Bring Your Own Editor)
Vim
Emacs
Sublime Text
RubyMine
Textmate
Atom
Improving your workflow with RubyMotion
REPL
(Read Eval Print Loop)
> 1 + 2
=> 3
> "Hello Mobile Günler".upcase
=> "HELLO MOBILE GÜNLER"
Debugger
(lldb)
frame #6: 0x000000010000548f
mobilgunler`rb_scope__application:didFinishLaunchingWithOptions:__(s
0000010a576800, application=<unavailable>, launchOptions=<unavailabl
1439 at app_delegate.rb:13
10 @window.rootViewController = navigationController
11 @window.makeKeyAndVisible
12
-> 13 oops
14
15 true
16 end
(lldb)
Code reloading
HOW do you use
RubyMotion?
DEMO
WHERE can you get
RubyMotion?
rubymotion.com/download
WHEN should you get
RubyMotion?
NOW!
@MarkVillacampa
m@markvillacampa.com

More Related Content

PDF
Cross-Platform Native Apps in Java (budapest.mobile)
PPTX
Mobile Application Development Using Java
PDF
HTML5 TDC Floripa 2014
PPTX
what is java?
PPTX
The history and future of java programming language
PPTX
Java presentation
PDF
Going Mobile with C#, Visual Studio, and Xamarin
PPTX
Xamarin Best Cross Platform Mobile App Development Solution
Cross-Platform Native Apps in Java (budapest.mobile)
Mobile Application Development Using Java
HTML5 TDC Floripa 2014
what is java?
The history and future of java programming language
Java presentation
Going Mobile with C#, Visual Studio, and Xamarin
Xamarin Best Cross Platform Mobile App Development Solution

What's hot (12)

PPTX
React native
PDF
java training institute in Dange chowk pune
PPTX
Rapid Prototyping with Cordova aka Phonegap
PPTX
Xamarin介紹
PDF
Cordova / PhoneGap, mobile apps development with HTML5/JS/CSS
PDF
Introduction to PhoneGap
PPTX
All About Phonegap
PDF
Xamarin vs. native script which one is the ideal cross-platform framework fo...
PDF
Should you choose react native or swift for i os app development
PPTX
Cross Platform Mobile Development with C# and Xamarin
PPTX
Hybrid Mobile Development - Overview and Intro to Cordova/Ionic Framework
React native
java training institute in Dange chowk pune
Rapid Prototyping with Cordova aka Phonegap
Xamarin介紹
Cordova / PhoneGap, mobile apps development with HTML5/JS/CSS
Introduction to PhoneGap
All About Phonegap
Xamarin vs. native script which one is the ideal cross-platform framework fo...
Should you choose react native or swift for i os app development
Cross Platform Mobile Development with C# and Xamarin
Hybrid Mobile Development - Overview and Intro to Cordova/Ionic Framework
Ad

Similar to Improving your workflow with RubyMotion (20)

PDF
A brief intro to RubyMotion
PDF
Rubymotion inspect 2014_review
PDF
RubyMotion Introduction
PDF
Community in Motion
PDF
RubyMotion: Put your Dreams in Motion with Ruby
KEY
RubyMotion Introduction
PDF
TryRubyMotion
KEY
Ruby'izing iOS development
PDF
RubyMotion
PPTX
RubyMotion - Meetup Ruby lx
PDF
RubyMotion: Hack Your iOS App Like Never Before
PDF
[Srijan Wednesday Webinars] Building Full-Fledged Native Apps Using RubyMotion
PDF
Write cross platform native apps in Ruby
KEY
Rubymotion talk
PDF
Baruco 2014 - Rubymotion Workshop
PDF
RubyMotion Gets A Cool New Friend: mruby on iOS
PDF
From Ruby on Rails to RubyMotion - Writing your First iOS App with RubyMotion
PDF
RailsConf 2013: RubyMotion
PDF
Appium for RubyMotion
PDF
Building iOS Apps With RubyMotion
A brief intro to RubyMotion
Rubymotion inspect 2014_review
RubyMotion Introduction
Community in Motion
RubyMotion: Put your Dreams in Motion with Ruby
RubyMotion Introduction
TryRubyMotion
Ruby'izing iOS development
RubyMotion
RubyMotion - Meetup Ruby lx
RubyMotion: Hack Your iOS App Like Never Before
[Srijan Wednesday Webinars] Building Full-Fledged Native Apps Using RubyMotion
Write cross platform native apps in Ruby
Rubymotion talk
Baruco 2014 - Rubymotion Workshop
RubyMotion Gets A Cool New Friend: mruby on iOS
From Ruby on Rails to RubyMotion - Writing your First iOS App with RubyMotion
RailsConf 2013: RubyMotion
Appium for RubyMotion
Building iOS Apps With RubyMotion
Ad

Recently uploaded (20)

PDF
How to Choose the Right IT Partner for Your Business in Malaysia
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PDF
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
PDF
PTS Company Brochure 2025 (1).pdf.......
PDF
Nekopoi APK 2025 free lastest update
PPTX
ai tools demonstartion for schools and inter college
PDF
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
PPTX
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
PDF
wealthsignaloriginal-com-DS-text-... (1).pdf
PDF
2025 Textile ERP Trends: SAP, Odoo & Oracle
PDF
Adobe Illustrator 28.6 Crack My Vision of Vector Design
PDF
Design an Analysis of Algorithms I-SECS-1021-03
PDF
System and Network Administraation Chapter 3
PDF
How Creative Agencies Leverage Project Management Software.pdf
PDF
Odoo Companies in India – Driving Business Transformation.pdf
PPTX
VVF-Customer-Presentation2025-Ver1.9.pptx
PPTX
CHAPTER 2 - PM Management and IT Context
PDF
AI in Product Development-omnex systems
PPTX
Reimagine Home Health with the Power of Agentic AI​
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
How to Choose the Right IT Partner for Your Business in Malaysia
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
PTS Company Brochure 2025 (1).pdf.......
Nekopoi APK 2025 free lastest update
ai tools demonstartion for schools and inter college
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
wealthsignaloriginal-com-DS-text-... (1).pdf
2025 Textile ERP Trends: SAP, Odoo & Oracle
Adobe Illustrator 28.6 Crack My Vision of Vector Design
Design an Analysis of Algorithms I-SECS-1021-03
System and Network Administraation Chapter 3
How Creative Agencies Leverage Project Management Software.pdf
Odoo Companies in India – Driving Business Transformation.pdf
VVF-Customer-Presentation2025-Ver1.9.pptx
CHAPTER 2 - PM Management and IT Context
AI in Product Development-omnex systems
Reimagine Home Health with the Power of Agentic AI​
Internet Downloader Manager (IDM) Crack 6.42 Build 41

Improving your workflow with RubyMotion