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
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
44
"Ya Ne Lochu Comp" Challenge.
allomov
1
90
Catch and Throw in Ruby
allomov
0
43
Mortal Rubizza
allomov
0
86
Рэмбовидная проблема: особенности развития открытых технологий
allomov
0
49
Vault-tec: Safest Future
allomov
0
240
Promises and Reality
allomov
1
53
Cloud Theory for Rubizza Classes
allomov
0
88
Антология деплоя
allomov
0
75
Other Decks in Technology
See All in Technology
クラウドセキュリティを支える技術と運用の最前線 / Cutting-edge Technologies and Operations Supporting Cloud Security
yuj1osm
2
250
オブザーバビリティが広げる AIOps の世界 / The World of AIOps Expanded by Observability
aoto
PRO
0
250
モダンフロントエンド 開発研修
recruitengineers
PRO
9
6.1k
おやつは300円まで!の最適化を模索してみた
techtekt
PRO
0
250
異業種出身エンジニアが気づいた、転向して十数年経っても変わらない自分の武器とは
macnekoayu
0
260
生成AI時代のデータ基盤
shibuiwilliam
4
1.9k
ここ一年のCCoEとしてのAWSコスト最適化を振り返る / CCoE AWS Cost Optimization devio2025
masahirokawahara
1
1.1k
今!ソフトウェアエンジニアがハードウェアに手を出すには
mackee
1
820
実践アプリケーション設計 ②トランザクションスクリプトへの対応
recruitengineers
PRO
4
1.2k
7月のガバクラ利用料が高かったので調べてみた
techniczna
3
810
AI時代に非連続な成長を実現するエンジニアリング戦略
sansantech
PRO
3
920
衝突して強くなる! BLUE GIANTと アジャイルチームの共通点とは ― いきいきと活気に満ちたグルーヴあるチームを作るコツ ― / BLUE GIANT and Agile Teams
naitosatoshi
0
290
Featured
See All Featured
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
229
22k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
126
53k
Thoughts on Productivity
jonyablonski
69
4.8k
Art, The Web, and Tiny UX
lynnandtonic
302
21k
Bash Introduction
62gerente
614
210k
Being A Developer After 40
akosma
90
590k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
185
54k
We Have a Design System, Now What?
morganepeng
53
7.8k
Practical Orchestrator
shlominoach
190
11k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
139
34k
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
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
đ