SlideShare a Scribd company logo
Using Ruby for AndroidDevelopment
Background Android is a big step forward in mobile operating systems But… Java? Dynamic script languages are more productive And don’t have to be too slow Four main ways to leverage Ruby…
Leveraging  Ruby for Android Scripting: automate phone tasks and testing “From scratch” app development  replace Java Framework development Less Ruby, compiled Ruby App integration Full Ruby via server
Ruboto http://github.com/ruboto Ruboto-core [sudo] gem install ruboto-core Ruboto-core-irb Ruboto-demos * Ruboto slides here derived from earlier presentations by Daniel Jackoway.  Apologies for missing attribution in original post.
Android in Ruby public void Activity.onCreate(Bundle bundle) public void Activity.onPause() public void onClick(View view) handle_create do |bundle| handle_pause do handle_click do |view|
How It Works YourActivity < RubotoActivity < Activity ,[object Object]
They tell Ruby to exec blocks, pass params along,[object Object]
Activities only
Can’t ship .apk,[object Object]
Anything you can do with Java
Zero Java
Zero XML
Support plugins,[object Object]
JRuby (rvm)
Android SDK
Generate an emulator
gem install ruboto-core,[object Object]
$ --name andevcon   # Name of app
$ --target android-8  # Froyo
$ --activity MyActivity # Name of Activity,[object Object]
$ --name andevcon   # Name of app
$ --target android-8  # Froyo

More Related Content

What's hot

React Native for multi-platform mobile applications - Matteo Manchi - Codemo...
React Native for multi-platform mobile applications  - Matteo Manchi - Codemo...React Native for multi-platform mobile applications  - Matteo Manchi - Codemo...
React Native for multi-platform mobile applications - Matteo Manchi - Codemo...
Codemotion
 
React-Native for multi-platform mobile applications @ Codemotion Rome 2017
React-Native for multi-platform mobile applications @ Codemotion Rome 2017React-Native for multi-platform mobile applications @ Codemotion Rome 2017
React-Native for multi-platform mobile applications @ Codemotion Rome 2017
Matteo Manchi
 
Creating books app with react native
Creating books app with react nativeCreating books app with react native
Creating books app with react native
Ali Sa'o
 
A tour of React Native
A tour of React NativeA tour of React Native
A tour of React Native
Tadeu Zagallo
 
Experiences building apps with React Native @DomCode 2016
Experiences building apps with React Native @DomCode 2016Experiences building apps with React Native @DomCode 2016
Experiences building apps with React Native @DomCode 2016
Adrian Philipp
 
React native
React nativeReact native
React native
Omid Nikrah
 
React Native for multi-platform mobile applications
React Native for multi-platform mobile applicationsReact Native for multi-platform mobile applications
React Native for multi-platform mobile applications
Matteo Manchi
 
Flutter Intro
Flutter IntroFlutter Intro
Flutter Intro
Vladimir Parfenov
 
What is FED
What is FEDWhat is FED
What is FED
Sam Lee
 
What's This React Native Thing I Keep Hearing About?
What's This React Native Thing I Keep Hearing About?What's This React Native Thing I Keep Hearing About?
What's This React Native Thing I Keep Hearing About?
Evan Stone
 
Librerías Opensoure de Square
Librerías Opensoure de Square Librerías Opensoure de Square
Librerías Opensoure de Square
betabeers
 
Learn Once; Write Anywhere
Learn Once; Write AnywhereLearn Once; Write Anywhere
Learn Once; Write Anywhere
Prateek Bhatnagar
 
React Native "A Bad Idea Or A Game Changer" at Code Mania 101
React Native "A Bad Idea Or A Game Changer" at Code Mania 101React Native "A Bad Idea Or A Game Changer" at Code Mania 101
React Native "A Bad Idea Or A Game Changer" at Code Mania 101
Ranatchai Chernbamrung
 
Introduction to React Native
Introduction to React NativeIntroduction to React Native
Introduction to React Native
Waqqas Jabbar
 
