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
37
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
250
HTML and CSS
willrax
0
140
SKFun
willrax
4
2.4k
iBeacons and RubyMotion
willrax
5
380
Other Decks in Programming
See All in Programming
The grand strategy of Ruby Parser
yui_knk
5
420
ペパボOpenTelemetry革命
pyama86
2
1.2k
Productivity is Messing Around and Having Fun
hollycummins
1
190
How to implement a RubyVM with PHP?
memory1994
PRO
2
1.1k
freeeのエンジニアが 就活で出そうな コーディングテストを 解説してみる
freee
1
180
Using "modern" Ruby to build a better, faster Homebrew
mikemcquaid
2
300
JavaScript Closure
asoluka
0
2k
HonoのRPCで真の型安全が欲しかった
kosei28
1
160
An adventure of Happy Eyeballs
coe401_
1
310
TypeScriptでもLLMアプリケーション開発 / LLM Application In Typescript
rkaga
5
1.3k
スタックトレース始めてみた
kuro_kurorrr
5
1.2k
Docker_OSS_ホスティング入門
satokoki645
0
140
Featured
See All Featured
Facilitating Awesome Meetings
lara
43
5.6k
The World Runs on Bad Software
bkeepers
PRO
61
6.8k
The Pragmatic Product Professional
lauravandoore
26
5.9k
WebSockets: Embracing the real-time Web
robhawkes
59
7k
Code Reviewing Like a Champion
maltzj
516
39k
What's in a price? How to price your products and services
michaelherold
238
11k
Automating Front-end Workflow
addyosmani
1357
200k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
126
32k
The Brand Is Dead. Long Live the Brand.
mthomps
49
31k
GitHub's CSS Performance
jonrohan
1025
450k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
9
1.3k
Designing Experiences People Love
moore
136
23k
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