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
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.
Laurent Sansonetti
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.
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.
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
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

What's hot

Introduction to Xamarin
Introduction to XamarinIntroduction to Xamarin
Introduction to Xamarin
Guy Barrette
 
[MobConf] Go mobile with C#, Visual Studio & Xamarin
[MobConf] Go mobile with C#, Visual Studio & Xamarin[MobConf] Go mobile with C#, Visual Studio & Xamarin
[MobConf] Go mobile with C#, Visual Studio & Xamarin
Nish Anil
 
BlackBerry WebWorks
BlackBerry WebWorksBlackBerry WebWorks
BlackBerry WebWorks
Josue Bustos
 
Apps development for mobile devices
Apps development for mobile devicesApps development for mobile devices
Apps development for mobile devices
rdresler
 
iOS Development, with Swift and XCode
iOS Development, with Swift and XCodeiOS Development, with Swift and XCode
iOS Development, with Swift and XCode
Wan Leung Wong
 
Top reason to choose flutter app development
Top reason to choose flutter app developmentTop reason to choose flutter app development
Top reason to choose flutter app development
ElenorWisozk
 
Mobile Application Development
Mobile Application DevelopmentMobile Application Development
Mobile Application Development
Abhi583497
 
Flutter 2.2 version | skywave info solutions
Flutter 2.2 version | skywave info solutionsFlutter 2.2 version | skywave info solutions
Flutter 2.2 version | skywave info solutions
Skywave Info Solutions
 
What and Why Flutter? What is a Widget in Flutter?
What and Why Flutter? What is a Widget in Flutter?What and Why Flutter? What is a Widget in Flutter?
What and Why Flutter? What is a Widget in Flutter?
MohammadHussain595488
 
Top Cross-Platform App Development Frameworks for 2020
Top Cross-Platform App Development Frameworks for 2020Top Cross-Platform App Development Frameworks for 2020
Top Cross-Platform App Development Frameworks for 2020
Rockers Technology
 
ios app development
ios app developmentios app development
ios app development
Rapidsoft Technologies
 
Flutter single codebase to build your dream application for i os and android
Flutter single codebase to build your dream application for i os and android Flutter single codebase to build your dream application for i os and android
Flutter single codebase to build your dream application for i os and android
Concetto Labs
 
Kotlin Tutorial for Beginners | Kotlin Android Tutorial | Edureka
Kotlin Tutorial for Beginners | Kotlin Android Tutorial | EdurekaKotlin Tutorial for Beginners | Kotlin Android Tutorial | Edureka
Kotlin Tutorial for Beginners | Kotlin Android Tutorial | Edureka
Edureka!
 
Create iOS and Android apps in Java with Multi-OS Engine
Create iOS and Android apps in Java with Multi-OS Engine Create iOS and Android apps in Java with Multi-OS Engine
Create iOS and Android apps in Java with Multi-OS Engine
🌍Matthew Bartos
 
Flutter Tutorial For Beginners | Edureka
Flutter Tutorial For Beginners | EdurekaFlutter Tutorial For Beginners | Edureka
Flutter Tutorial For Beginners | Edureka
Edureka!
 
Cross Platform Mobile Development with C# and Xamarin
Cross Platform Mobile Development with C# and XamarinCross Platform Mobile Development with C# and Xamarin
Cross Platform Mobile Development with C# and Xamarin
KMS Technology
 
Telerik app builder
Telerik app builderTelerik app builder
Telerik app builder
mssaman
 
Flash Platform & Android
Flash Platform & AndroidFlash Platform & Android
Flash Platform & Androidluca mezzalira
 
Le novità di Xamarin e dello sviluppo Cross-Platform
Le novità di Xamarin e dello sviluppo Cross-PlatformLe novità di Xamarin e dello sviluppo Cross-Platform
Le novità di Xamarin e dello sviluppo Cross-Platform
Riccardo Cappello
 

What's hot (20)

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

Viewers also liked

