Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Rubymotion. Sugar for iOS.
Search
Aliaksandr Lomau
December 07, 2013
Technology
210
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Rubymotion. Sugar for iOS.
Cocoaheads, Grodno, December, 2013
Aliaksandr Lomau
December 07, 2013
More Decks by Aliaksandr Lomau
See All by Aliaksandr Lomau
Fails Night
allomov
0
67
"Ya Ne Lochu Comp" Challenge.
allomov
1
110
Catch and Throw in Ruby
allomov
0
66
Mortal Rubizza
allomov
0
110
Рэмбовидная проблема: особенности развития открытых технологий
allomov
0
71
Vault-tec: Safest Future
allomov
0
300
Promises and Reality
allomov
1
71
Cloud Theory for Rubizza Classes
allomov
0
110
Антология деплоя
allomov
0
96
Other Decks in Technology
See All in Technology
AIに攻撃される前に、AIに攻撃させる
tsuchikazu
0
170
「事実」を「計測」して、「解釈」する 〜AWS Lambdaのメモリ最適解の見つけ方〜
maimyyym
0
140
夫婦で子育てするための育児標準化
codmoninc
PRO
0
200
USB PDを使ってスマホを労わりたい
raspython3
0
160
実体験から学ぶ分析エージェントの開発と運⽤
recruitengineers
PRO
8
2.2k
契約書画像からの情報抽出に特化した視覚接地モデルを育てる話
sansantech
PRO
1
170
メルペイ 会計システム概要と歴史
mewuto
1
210
⾮構造化データを価値に変える AI エージェント基盤とその組織
ivry_presentationmaterials
0
130
実践!Cloud Run ハンズオン!! / Cloud Run handson
y0hgi
0
230
V8のArray.prototype.flatを最大約20倍速くするまでと、巨大OSSへの大規模コミットの道のり
riyaamemiya
0
270
Cognition AI Japan - ウェビナー2_テストQA_運用監視
cogakira
0
140
Essential architectural thinking (revised edition)
ufried
0
110
Featured
See All Featured
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
530
Context Engineering - Making Every Token Count
addyosmani
9
1.2k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
53k
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
570
The SEO identity crisis: Don't let AI make you average
varn
0
590
Darren the Foodie - Storyboard
khoart
PRO
4
4k
Large-scale JavaScript Application Architecture
addyosmani
516
110k
Building the Perfect Custom Keyboard
takai
2
900
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
Raft: Consensus for Rubyists
vanstee
142
7.8k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
620
New Earth Scene 8
popppiees
4
2.7k
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
đ