SlideShare a Scribd company logo
Write Cross-platform Native
Apps in Ruby
2017 February
#vilniusrb
Giedrius Rimkus
Ruby Developer @ PlateCulture - Social dining experiences
https://plateculture.com
Traditional native ways
Write cross platform native apps in Ruby
Tools to make hybrid apps
Other cross-platform tools to create native apps
RubyMotion
RubyMotion is a toolchain that allows developers to write native iOS
(iPhone, iPad), WatchOS (Apple Watch), OS X (laptop and desktop
computers) and Android (phones, tablets, TVs, wearable, etc) applications
in the Ruby programming language.
Write cross platform native apps in Ruby
Laurent Sansonetti
Write cross platform native apps in Ruby
Write cross platform native apps in Ruby
Write cross platform native apps in Ruby
Write cross platform native apps in Ruby
Write cross platform native apps in Ruby
Write cross platform native apps in Ruby
iOS
Android
Requirements (iOS)
You will need a Mac running OS X 10.9 or higher.
For iOS development, you will also need to install the iOS SDK and join the iOS
developer program in order to receive an application-signing certificate. You will
need an iOS device (iPhone or iPad) if you want to physically test your application.
For OS X development, you will need to join the Mac developer program if you
intend to deliver apps on the Mac App Store.
Requirements (Android)
For Android development, you will need to join the Google Play program and also
an Android device configured for development.
Requirements (Windows or Linux)
It works on Mac exclusively.
Memory management
RubyMotion provides automatic memory management; you do not need to reclaim
unused objects.
Since memory can be limited on iOS hardware, you must take care not to create
large object graphs.
Concurrency
The ability to run code concurrently became critical as multicore processors
appeared on iOS devices. RubyMotion has been designed around this purpose.
RubyMotion has the concept of virtual machine objects, which wrap the state of a
thread of execution. A piece of code is running through a virtual machine.
Virtual machines don’t have locks and there can be multiple virtual machines
running at the same time, concurrently.
Compliance
RubyMotion is 100% compliant with Apple's App Store and Google Play policies.
Your code is compiled ahead-of-time, never interpreted, and you access the entire
set of iOS, OS X and Android public APIs.
Once compiled, a RubyMotion app looks pretty much the same as an Objective-C
or Java app.
Write cross platform native apps in Ruby
ProMotion
ProMotion is a RubyMotion gem that makes iOS development more like Ruby and
less like Objective-C. It introduces a clean, Ruby-style syntax for building screens
that is easy to learn and remember and abstracts a ton of boilerplate
UIViewController, UINavigationController, and other iOS code into a simple,
Ruby-like DSL.
Write cross platform native apps in Ruby
Write cross platform native apps in Ruby
RedPotion
Framework for faster iOS development in Rubymotion.
BluePotion
Framework for faster Android development in Rubymotion.
Motion Game
Cross-platform game engine for RubyMotion
Success stories
Write cross platform native apps in Ruby
Write cross platform native apps in Ruby
Write cross platform native apps in Ruby
Pros
● Use the language you already know and love - Ruby.
● No need to use Xcode, pick your favorite editor and work from terminal.
● Pretty easy to get started.
● Repl (read, evaluate, print, loop)
● Final result - natively compiled application
Cons
● Commercial product, so it costs money
● Lack of tutorials, examples, documentations
● Outdated gems (companies moved to alternative solutions)
● Tiny community
DEMO
References
● https://github.com/infinitered/redpotion
● https://github.com/infinitered/bluepotion
● https://github.com/infinitered/ProMotion
● https://github.com/infinitered/rmq
● https://github.com/infinitered/cdq
● http://www.rubymotion.com
● https://motioninmotion.tv
● http://motion-toolbox.com
● https://github.com/torben/FlappyMotion
● https://motionpdx.github.io/blog/2016/01/20/getting-started-with-redpotion/
● https://www.youtube.com/watch?v=QjwugPJllEQ
● http://www.rubymotion.com/developers/guides/manuals/cocoa/runtime/
Questions?
Thank You
Write Cross-platform Native Apps in Ruby
Giedrius Rimkus

More Related Content