Moving from Mandrill
Moving from MandrillMoving from Mandrill
Moving from Mandrill
Giedrius Rimkus
 
Informe Técnico N° 20 Enero 2017 Del Proyecto: Aplicación De La Ctei Para E...
  Informe Técnico N° 20 Enero 2017 Del Proyecto: Aplicación De La Ctei Para E...  Informe Técnico N° 20 Enero 2017 Del Proyecto: Aplicación De La Ctei Para E...
Informe Técnico N° 20 Enero 2017 Del Proyecto: Aplicación De La Ctei Para E...
PROYECTO MADERAS CHOCÓ
 
Medianet open sigma 2017
Medianet open sigma 2017Medianet open sigma 2017
Medianet open sigma 2017
youssef benhalima
 
Gitでやるたのしい歴史改変
Gitでやるたのしい歴史改変Gitでやるたのしい歴史改変
Gitでやるたのしい歴史改変
Kenichi KIBIHARA
 
Quadra aps mes wms
Quadra aps mes wmsQuadra aps mes wms
Quadra aps mes wms
Quadrivium srl
 
Työnohjaus johtajien kanssa
Työnohjaus johtajien kanssaTyönohjaus johtajien kanssa
Työnohjaus johtajien kanssa
Peter Peitsalo
 
A session about advocate marketing for The House of Marketing
A session about advocate marketing for The House of MarketingA session about advocate marketing for The House of Marketing
A session about advocate marketing for The House of Marketing
Pieter Moens
 
Michael_Anderson_CV.NewFeb2017
Michael_Anderson_CV.NewFeb2017Michael_Anderson_CV.NewFeb2017
Michael_Anderson_CV.NewFeb2017Michael Anderson
 
Queijo minas frescal
Queijo minas frescalQueijo minas frescal
Queijo minas frescal
Lenildo Araujo
 
Education. Ce qui change dans le 1er degré
Education. Ce qui change dans le 1er degréEducation. Ce qui change dans le 1er degré
Education. Ce qui change dans le 1er degré
Guyon Jacky
 
Subsidio transitorio-por-incapacidad
Subsidio transitorio-por-incapacidadSubsidio transitorio-por-incapacidad
Subsidio transitorio-por-incapacidad
Yadi Yanzapanta
 
Federal and Private Sector Joint Venture Partnership for Data Innovation - Av...
Federal and Private Sector Joint Venture Partnership for Data Innovation - Av...Federal and Private Sector Joint Venture Partnership for Data Innovation - Av...
Federal and Private Sector Joint Venture Partnership for Data Innovation - Av...
scoopnewsgroup
 
Onderneming Robin Janssens moet verlies slikken
Onderneming Robin Janssens moet verlies slikkenOnderneming Robin Janssens moet verlies slikken
Onderneming Robin Janssens moet verlies slikken
Thierry Debels
 
Paparan program prioritas png
Paparan program prioritas pngPaparan program prioritas png
Paparan program prioritas png
National Research and Innovation Agency
 
GE LED Tubes - Product presentation
GE LED Tubes - Product presentationGE LED Tubes - Product presentation
GE LED Tubes - Product presentation
GE Lighting Europe
 
InternChina China Internship Programme 2017 presentation
InternChina China Internship Programme 2017 presentationInternChina China Internship Programme 2017 presentation
InternChina China Internship Programme 2017 presentation
University of Sussex, Careers & Employability Centre
 

Viewers also liked (17)

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

Similar to Write cross platform native apps in Ruby

Android | Xamarin | Mobile Application development
Android | Xamarin | Mobile Application developmentAndroid | Xamarin | Mobile Application development
Android | Xamarin | Mobile Application development
KrishnaMildain
 
[Srijan Wednesday Webinars] Building Full-Fledged Native Apps Using RubyMotion
[Srijan Wednesday Webinars] Building Full-Fledged Native Apps Using RubyMotion[Srijan Wednesday Webinars] Building Full-Fledged Native Apps Using RubyMotion
[Srijan Wednesday Webinars] Building Full-Fledged Native Apps Using RubyMotion
Srijan Technologies
 