OpenAPI development with Python
OpenAPI development with PythonOpenAPI development with Python
OpenAPI development with Python
Takuro Wada
 
Google flutter and why does it matter
Google flutter and why does it matterGoogle flutter and why does it matter
Google flutter and why does it matter
Ahmed Abu Eldahab
 
React Native
React NativeReact Native
React Native
Fatih Şimşek
 
React Native
React NativeReact Native
React Native
Craig Jolicoeur
 
Lo mejor y peor de React Native @ValenciaJS
Lo mejor y peor de React Native @ValenciaJSLo mejor y peor de React Native @ValenciaJS
Lo mejor y peor de React Native @ValenciaJS
Marcel Kalveram
 
Android is going to Go! Android and Golang
Android is going to Go! Android and GolangAndroid is going to Go! Android and Golang
Android is going to Go! Android and Golang
Almog Baku
 

What's hot (20)

React Native for multi-platform mobile applications - Matteo Manchi - Codemo...
React Native for multi-platform mobile applications  - Matteo Manchi - Codemo...React Native for multi-platform mobile applications  - Matteo Manchi - Codemo...
React Native for multi-platform mobile applications - Matteo Manchi - Codemo...
 
React-Native for multi-platform mobile applications @ Codemotion Rome 2017
React-Native for multi-platform mobile applications @ Codemotion Rome 2017React-Native for multi-platform mobile applications @ Codemotion Rome 2017
React-Native for multi-platform mobile applications @ Codemotion Rome 2017
 
Creating books app with react native
Creating books app with react nativeCreating books app with react native
Creating books app with react native
 
A tour of React Native
A tour of React NativeA tour of React Native
A tour of React Native
 
Experiences building apps with React Native @DomCode 2016
Experiences building apps with React Native @DomCode 2016Experiences building apps with React Native @DomCode 2016
Experiences building apps with React Native @DomCode 2016
 
React native
React nativeReact native
React native
 
React Native for multi-platform mobile applications
React Native for multi-platform mobile applicationsReact Native for multi-platform mobile applications
React Native for multi-platform mobile applications
 
Flutter Intro
Flutter IntroFlutter Intro
Flutter Intro
 
What is FED
What is FEDWhat is FED
What is FED
 
What's This React Native Thing I Keep Hearing About?
What's This React Native Thing I Keep Hearing About?What's This React Native Thing I Keep Hearing About?
What's This React Native Thing I Keep Hearing About?
 
Librerías Opensoure de Square
Librerías Opensoure de Square Librerías Opensoure de Square
Librerías Opensoure de Square
 
Learn Once; Write Anywhere
Learn Once; Write AnywhereLearn Once; Write Anywhere
Learn Once; Write Anywhere
 
React Native "A Bad Idea Or A Game Changer" at Code Mania 101
React Native "A Bad Idea Or A Game Changer" at Code Mania 101React Native "A Bad Idea Or A Game Changer" at Code Mania 101
React Native "A Bad Idea Or A Game Changer" at Code Mania 101
 
Introduction to React Native
Introduction to React NativeIntroduction to React Native
Introduction to React Native
 
OpenAPI development with Python
OpenAPI development with PythonOpenAPI development with Python
OpenAPI development with Python
 
Google flutter and why does it matter
Google flutter and why does it matterGoogle flutter and why does it matter
Google flutter and why does it matter
 
React Native
React NativeReact Native
React Native
 
React Native
React NativeReact Native
React Native
 
Lo mejor y peor de React Native @ValenciaJS
Lo mejor y peor de React Native @ValenciaJSLo mejor y peor de React Native @ValenciaJS
Lo mejor y peor de React Native @ValenciaJS
 
Android is going to Go! Android and Golang
Android is going to Go! Android and GolangAndroid is going to Go! Android and Golang
Android is going to Go! Android and Golang
 

Similar to Using Ruby in Android Development

Building native Android applications with Mirah and Pindah
Building native Android applications with Mirah and PindahBuilding native Android applications with Mirah and Pindah
Building native Android applications with Mirah and Pindah
Nick Plante
 
