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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Aliaksandr Lomau
December 07, 2013
Technology
220
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
Transcript
20 slides
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
đ
More Decks by Aliaksandr Lomau
See All by Aliaksandr Lomau
Fails Night
allomov
0
69
"Ya Ne Lochu Comp" Challenge.
allomov
1
110
Catch and Throw in Ruby
allomov
0
71
Mortal Rubizza
allomov
0
120
Рэмбовидная проблема: особенности развития открытых технологий
allomov
0
77
Vault-tec: Safest Future
allomov
0
310
Promises and Reality
allomov
1
73
Cloud Theory for Rubizza Classes
allomov
0
110
Антология деплоя
allomov
0
98
Other Decks in Technology
See All in Technology
Kiro CLI 入門 (ターミナルと CI で使う) | 目指せ Kiro マスター 03
inariku
PRO
2
150
AWS Quick 入門 | 目指せ Quick マスター 01
inariku
PRO
2
350
ライフワーク「猫でもわかるDirectConnect」
kentapapa
0
330
農夫は秘伝のタレを知らない - NOBODY KNOWS THE HIDDEN SOURCE - Kaggriculture 3rd Place Solution
masspeaks
0
330
アラートを見直していたら営業組織への理解にちょっとだけ繋がった話
z63d
1
200
大江戸Ruby会議でデータベース クライアントの話をするのは 間違っているだろうか
yahonda
1
130
田んぼの見回りをIoTで減らしたい!水位監視から電池駆動カメラまでの試行錯誤
itosoft
1
210
Frontier Teams — Amazon は AI で「開発のやり方」をどう変えたのか
kmotohas
0
260
AWS基盤改善を支える 私たちの理念と行動指針
kentosuzuki
0
220
AIネイティブ組織の作り方。1人のPOとAIから始める、自社での実験
ama_ch
1
650
Reticulum, le réseau cypherpunk dont vous avez besoin !
rlifchitz
0
140
狙われているAPIの脆弱性!今こそ手をつけるべき根本的な対策とは?
nagix
0
130
Featured
See All Featured
How to train your dragon (web standard)
notwaldorf
96
6.9k
Product Roadmaps are Hard
iamctodd
55
13k
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.8k
Principles of Awesome APIs and How to Build Them.
keavy
128
18k
Claude Code のすすめ
schroneko
67
230k
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
670
YesSQL, Process and Tooling at Scale
rocio
174
15k
Paper Plane (Part 1)
katiecoart
PRO
3
12k
Large-scale JavaScript Application Architecture
addyosmani
516
110k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.7k
Git: the NoSQL Database
bkeepers
PRO
433
67k