Cross-Platform Development using Angulr JS in Visual Studio
Cross-Platform Development using Angulr JS in Visual StudioCross-Platform Development using Angulr JS in Visual Studio
Cross-Platform Development using Angulr JS in Visual StudioMizanur Sarker
 
iOS application development
iOS application developmentiOS application development
iOS application development
Senthilkumar Selvaraj
 
How Do I Pick the Best Platform for an iOS App?
How Do I Pick the Best Platform for an iOS App?How Do I Pick the Best Platform for an iOS App?
How Do I Pick the Best Platform for an iOS App?
SemaphoreSoftware1
 
Bringing the Ruby language into the mobile world
Bringing the Ruby language into the mobile worldBringing the Ruby language into the mobile world
Bringing the Ruby language into the mobile world
Laurent Sansonetti
 
Progamming Path.pptx
Progamming Path.pptxProgamming Path.pptx
Progamming Path.pptx
FathoniMahardika1
 
How to Choose the Best Platform for iOS App Development?
How to Choose the Best Platform for iOS App Development?How to Choose the Best Platform for iOS App Development?
How to Choose the Best Platform for iOS App Development?
SemaphoreSoftware1
 
Top iOS App Development Tools That You Can Consider.pdf
Top iOS App Development Tools That You Can Consider.pdfTop iOS App Development Tools That You Can Consider.pdf
Top iOS App Development Tools That You Can Consider.pdf
HarryParker32
 
Development of Mobile Application -PPT
Development of Mobile Application -PPTDevelopment of Mobile Application -PPT
Development of Mobile Application -PPT
Dhivya T
 
Ruby for Android Apps Development Services
Ruby for Android Apps Development ServicesRuby for Android Apps Development Services
Ruby for Android Apps Development Services
Mobiloitte
 
Hybrid Mobile App Development - Xamarin
Hybrid Mobile App Development - XamarinHybrid Mobile App Development - Xamarin
Hybrid Mobile App Development - Xamarin
Deepu S Nath
 
iOS app development Technologies, benefits, and use cases.pdf
iOS app development Technologies, benefits, and use cases.pdfiOS app development Technologies, benefits, and use cases.pdf
iOS app development Technologies, benefits, and use cases.pdf
Laura Miller
 
Cross-platform development frameworks
Cross-platform development frameworksCross-platform development frameworks
Cross-platform development frameworks
Carlo Bernaschina
 
Green flag Wrap up Google Solution Challenge.pdf
Green flag Wrap up Google Solution Challenge.pdfGreen flag Wrap up Google Solution Challenge.pdf
Green flag Wrap up Google Solution Challenge.pdf
GoogleDeveloperStude22
 
Mono for Android... for Google Devs
Mono for Android... for Google DevsMono for Android... for Google Devs
Mono for Android... for Google Devs
Craig Dunn
 
Best mobile app development framework
Best mobile app development frameworkBest mobile app development framework
Best mobile app development framework
SatawareTechnologies
 
Which Language Is Best For iOS App Development.pdf
Which Language Is Best For iOS App Development.pdfWhich Language Is Best For iOS App Development.pdf
Which Language Is Best For iOS App Development.pdf
QServices Inc.
 
New Microsoft Word Document.pdf
New Microsoft Word Document.pdfNew Microsoft Word Document.pdf
New Microsoft Word Document.pdf
Basari Shamima
 
New Microsoft Word Document.pdf
New Microsoft Word Document.pdfNew Microsoft Word Document.pdf
New Microsoft Word Document.pdf
Basari Shamima
 

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

Android | Xamarin | Mobile Application development
Android | Xamarin | Mobile Application developmentAndroid | Xamarin | Mobile Application development
Android | Xamarin | Mobile Application development
 