React Native +Redux + ES6 (Updated)
React Native +Redux + ES6 (Updated)React Native +Redux + ES6 (Updated)
React Native +Redux + ES6 (Updated)
Chiew Carol
 
Ruby On Rails Seminar Basis Softexpo Feb2010
Ruby On Rails Seminar Basis Softexpo Feb2010Ruby On Rails Seminar Basis Softexpo Feb2010
Ruby On Rails Seminar Basis Softexpo Feb2010arif44
 
Baruco 2014 - Rubymotion Workshop
Baruco 2014 - Rubymotion WorkshopBaruco 2014 - Rubymotion Workshop
Baruco 2014 - Rubymotion WorkshopBrian Sam-Bodden
 
Crossing the Bridge: Connecting Rails and your Front-end Framework
Crossing the Bridge: Connecting Rails and your Front-end FrameworkCrossing the Bridge: Connecting Rails and your Front-end Framework
Crossing the Bridge: Connecting Rails and your Front-end Framework
Daniel Spector
 
Rapid Prototyping FTW!!!
Rapid Prototyping FTW!!!Rapid Prototyping FTW!!!
Rapid Prototyping FTW!!!
cloudbring
 
Unlocking Android
Unlocking AndroidUnlocking Android
Unlocking Android
360|Conferences
 
Sst hackathon express
Sst hackathon expressSst hackathon express
Sst hackathon express
Aeshan Wijetunge
 
Mobile Development integration tests
Mobile Development integration testsMobile Development integration tests
Mobile Development integration tests
Kenneth Poon
 
HTML5 Can't Do That
HTML5 Can't Do ThatHTML5 Can't Do That
HTML5 Can't Do That
Nathan Smith
 
Intro to Rails
Intro to RailsIntro to Rails
Intro to Rails
lvrubygroup
 
Ruby On Rails Tutorial
Ruby On Rails TutorialRuby On Rails Tutorial
Ruby On Rails Tutorialsunniboy
 
An OpenShift Primer for Developers to get your Code into the Cloud (PTJUG)
An OpenShift Primer for Developers to get your Code into the Cloud (PTJUG)An OpenShift Primer for Developers to get your Code into the Cloud (PTJUG)
An OpenShift Primer for Developers to get your Code into the Cloud (PTJUG)
Eric D. Schabell
 
Connect.js 2015 - Building Native Mobile Applications with Javascript
Connect.js 2015 - Building Native Mobile Applications with JavascriptConnect.js 2015 - Building Native Mobile Applications with Javascript
Connect.js 2015 - Building Native Mobile Applications with Javascript
joshcjensen
 
Ruby On Rails Introduction
Ruby On Rails IntroductionRuby On Rails Introduction
Ruby On Rails Introduction
Gustavo Andres Brey
 
sMash at May NYPHP UG
sMash at May NYPHP UGsMash at May NYPHP UG
sMash at May NYPHP UG
Project Zero
 
Connecting with the enterprise - The how and why of connecting to Enterprise ...
Connecting with the enterprise - The how and why of connecting to Enterprise ...Connecting with the enterprise - The how and why of connecting to Enterprise ...
Connecting with the enterprise - The how and why of connecting to Enterprise ...
Kevin Poorman
 

Similar to Using Ruby in Android Development (20)

Building native Android applications with Mirah and Pindah
Building native Android applications with Mirah and PindahBuilding native Android applications with Mirah and Pindah
Building native Android applications with Mirah and Pindah
 
Rhodes Overview
Rhodes OverviewRhodes Overview
Rhodes Overview
 
React Native +Redux + ES6 (Updated)
React Native +Redux + ES6 (Updated)React Native +Redux + ES6 (Updated)
React Native +Redux + ES6 (Updated)
 
Intro to PhoneGap
Intro to PhoneGapIntro to PhoneGap
Intro to PhoneGap
 