PDF
What is a Native Application and Why We Need Them
PDF
Xamarin for (not only) Android developers
PPTX
The iPhone development on windows
PPTX
Xamarin Best Cross Platform Mobile App Development Solution
PDF
C# everywhere
PPTX
Mobile Application Development Using Java
PPTX
Rapid Prototyping with Cordova aka Phonegap
PDF
Hire expert swift developer
What is a Native Application and Why We Need Them
Xamarin for (not only) Android developers
The iPhone development on windows
Xamarin Best Cross Platform Mobile App Development Solution
C# everywhere
Mobile Application Development Using Java
Rapid Prototyping with Cordova aka Phonegap
Hire expert swift developer

What's hot (20)

PPTX
Introduction to Xamarin
PPTX
[MobConf] Go mobile with C#, Visual Studio & Xamarin
PPTX
BlackBerry WebWorks
PPTX
Apps development for mobile devices
PPTX
iOS Development, with Swift and XCode
PDF
Top reason to choose flutter app development
PPTX
Mobile Application Development
PPTX
Flutter 2.2 version | skywave info solutions
PPTX
What and Why Flutter? What is a Widget in Flutter?
PDF
Top Cross-Platform App Development Frameworks for 2020
PPTX
ios app development
PPTX
Flutter single codebase to build your dream application for i os and android
PDF
Kotlin Tutorial for Beginners | Kotlin Android Tutorial | Edureka
PPTX
Create iOS and Android apps in Java with Multi-OS Engine
PDF
Flutter Tutorial For Beginners | Edureka
PPTX
Cross Platform Mobile Development with C# and Xamarin
PPTX
Telerik app builder
PDF
Flash Platform & Android
PPTX
Le novità di Xamarin e dello sviluppo Cross-Platform
PPTX
Introduction to Xamarin
[MobConf] Go mobile with C#, Visual Studio & Xamarin
BlackBerry WebWorks
Apps development for mobile devices
iOS Development, with Swift and XCode
Top reason to choose flutter app development
Mobile Application Development
Flutter 2.2 version | skywave info solutions
What and Why Flutter? What is a Widget in Flutter?
Top Cross-Platform App Development Frameworks for 2020
ios app development
Flutter single codebase to build your dream application for i os and android
Kotlin Tutorial for Beginners | Kotlin Android Tutorial | Edureka
Create iOS and Android apps in Java with Multi-OS Engine
Flutter Tutorial For Beginners | Edureka
Cross Platform Mobile Development with C# and Xamarin
Telerik app builder
Flash Platform & Android
Le novità di Xamarin e dello sviluppo Cross-Platform
Ad

Viewers also liked (17)

PPTX
Moving from Mandrill
PDF
Informe Técnico N° 20 Enero 2017 Del Proyecto: Aplicación De La Ctei Para E...
PDF
Medianet open sigma 2017
PDF
Gitでやるたのしい歴史改変
PDF
Quadra aps mes wms
PPTX
Työnohjaus johtajien kanssa
PDF
A session about advocate marketing for The House of Marketing
DOCX
Michael_Anderson_CV.NewFeb2017
PDF
Queijo minas frescal
PDF
Education. Ce qui change dans le 1er degré
DOCX
Subsidio transitorio-por-incapacidad
PDF
Federal and Private Sector Joint Venture Partnership for Data Innovation - Av...
PDF
Onderneming Robin Janssens moet verlies slikken
PPTX
Paparan program prioritas png
DOCX
Scott Callan 2017
PPTX
GE LED Tubes - Product presentation
PPTX
InternChina China Internship Programme 2017 presentation
Moving from Mandrill
Informe Técnico N° 20 Enero 2017 Del Proyecto: Aplicación De La Ctei Para E...
Medianet open sigma 2017
Gitでやるたのしい歴史改変
Quadra aps mes wms
Työnohjaus johtajien kanssa
A session about advocate marketing for The House of Marketing
Michael_Anderson_CV.NewFeb2017
Queijo minas frescal
Education. Ce qui change dans le 1er degré
Subsidio transitorio-por-incapacidad
Federal and Private Sector Joint Venture Partnership for Data Innovation - Av...
Onderneming Robin Janssens moet verlies slikken
Paparan program prioritas png
Scott Callan 2017
GE LED Tubes - Product presentation
InternChina China Internship Programme 2017 presentation
Ad

Similar to Write cross platform native apps in Ruby (20)