[Srijan Wednesday Webinars] Building Full-Fledged Native Apps Using RubyMotion
[Srijan Wednesday Webinars] Building Full-Fledged Native Apps Using RubyMotion[Srijan Wednesday Webinars] Building Full-Fledged Native Apps Using RubyMotion
[Srijan Wednesday Webinars] Building Full-Fledged Native Apps Using RubyMotion
 
Cross-Platform Development using Angulr JS in Visual Studio
Cross-Platform Development using Angulr JS in Visual StudioCross-Platform Development using Angulr JS in Visual Studio
Cross-Platform Development using Angulr JS in Visual Studio
 
iOS application development
iOS application developmentiOS application development
iOS application development
 
How Do I Pick the Best Platform for an iOS App?
How Do I Pick the Best Platform for an iOS App?How Do I Pick the Best Platform for an iOS App?
How Do I Pick the Best Platform for an iOS App?
 
Bringing the Ruby language into the mobile world
Bringing the Ruby language into the mobile worldBringing the Ruby language into the mobile world
Bringing the Ruby language into the mobile world
 
Progamming Path.pptx
Progamming Path.pptxProgamming Path.pptx
Progamming Path.pptx
 
How to Choose the Best Platform for iOS App Development?
How to Choose the Best Platform for iOS App Development?How to Choose the Best Platform for iOS App Development?
How to Choose the Best Platform for iOS App Development?
 
Top iOS App Development Tools That You Can Consider.pdf
Top iOS App Development Tools That You Can Consider.pdfTop iOS App Development Tools That You Can Consider.pdf
Top iOS App Development Tools That You Can Consider.pdf
 
Development of Mobile Application -PPT
Development of Mobile Application -PPTDevelopment of Mobile Application -PPT
Development of Mobile Application -PPT
 
Ruby for Android Apps Development Services
Ruby for Android Apps Development ServicesRuby for Android Apps Development Services
Ruby for Android Apps Development Services
 
Hybrid Mobile App Development - Xamarin
Hybrid Mobile App Development - XamarinHybrid Mobile App Development - Xamarin
Hybrid Mobile App Development - Xamarin
 
iOS app development Technologies, benefits, and use cases.pdf
iOS app development Technologies, benefits, and use cases.pdfiOS app development Technologies, benefits, and use cases.pdf
iOS app development Technologies, benefits, and use cases.pdf
 
Cross-platform development frameworks
Cross-platform development frameworksCross-platform development frameworks
Cross-platform development frameworks
 
Green flag Wrap up Google Solution Challenge.pdf
Green flag Wrap up Google Solution Challenge.pdfGreen flag Wrap up Google Solution Challenge.pdf
Green flag Wrap up Google Solution Challenge.pdf
 
Mono for Android... for Google Devs
Mono for Android... for Google DevsMono for Android... for Google Devs
Mono for Android... for Google Devs
 
Best mobile app development framework
Best mobile app development frameworkBest mobile app development framework
Best mobile app development framework
 
Which Language Is Best For iOS App Development.pdf
Which Language Is Best For iOS App Development.pdfWhich Language Is Best For iOS App Development.pdf
Which Language Is Best For iOS App Development.pdf
 
New Microsoft Word Document.pdf
New Microsoft Word Document.pdfNew Microsoft Word Document.pdf
New Microsoft Word Document.pdf
 
New Microsoft Word Document.pdf
New Microsoft Word Document.pdfNew Microsoft Word Document.pdf
New Microsoft Word Document.pdf
 

More from Giedrius Rimkus

Empowered productivity
Empowered productivityEmpowered productivity
Empowered productivity
Giedrius Rimkus
 
DIRT RALLY
DIRT RALLYDIRT RALLY
DIRT RALLY
Giedrius Rimkus
 
Single Founder. Everything is possible when you believe at what you do!
Single Founder. Everything is possible when you believe at what you do!Single Founder. Everything is possible when you believe at what you do!
Single Founder. Everything is possible when you believe at what you do!
Giedrius Rimkus
 
