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
Aliaksandr Lomau
December 07, 2013
Technology
1
190
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
37
"Ya Ne Lochu Comp" Challenge.
allomov
1
88
Catch and Throw in Ruby
allomov
0
39
Mortal Rubizza
allomov
0
77
Рэмбовидная проблема: особенности развития открытых технологий
allomov
0
47
Vault-tec: Safest Future
allomov
0
220
Promises and Reality
allomov
1
51
Cloud Theory for Rubizza Classes
allomov
0
86
Антология деплоя
allomov
0
74
Other Decks in Technology
See All in Technology
4社統合におけるマスタデータ管理に立ち向かう / Towards master data management in the four-company integration
carta_engineering
0
360
OCI Full Stack Disaster Recovery サービス概要
oracle4engineer
PRO
1
140
golang-migrate VS Atlas !? 技術選定のポイントと学び ~DBマイグレーションツール選定の実例を通して~ / golang-migrate vs Atlas ! What is the point of technology selection and what you can learn from the examples of DB migration tool selection?
nttcom
0
120
幸せに働ける組織を目指すリーダーの葛藤と挑戦 / 20250517 Tadahiro Yasuda & Rinto Ikenoue
shift_evolve
1
240
テスト設計チュートリアル ちびこん編 ’25
omn
1
240
Azure の裏側を支える SRE の世界
tsubasaxzzz
2
370
Azure AI Foundry Agent Serviceを使用してコードファースト アプリを構築する
tomokusaba
1
150
ゆるくはじめるSLI・SLO
yatoum
1
150
newmo の創業を支える Software Architecture と Platform Engineering
110y
5
790
Cloudflare Use Cases at CADDi
minato128
2
340
AWS_MCP_Servers入門.pdf
naotoiso
0
220
MagicPodが描くAIエージェント戦略とソフトウェアテストの未来
magicpod
0
340
Featured
See All Featured
Practical Orchestrator
shlominoach
187
11k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
Faster Mobile Websites
deanohume
307
31k
The Pragmatic Product Professional
lauravandoore
33
6.6k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Documentation Writing (for coders)
carmenintech
71
4.8k
4 Signs Your Business is Dying
shpigford
183
22k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.8k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
180
53k
Bash Introduction
62gerente
613
210k
How to Think Like a Performance Engineer
csswizardry
23
1.6k
Reflections from 52 weeks, 52 projects
jeffersonlam
349
20k
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
đ