PPTX
Android | Xamarin | Mobile Application development
PDF
[Srijan Wednesday Webinars] Building Full-Fledged Native Apps Using RubyMotion
PPTX
Cross-Platform Development using Angulr JS in Visual Studio
PPT
iOS application development
PPTX
How Do I Pick the Best Platform for an iOS App?
PDF
Top Mobile App Development Tools for Creating High-Quality Apps
PDF
Bringing the Ruby language into the mobile world
PPTX
Progamming Path.pptx
PPTX
How to Choose the Best Platform for iOS App Development?
PDF
Top iOS App Development Tools That You Can Consider.pdf
PPTX
Development of Mobile Application -PPT
PPTX
Ruby for Android Apps Development Services
PPTX
Hybrid Mobile App Development - Xamarin
PDF
iOS app development Technologies, benefits, and use cases.pdf
PDF
iOS App Development on Windows A Comprehensive Guide.pdf
PDF
Cross-platform development frameworks
PDF
Mobile App Development Tools and Technologies.pdf
PDF
Green flag Wrap up Google Solution Challenge.pdf
PDF
Mono for Android... for Google Devs
PDF
Best mobile app development framework
Android | Xamarin | Mobile Application development
[Srijan Wednesday Webinars] Building Full-Fledged Native Apps Using RubyMotion
Cross-Platform Development using Angulr JS in Visual Studio
iOS application development
How Do I Pick the Best Platform for an iOS App?
Top Mobile App Development Tools for Creating High-Quality Apps
Bringing the Ruby language into the mobile world
Progamming Path.pptx
How to Choose the Best Platform for iOS App Development?
Top iOS App Development Tools That You Can Consider.pdf
Development of Mobile Application -PPT
Ruby for Android Apps Development Services
Hybrid Mobile App Development - Xamarin
iOS app development Technologies, benefits, and use cases.pdf
iOS App Development on Windows A Comprehensive Guide.pdf
Cross-platform development frameworks
Mobile App Development Tools and Technologies.pdf
Green flag Wrap up Google Solution Challenge.pdf
Mono for Android... for Google Devs
Best mobile app development framework

More from Giedrius Rimkus (6)

PDF
Empowered productivity
PDF
DIRT RALLY
PDF
Single Founder. Everything is possible when you believe at what you do!
PPTX
Shelly cloud & heroku & engineyard. Pros & Cons
PDF
Painless ruby deployment on shelly cloud
PDF
What is Chef and how we use it at tripsta
Empowered productivity
DIRT RALLY
Single Founder. Everything is possible when you believe at what you do!
Shelly cloud & heroku & engineyard. Pros & Cons
Painless ruby deployment on shelly cloud
What is Chef and how we use it at tripsta

Recently uploaded (20)

PPTX
bas. eng. economics group 4 presentation 1.pptx
PPT
Mechanical Engineering MATERIALS Selection
PPTX
MET 305 2019 SCHEME MODULE 2 COMPLETE.pptx
PPTX
Lecture Notes Electrical Wiring System Components
PDF
Mitigating Risks through Effective Management for Enhancing Organizational Pe...
PDF
keyrequirementskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
PDF
PRIZ Academy - 9 Windows Thinking Where to Invest Today to Win Tomorrow.pdf
PDF
Digital Logic Computer Design lecture notes
PPTX
Welding lecture in detail for understanding
DOCX
ASol_English-Language-Literature-Set-1-27-02-2023-converted.docx
PDF
R24 SURVEYING LAB MANUAL for civil enggi
PPTX
UNIT-1 - COAL BASED THERMAL POWER PLANTS
PDF
composite construction of structures.pdf
PPTX
Engineering Ethics, Safety and Environment [Autosaved] (1).pptx
PDF
The CXO Playbook 2025 – Future-Ready Strategies for C-Suite Leaders Cerebrai...
PDF
Mohammad Mahdi Farshadian CV - Prospective PhD Student 2026
PPTX
IOT PPTs Week 10 Lecture Material.pptx of NPTEL Smart Cities contd
PPTX
OOP with Java - Java Introduction (Basics)
PPTX
Internet of Things (IOT) - A guide to understanding
PPTX
UNIT 4 Total Quality Management .pptx
bas. eng. economics group 4 presentation 1.pptx
Mechanical Engineering MATERIALS Selection
MET 305 2019 SCHEME MODULE 2 COMPLETE.pptx
Lecture Notes Electrical Wiring System Components
Mitigating Risks through Effective Management for Enhancing Organizational Pe...
keyrequirementskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
PRIZ Academy - 9 Windows Thinking Where to Invest Today to Win Tomorrow.pdf
Digital Logic Computer Design lecture notes
Welding lecture in detail for understanding
ASol_English-Language-Literature-Set-1-27-02-2023-converted.docx
R24 SURVEYING LAB MANUAL for civil enggi
UNIT-1 - COAL BASED THERMAL POWER PLANTS
composite construction of structures.pdf
Engineering Ethics, Safety and Environment [Autosaved] (1).pptx
The CXO Playbook 2025 – Future-Ready Strategies for C-Suite Leaders Cerebrai...
Mohammad Mahdi Farshadian CV - Prospective PhD Student 2026
IOT PPTs Week 10 Lecture Material.pptx of NPTEL Smart Cities contd
OOP with Java - Java Introduction (Basics)
Internet of Things (IOT) - A guide to understanding
UNIT 4 Total Quality Management .pptx