Shelly cloud & heroku & engineyard. Pros & Cons
Shelly cloud & heroku & engineyard. Pros & ConsShelly cloud & heroku & engineyard. Pros & Cons
Shelly cloud & heroku & engineyard. Pros & Cons
Giedrius Rimkus
 
Painless ruby deployment on shelly cloud
Painless ruby deployment on shelly cloudPainless ruby deployment on shelly cloud
Painless ruby deployment on shelly cloudGiedrius Rimkus
 
What is Chef and how we use it at tripsta
What is Chef and how we use it at tripstaWhat is Chef and how we use it at tripsta
What is Chef and how we use it at tripsta
Giedrius Rimkus
 

More from Giedrius Rimkus (6)

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

Recently uploaded

Governing Equations for Fundamental Aerodynamics_Anderson2010.pdf
Governing Equations for Fundamental Aerodynamics_Anderson2010.pdfGoverning Equations for Fundamental Aerodynamics_Anderson2010.pdf
Governing Equations for Fundamental Aerodynamics_Anderson2010.pdf
WENKENLI1
 
一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单专业办理
一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单专业办理一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单专业办理
一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单专业办理
zwunae
 
Unbalanced Three Phase Systems and circuits.pptx
Unbalanced Three Phase Systems and circuits.pptxUnbalanced Three Phase Systems and circuits.pptx
Unbalanced Three Phase Systems and circuits.pptx
ChristineTorrepenida1
 
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
AJAYKUMARPUND1
 
Literature Review Basics and Understanding Reference Management.pptx
Literature Review Basics and Understanding Reference Management.pptxLiterature Review Basics and Understanding Reference Management.pptx
Literature Review Basics and Understanding Reference Management.pptx
Dr Ramhari Poudyal
 
Fundamentals of Electric Drives and its applications.pptx
Fundamentals of Electric Drives and its applications.pptxFundamentals of Electric Drives and its applications.pptx
Fundamentals of Electric Drives and its applications.pptx
manasideore6
 
NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...
NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...
NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...
Amil Baba Dawood bangali
 
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdfAKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
SamSarthak3
 
MCQ Soil mechanics questions (Soil shear strength).pdf
MCQ Soil mechanics questions (Soil shear strength).pdfMCQ Soil mechanics questions (Soil shear strength).pdf
MCQ Soil mechanics questions (Soil shear strength).pdf
Osamah Alsalih
 
Student information management system project report ii.pdf
Student information management system project report ii.pdfStudent information management system project report ii.pdf
Student information management system project report ii.pdf
Kamal Acharya
 
Harnessing WebAssembly for Real-time Stateless Streaming Pipelines
Harnessing WebAssembly for Real-time Stateless Streaming PipelinesHarnessing WebAssembly for Real-time Stateless Streaming Pipelines
Harnessing WebAssembly for Real-time Stateless Streaming Pipelines
Christina Lin
 
DfMAy 2024 - key insights and contributions
DfMAy 2024 - key insights and contributionsDfMAy 2024 - key insights and contributions
DfMAy 2024 - key insights and contributions
gestioneergodomus
 
Technical Drawings introduction to drawing of prisms
Technical Drawings introduction to drawing of prismsTechnical Drawings introduction to drawing of prisms
Technical Drawings introduction to drawing of prisms
heavyhaig
 
basic-wireline-operations-course-mahmoud-f-radwan.pdf
basic-wireline-operations-course-mahmoud-f-radwan.pdfbasic-wireline-operations-course-mahmoud-f-radwan.pdf
basic-wireline-operations-course-mahmoud-f-radwan.pdf
NidhalKahouli2
 
Building Electrical System Design & Installation
Building Electrical System Design & InstallationBuilding Electrical System Design & Installation
Building Electrical System Design & Installation
symbo111
 
Modelagem de um CSTR com reação endotermica.pdf
Modelagem de um CSTR com reação endotermica.pdfModelagem de um CSTR com reação endotermica.pdf
Modelagem de um CSTR com reação endotermica.pdf
camseq
 
