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. Sugar for iOS.
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Aliaksandr Lomau
December 07, 2013
Technology
1
200
Rubymotion. Sugar for iOS.
Cocoaheads, Grodno, December, 2013
Aliaksandr Lomau
December 07, 2013
Tweet
Share
More Decks by Aliaksandr Lomau
See All by Aliaksandr Lomau
Fails Night
allomov
0
48
"Ya Ne Lochu Comp" Challenge.
allomov
1
95
Catch and Throw in Ruby
allomov
0
44
Mortal Rubizza
allomov
0
93
Рэмбовидная проблема: особенности развития открытых технологий
allomov
0
53
Vault-tec: Safest Future
allomov
0
260
Promises and Reality
allomov
1
55
Cloud Theory for Rubizza Classes
allomov
0
91
Антология деплоя
allomov
0
75
Other Decks in Technology
See All in Technology
Web Intelligence and Visual Media Analytics
weblyzard
PRO
1
6.8k
エンジニアとして長く走るために気づいた2つのこと_大賀愛一郎
nanaism
1
250
[Iceberg Meetup #4] ゼロからはじめる: Apache Icebergとはなにか? / Apache Iceberg for Beginners
databricksjapan
0
510
Claude in Chromeで始める自律的フロントエンド開発
diggymo
1
280
AI時代のPMに求められるのは 「Ops」と「Enablement」
shimotaroo
1
340
それぞれのペースでやっていく Bet AI / Bet AI at Your Own Pace
yuyatakeyama
1
620
持続可能な開発のためのミニマリズム
sansantech
PRO
4
590
AI開発をスケールさせるデータ中心の仕組みづくり
kzykmyzw
0
170
re:Inventで見つけた「運用を捨てる」技術。
ezaki
1
150
人はいかにして 確率的な挙動を 受け入れていくのか
vaaaaanquish
4
2.8k
Zephyr RTOS の発表をOpen Source Summit Japan 2025で行った件
iotengineer22
0
280
Databricks Free Edition講座 データサイエンス編
taka_aki
0
220
Featured
See All Featured
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
69
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.9k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.1k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
300
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
130
Side Projects
sachag
455
43k
Being A Developer After 40
akosma
91
590k
My Coaching Mixtape
mlcsv
0
41
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
1
43
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.3k
Transcript
rubymotion Sugar for iOS
HELLO code1n « allomov đ
I will talk about rubymotion
I will talk about rubymotion RubyMotion Laurent Sansonetti
How it works? 1 2 3 4 RUBY CODE AST
(semantic tree) LLVM IR Machine code Ruby parser RubyMotion LLVM code generator
How it works? # Ruby "Hello BRUG".class.ancestors => [String, Comparable,
Object, Kernel, BasicObject] # RubyMotion "Hello BRUG".class.ancestors => [String, NSMutableString, NSString, Comparable, NSObject, Kernel] OBJECTS
Ruby is neat RubyMotion Objective-C
met aprogramming is almost magic
Objective-C <objc/runtime.h>
send def tableView(tableView, didSelectRowAtIndexPath:indexPath) menu_row = self.menu_items[indexPath.row] # => 'profile'
self.send("open_#{menu_row}") end ! def open_profile; #...; end def open_messages; #...; end ! def open_feed; # ...; end
method_missing Slide is missing Please, imagine suitable image
define_method module Mouth def self.can_say(name) define_method("say_#{name}") do name.upcase end end
end ! class Person include Mouth can_say :hello end ! person.say_hello # => "HELLO"
DSl Domain Specific Language
Teacup teacup :main_window do style :UILabel, text: 'Hello!' style :hi_button,
origin: [10, 10], title: 'Hi!' end
20.times do rmq.append(UIButton).tag(:foo).move(l: rand(200), t: rand(500), w: 80, h: 20).style
do |st| st.text = rand(200).to_s st.background_color = rmq.color.blue end end RMQ
REPL Wanna see some magic?
TDD RubyMotion integrates Bacon Bacon is small clone of the
popular RSpec it can simulate user behaviour on device
Game in 15 minutes?
REPL Wanna see some magic? AppStore
THANK YOU FOR YOUR ATTENTION. Bye ! code1n « allomov
đ