Ruby On Rails Seminar Basis Softexpo Feb2010
Ruby On Rails Seminar Basis Softexpo Feb2010Ruby On Rails Seminar Basis Softexpo Feb2010
Ruby On Rails Seminar Basis Softexpo Feb2010
 
Baruco 2014 - Rubymotion Workshop
Baruco 2014 - Rubymotion WorkshopBaruco 2014 - Rubymotion Workshop
Baruco 2014 - Rubymotion Workshop
 
Crossing the Bridge: Connecting Rails and your Front-end Framework
Crossing the Bridge: Connecting Rails and your Front-end FrameworkCrossing the Bridge: Connecting Rails and your Front-end Framework
Crossing the Bridge: Connecting Rails and your Front-end Framework
 
Rapid Prototyping FTW!!!
Rapid Prototyping FTW!!!Rapid Prototyping FTW!!!
Rapid Prototyping FTW!!!
 
Unlocking Android
Unlocking AndroidUnlocking Android
Unlocking Android
 
Sst hackathon express
Sst hackathon expressSst hackathon express
Sst hackathon express
 
Mobile Development integration tests
Mobile Development integration testsMobile Development integration tests
Mobile Development integration tests
 
HTML5 Can't Do That
HTML5 Can't Do ThatHTML5 Can't Do That
HTML5 Can't Do That
 
Intro to Rails
Intro to RailsIntro to Rails
Intro to Rails
 
Ruby On Rails Tutorial
Ruby On Rails TutorialRuby On Rails Tutorial
Ruby On Rails Tutorial
 
An OpenShift Primer for Developers to get your Code into the Cloud (PTJUG)
An OpenShift Primer for Developers to get your Code into the Cloud (PTJUG)An OpenShift Primer for Developers to get your Code into the Cloud (PTJUG)
An OpenShift Primer for Developers to get your Code into the Cloud (PTJUG)
 
Connect.js 2015 - Building Native Mobile Applications with Javascript
Connect.js 2015 - Building Native Mobile Applications with JavascriptConnect.js 2015 - Building Native Mobile Applications with Javascript
Connect.js 2015 - Building Native Mobile Applications with Javascript
 
Ruby On Rails Introduction
Ruby On Rails IntroductionRuby On Rails Introduction
Ruby On Rails Introduction
 
Ruboto
RubotoRuboto
Ruboto
 
sMash at May NYPHP UG
sMash at May NYPHP UGsMash at May NYPHP UG
sMash at May NYPHP UG
 
Connecting with the enterprise - The how and why of connecting to Enterprise ...
Connecting with the enterprise - The how and why of connecting to Enterprise ...Connecting with the enterprise - The how and why of connecting to Enterprise ...
Connecting with the enterprise - The how and why of connecting to Enterprise ...
 

More from Adam Blum

Sensing Mobile Devices talk from QCon London 2013
Sensing Mobile Devices talk from QCon London 2013Sensing Mobile Devices talk from QCon London 2013
Sensing Mobile Devices talk from QCon London 2013
Adam Blum
 
Mobile Computing Summit: Best Practices in Enterprise Smartphone Apps
Mobile Computing Summit: Best Practices in Enterprise Smartphone AppsMobile Computing Summit: Best Practices in Enterprise Smartphone Apps
Mobile Computing Summit: Best Practices in Enterprise Smartphone Apps
Adam Blum
 
Mobile Connections: Rhomobile Training
Mobile Connections: Rhomobile TrainingMobile Connections: Rhomobile Training
Mobile Connections: Rhomobile Training
Adam Blum
 
iPhoneDevCon: Building Effective Enterprise Smartphone Apps
iPhoneDevCon: Building Effective Enterprise Smartphone AppsiPhoneDevCon: Building Effective Enterprise Smartphone Apps
iPhoneDevCon: Building Effective Enterprise Smartphone Apps
Adam Blum
 
Transform Your Enterprise with Smartphones
Transform Your Enterprise with SmartphonesTransform Your Enterprise with Smartphones
Transform Your Enterprise with Smartphones
Adam Blum
 
