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
RedPotion Introduction
Search
willrax
May 13, 2015
Programming
0
55
RedPotion Introduction
An introduction to using RedPotion. The power of RMQ and ProMotion.
willrax
May 13, 2015
Tweet
Share
More Decks by willrax
See All by willrax
Testing Ember with Ember CLI Mirage
willrax
1
270
HTML and CSS
willrax
0
160
SKFun
willrax
4
2.6k
iBeacons and RubyMotion
willrax
5
410
Other Decks in Programming
See All in Programming
humanlayerのブログから学ぶ、良いCLAUDE.mdの書き方
tsukamoto1783
0
190
Unicodeどうしてる? PHPから見たUnicode対応と他言語での対応についてのお伺い
youkidearitai
PRO
1
1.1k
Apache Iceberg V3 and migration to V3
tomtanaka
0
150
AIによる高速開発をどう制御するか? ガードレール設置で開発速度と品質を両立させたチームの事例
tonkotsuboy_com
7
2k
MUSUBIXとは
nahisaho
0
130
CSC307 Lecture 05
javiergs
PRO
0
500
dchart: charts from deck markup
ajstarks
3
990
生成AIを使ったコードレビューで定性的に品質カバー
chiilog
1
250
なぜSQLはAIぽく見えるのか/why does SQL look AI like
florets1
0
450
AIと一緒にレガシーに向き合ってみた
nyafunta9858
0
180
AtCoder Conference 2025
shindannin
0
1k
CSC307 Lecture 03
javiergs
PRO
1
490
Featured
See All Featured
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
61
52k
So, you think you're a good person
axbom
PRO
2
1.9k
Joys of Absence: A Defence of Solitary Play
codingconduct
1
290
Facilitating Awesome Meetings
lara
57
6.7k
How to make the Groovebox
asonas
2
1.9k
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
53
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
250
How STYLIGHT went responsive
nonsquared
100
6k
The SEO Collaboration Effect
kristinabergwall1
0
350
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
3.9k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
320
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.2k
Transcript
willrax GitHub | Twitter | .com
AlphaSights engineering.alphasights.com
RedPotion
A Tale of Two Libraries
ProMotion’s Rubyification
App Delegate
App Delegate Entry Point
class AppDelegate def application(application, didFinishLaunchingWithOptions:launchOptions) controller = TopicsScreen.alloc.init controller.title =
"Application" controller.view.backgroundColor = UIColor.whiteColor navigation = UINavigationController.alloc .initWithRootViewController(controller) @window = UIWindow.alloc.initWithFrame(UIScreen.mainScreen.bounds) @window.rootViewController = navigation @window.makeKeyAndVisible true end end
class AppDelegate < PM::Delegate status_bar true, animation: :fade def on_load(app,
options) open TopicsScreen.new(nav_bar: true) end end
Loading Table Data
def tableView(table, cellForRowAtIndexPath: index_path) end def numberOfSectionsInTableView(table) end def tableView(table,
numberOfRowsInSection: section) end
def table_data [{ title: "", cells: topics.map do |topic| {
title: topic.title, subtitle: "Last Poster: #{topic.last_poster}", action: :open_profile, arguments: { topic: topic } } end }] end
Fallback to Cocoa API
Forms In App Purchases Maps Side Menus Many More…
ProMotion
ProMotion
RMQ’s UI Magic
class UserScreenStylesheet < ApplicationStylesheet def root_view(style) style.background_color = color.white end
def name_label(style) style.frame = { top: 90, from_right: 20, right_of_previous: 20, height: 150 } style.number_of_lines = 0 style.text_alignment = :left style.line_break_mode = :word_wrapping style.font = UIFont.boldSystemFontOfSize(25.0) end end
class UserScreen < PM::Screen stylesheet UserScreenStylesheet def stylesheet build_initial_ui end
def build_initial_ui append(UIImageView, :avatar_image) append(UILabel, :name) append(UILabel, :details_title) append(UILabel, :last_seen_at) end end
ProMotion RMQ ❤
Commonly Used Gems
RMQ ProMotion CDQ AFMotion
Simple Structure
app views models stylesheets screens
potion create
Demo Time