Nuclear Power Economics and Structuring 2024
Nuclear Power Economics and Structuring 2024Nuclear Power Economics and Structuring 2024
Nuclear Power Economics and Structuring 2024
Massimo Talia
 
Online aptitude test management system project report.pdf
Online aptitude test management system project report.pdfOnline aptitude test management system project report.pdf
Online aptitude test management system project report.pdf
Kamal Acharya
 
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
bakpo1
 
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Dr.Costas Sachpazis
 

Recently uploaded (20)

Governing Equations for Fundamental Aerodynamics_Anderson2010.pdf
Governing Equations for Fundamental Aerodynamics_Anderson2010.pdfGoverning Equations for Fundamental Aerodynamics_Anderson2010.pdf
Governing Equations for Fundamental Aerodynamics_Anderson2010.pdf
 
一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单专业办理
一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单专业办理一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单专业办理
一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单专业办理
 
Unbalanced Three Phase Systems and circuits.pptx
Unbalanced Three Phase Systems and circuits.pptxUnbalanced Three Phase Systems and circuits.pptx
Unbalanced Three Phase Systems and circuits.pptx
 
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
 
Literature Review Basics and Understanding Reference Management.pptx
Literature Review Basics and Understanding Reference Management.pptxLiterature Review Basics and Understanding Reference Management.pptx
Literature Review Basics and Understanding Reference Management.pptx
 
Fundamentals of Electric Drives and its applications.pptx
Fundamentals of Electric Drives and its applications.pptxFundamentals of Electric Drives and its applications.pptx
Fundamentals of Electric Drives and its applications.pptx
 
NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...
NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...
NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...
 
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdfAKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
 
MCQ Soil mechanics questions (Soil shear strength).pdf
MCQ Soil mechanics questions (Soil shear strength).pdfMCQ Soil mechanics questions (Soil shear strength).pdf
MCQ Soil mechanics questions (Soil shear strength).pdf
 
Student information management system project report ii.pdf
Student information management system project report ii.pdfStudent information management system project report ii.pdf
Student information management system project report ii.pdf
 
Harnessing WebAssembly for Real-time Stateless Streaming Pipelines
Harnessing WebAssembly for Real-time Stateless Streaming PipelinesHarnessing WebAssembly for Real-time Stateless Streaming Pipelines
Harnessing WebAssembly for Real-time Stateless Streaming Pipelines
 
DfMAy 2024 - key insights and contributions
DfMAy 2024 - key insights and contributionsDfMAy 2024 - key insights and contributions
DfMAy 2024 - key insights and contributions
 
Technical Drawings introduction to drawing of prisms
Technical Drawings introduction to drawing of prismsTechnical Drawings introduction to drawing of prisms
Technical Drawings introduction to drawing of prisms
 
basic-wireline-operations-course-mahmoud-f-radwan.pdf
basic-wireline-operations-course-mahmoud-f-radwan.pdfbasic-wireline-operations-course-mahmoud-f-radwan.pdf
basic-wireline-operations-course-mahmoud-f-radwan.pdf
 
Building Electrical System Design & Installation
Building Electrical System Design & InstallationBuilding Electrical System Design & Installation
Building Electrical System Design & Installation
 
Modelagem de um CSTR com reação endotermica.pdf
Modelagem de um CSTR com reação endotermica.pdfModelagem de um CSTR com reação endotermica.pdf
Modelagem de um CSTR com reação endotermica.pdf
 
Nuclear Power Economics and Structuring 2024
Nuclear Power Economics and Structuring 2024Nuclear Power Economics and Structuring 2024
Nuclear Power Economics and Structuring 2024
 
Online aptitude test management system project report.pdf
Online aptitude test management system project report.pdfOnline aptitude test management system project report.pdf
Online aptitude test management system project report.pdf
 
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
 
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
 

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
  • 4.
  • 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.
  • 9.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 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.
  • 25.
  • 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.
  • 27.
  • 28.
  • 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
  • 33.
  • 34.
  • 35.
  • 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