MobiCASE: Effective Informational Smartphone Apps
MobiCASE: Effective Informational Smartphone AppsMobiCASE: Effective Informational Smartphone Apps
MobiCASE: Effective Informational Smartphone AppsAdam Blum
 
Writing Native Smartphone Apps in Rhodes 2.0
Writing Native Smartphone Apps in Rhodes 2.0Writing Native Smartphone Apps in Rhodes 2.0
Writing Native Smartphone Apps in Rhodes 2.0
Adam Blum
 
Rhomobile.dist
Rhomobile.distRhomobile.dist
Rhomobile.distAdam Blum
 
Building Native Smartphone Apps with Rhodes
Building Native Smartphone Apps with RhodesBuilding Native Smartphone Apps with Rhodes
Building Native Smartphone Apps with Rhodes
Adam Blum
 
Best Practices in Smartphone Business Apps
Best Practices in Smartphone Business AppsBest Practices in Smartphone Business Apps
Best Practices in Smartphone Business Apps
Adam Blum
 
Whither Smartphone Development
Whither Smartphone DevelopmentWhither Smartphone Development
Whither Smartphone Development
Adam Blum
 
best practices in smartphone business apps
best practices in smartphone business appsbest practices in smartphone business apps
best practices in smartphone business apps
Adam Blum
 
Rhodes E Ruby Con
Rhodes E Ruby ConRhodes E Ruby Con
Rhodes E Ruby ConAdam Blum
 
Rhodes Future Ruby
Rhodes Future RubyRhodes Future Ruby
Rhodes Future RubyAdam Blum
 
Rhodes Ruby Nation
Rhodes Ruby NationRhodes Ruby Nation
Rhodes Ruby NationAdam Blum
 
Rhodes Eu Ru Ko
Rhodes Eu Ru KoRhodes Eu Ru Ko
Rhodes Eu Ru KoAdam Blum
 

More from Adam Blum (16)

Sensing Mobile Devices talk from QCon London 2013
Sensing Mobile Devices talk from QCon London 2013Sensing Mobile Devices talk from QCon London 2013
Sensing Mobile Devices talk from QCon London 2013
 
Mobile Computing Summit: Best Practices in Enterprise Smartphone Apps
Mobile Computing Summit: Best Practices in Enterprise Smartphone AppsMobile Computing Summit: Best Practices in Enterprise Smartphone Apps
Mobile Computing Summit: Best Practices in Enterprise Smartphone Apps
 
Mobile Connections: Rhomobile Training
Mobile Connections: Rhomobile TrainingMobile Connections: Rhomobile Training
Mobile Connections: Rhomobile Training
 
iPhoneDevCon: Building Effective Enterprise Smartphone Apps
iPhoneDevCon: Building Effective Enterprise Smartphone AppsiPhoneDevCon: Building Effective Enterprise Smartphone Apps
iPhoneDevCon: Building Effective Enterprise Smartphone Apps
 
Transform Your Enterprise with Smartphones
Transform Your Enterprise with SmartphonesTransform Your Enterprise with Smartphones
Transform Your Enterprise with Smartphones
 
MobiCASE: Effective Informational Smartphone Apps
MobiCASE: Effective Informational Smartphone AppsMobiCASE: Effective Informational Smartphone Apps
MobiCASE: Effective Informational Smartphone Apps
 
Writing Native Smartphone Apps in Rhodes 2.0
Writing Native Smartphone Apps in Rhodes 2.0Writing Native Smartphone Apps in Rhodes 2.0
Writing Native Smartphone Apps in Rhodes 2.0
 
Rhomobile.dist
Rhomobile.distRhomobile.dist
Rhomobile.dist
 
Building Native Smartphone Apps with Rhodes
Building Native Smartphone Apps with RhodesBuilding Native Smartphone Apps with Rhodes
Building Native Smartphone Apps with Rhodes
 
Best Practices in Smartphone Business Apps
Best Practices in Smartphone Business AppsBest Practices in Smartphone Business Apps
Best Practices in Smartphone Business Apps
 