Write cross platform native apps in Ruby

  • 1. Write Cross-platform Native Apps in Ruby 2017 February #vilniusrb
  • 2. Giedrius Rimkus Ruby Developer @ PlateCulture - Social dining experiences https://plateculture.com
  • 5. Tools to make hybrid apps
  • 6. Other cross-platform tools to create native apps
  • 8. RubyMotion is a toolchain that allows developers to write native iOS (iPhone, iPad), WatchOS (Apple Watch), OS X (laptop and desktop computers) and Android (phones, tablets, TVs, wearable, etc) applications in the Ruby programming language.
  • 17. iOS
  • 19. Requirements (iOS) You will need a Mac running OS X 10.9 or higher. For iOS development, you will also need to install the iOS SDK and join the iOS developer program in order to receive an application-signing certificate. You will need an iOS device (iPhone or iPad) if you want to physically test your application. For OS X development, you will need to join the Mac developer program if you intend to deliver apps on the Mac App Store.
  • 20. Requirements (Android) For Android development, you will need to join the Google Play program and also an Android device configured for development.
  • 21. Requirements (Windows or Linux) It works on Mac exclusively.
  • 22. Memory management RubyMotion provides automatic memory management; you do not need to reclaim unused objects. Since memory can be limited on iOS hardware, you must take care not to create large object graphs.
  • 23. Concurrency The ability to run code concurrently became critical as multicore processors appeared on iOS devices. RubyMotion has been designed around this purpose. RubyMotion has the concept of virtual machine objects, which wrap the state of a thread of execution. A piece of code is running through a virtual machine. Virtual machines don’t have locks and there can be multiple virtual machines running at the same time, concurrently.
  • 24. Compliance RubyMotion is 100% compliant with Apple's App Store and Google Play policies. Your code is compiled ahead-of-time, never interpreted, and you access the entire set of iOS, OS X and Android public APIs. Once compiled, a RubyMotion app looks pretty much the same as an Objective-C or Java app.
  • 26. ProMotion ProMotion is a RubyMotion gem that makes iOS development more like Ruby and less like Objective-C. It introduces a clean, Ruby-style syntax for building screens that is easy to learn and remember and abstracts a ton of boilerplate UIViewController, UINavigationController, and other iOS code into a simple, Ruby-like DSL.
  • 29. RedPotion Framework for faster iOS development in Rubymotion.
  • 30. BluePotion Framework for faster Android development in Rubymotion.
  • 31. Motion Game Cross-platform game engine for RubyMotion
  • 36. Pros ● Use the language you already know and love - Ruby. ● No need to use Xcode, pick your favorite editor and work from terminal. ● Pretty easy to get started. ● Repl (read, evaluate, print, loop) ● Final result - natively compiled application
  • 37. Cons ● Commercial product, so it costs money ● Lack of tutorials, examples, documentations ● Outdated gems (companies moved to alternative solutions) ● Tiny community
  • 38. DEMO
  • 39. References ● https://github.com/infinitered/redpotion ● https://github.com/infinitered/bluepotion ● https://github.com/infinitered/ProMotion ● https://github.com/infinitered/rmq ● https://github.com/infinitered/cdq ● http://www.rubymotion.com ● https://motioninmotion.tv ● http://motion-toolbox.com ● https://github.com/torben/FlappyMotion ● https://motionpdx.github.io/blog/2016/01/20/getting-started-with-redpotion/ ● https://www.youtube.com/watch?v=QjwugPJllEQ ● http://www.rubymotion.com/developers/guides/manuals/cocoa/runtime/
  • 41. Thank You Write Cross-platform Native Apps in Ruby Giedrius Rimkus