Whither Smartphone Development
Whither Smartphone DevelopmentWhither Smartphone Development
Whither Smartphone Development
 
best practices in smartphone business apps
best practices in smartphone business appsbest practices in smartphone business apps
best practices in smartphone business apps
 
Rhodes E Ruby Con
Rhodes E Ruby ConRhodes E Ruby Con
Rhodes E Ruby Con
 
Rhodes Future Ruby
Rhodes Future RubyRhodes Future Ruby
Rhodes Future Ruby
 
Rhodes Ruby Nation
Rhodes Ruby NationRhodes Ruby Nation
Rhodes Ruby Nation
 
Rhodes Eu Ru Ko
Rhodes Eu Ru KoRhodes Eu Ru Ko
Rhodes Eu Ru Ko
 

Recently uploaded

Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
Cheryl Hung
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
Product School
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
Frank van Harmelen
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
Product School
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Product School
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 

Recently uploaded (20)

Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 

Using Ruby in Android Development

  • 1. Using Ruby for AndroidDevelopment
  • 2. Background Android is a big step forward in mobile operating systems But… Java? Dynamic script languages are more productive And don’t have to be too slow Four main ways to leverage Ruby…
  • 3. Leveraging Ruby for Android Scripting: automate phone tasks and testing “From scratch” app development replace Java Framework development Less Ruby, compiled Ruby App integration Full Ruby via server
  • 4. Ruboto http://github.com/ruboto Ruboto-core [sudo] gem install ruboto-core Ruboto-core-irb Ruboto-demos * Ruboto slides here derived from earlier presentations by Daniel Jackoway. Apologies for missing attribution in original post.
  • 5. Android in Ruby public void Activity.onCreate(Bundle bundle) public void Activity.onPause() public void onClick(View view) handle_create do |bundle| handle_pause do handle_click do |view|
  • 6.
  • 7.
  • 9.
  • 10. Anything you can do with Java
  • 13.
  • 17.
  • 18. $ --name andevcon # Name of app
  • 20.
  • 21. $ --name andevcon # Name of app
  • 23.
  • 28.
  • 29. linear_layout :orientation => LinearLayout::VERTICAL do
  • 30. @text_view = text_view :text => "What hath Matz wrought?"
  • 31. button :text => "M-x butterfly", :width => :wrap_content
  • 32. end
  • 35. if view.getText == 'M-x butterfly'
  • 36. @text_view.setText "What hath Matz wrought!"
  • 37. toast 'Flipped a bit via butterfly'
  • 38. end
  • 40.
  • 41.
  • 42. Rhodes Architecture your app code You write: RhoSync Server model model HTML templates controller Rhodes app generator Backend app source adapter model model HTML templates controller Backend app source adapter Rhodes components ORM (Rhom) Ruby executor We provide: Device capabilities RhoSync client Backend app smartphone device
  • 43. Rhodes vs. Competition Only one that supports all devices Only one with synchronized data Only MVC framework First Ruby on the device First and only hosted development service for mobile
  • 44. Ruby for App Integration…RhoSync [sudo] gem install rhosync Write a “source adapter” Query Create Update Delete Eliminates many tasks in app integration No device integration/connection code (assumes in database) Removes data storage step If its Rails backend, not even source adapter is necessary Better user experience Data is realtime updated No wait for data to be retrieved
  • 45. RhoSync Source Adapter rhosync app YourApp cdYourApp rhosync source Product Generates … class Product <SourceAdapter def query(params=nil) # TODO: Query your backend data source and assign the records # to a nested hash structure called @result. For example: end def create(create_hash,blob=nil) # TODO: Create a new record in your backend data source end end
  • 46. RhoHub First and only “Development as a Service for mobile” More than 10,000 developers signed up in the last year ~100 more per day Hosted development – WRITE APPS FOR IPHONES FROM WINDOWS Web-based IDE for ease of use Build for all smartphones online – no need to install SDKs Hosted runtime No need to set up RhoSync server Collaboration Work with other developers on same project over the web
  • 47.
  • 52.