SlideShare une entreprise Scribd logo
1  sur  31
Rhodes
RHodes


What problem does it solve?

How does it work?

Opportunities & Challenges
RHodes



What problem does it solve?
Cross-Platform


“Businesses cannot maintain enterprise apps
written individually for more than three
smartphone operating systems past a 1.0 release”

                                  --Blum’s Law
Os/Language
Mobile CHallenges


Device-specific Feel

Common Patterns

Maintaining Cross-Platform Code
RHodes



How does it work?
CROSS-PLatform


            Ruby
   +
            HTML
<html>
            CSS
   +
#footer {
Rhodes &rhosync



Shared Ruby code

HTML/CSS varies per browser/screen size
Rhodes &rhosync


Includes off-line storage

Connected sync

Device Capabilities

Device-specific UI
Tools



RhoHub: hosted IDE, build and sync

Powerful command-line tools
RHOHUB


Editor

Diagnostic Tools

Central Builds

Sync Server
Command Line


rhodes ruby “gem”

code generation to support common patterns

single step build and install with “rake”
Architecture


Web development patterns

Separation of Concerns

Model-View-Controller

Isolation of Platform-specific code
Architecture
MVC
Views
Embedded Ruby
app/Product/index.erb
Interaction

User actions => URI

URI => Controller action
SYnc
SYNC
Source Adapter

 login
 query/sync
 create
 update
 delete
 logoff
UI toolKits
Toolkits


Many toolkits offer platform-specific look & feel,
particularly for the iPhone

    jQTouch

    iWebKit
Jqtouch


   Native-feeling
    iPhone UI
in HTML and CSS
       with
some components



                    !
iWEBKit


        More
   native-looking
  iPhone widgets
in HTML and CSS




                    !
RHodes



Opportunities & Challenges
Challenges


Browser Limitations

Screen sizes

Different Device Capabilities

Design
Opportunities


Define a Common Workflow

Common code for core logic & behavior

Development speed

Common Branding across Platforms
Questions?
Operating Systems



                                                      US only


Q2/2009 by Canalys.[22] (data does not include Palm
   WebOS, which was introduced in June, 2009)




                                                      comscore May 2009

Contenu connexe

Tendances

Case study: integrating azure with google app engine
Case study: integrating azure with google app engine Case study: integrating azure with google app engine
Case study: integrating azure with google app engine
Miguel Scotter
 
[Whitepaper] an overview of ibm mobile first platform
[Whitepaper] an overview of ibm mobile first platform[Whitepaper] an overview of ibm mobile first platform
[Whitepaper] an overview of ibm mobile first platform
gule mariam
 
Developing Exceptional Mobile Application
Developing Exceptional Mobile ApplicationDeveloping Exceptional Mobile Application
Developing Exceptional Mobile Application
Vincent Perrin
 

Tendances (20)

Мобильная разработка. Между Сциллой и Харибдой. Native, hybrid or cross platf...
Мобильная разработка. Между Сциллой и Харибдой. Native, hybrid or cross platf...Мобильная разработка. Между Сциллой и Харибдой. Native, hybrid or cross platf...
Мобильная разработка. Между Сциллой и Харибдой. Native, hybrid or cross platf...
 
Lublin Startup Festival - Mobile Architecture Design Patterns
Lublin Startup Festival - Mobile Architecture Design PatternsLublin Startup Festival - Mobile Architecture Design Patterns
Lublin Startup Festival - Mobile Architecture Design Patterns
 
Mobinius : Mobile Native vs Cross Platform
Mobinius : Mobile Native vs Cross PlatformMobinius : Mobile Native vs Cross Platform
Mobinius : Mobile Native vs Cross Platform
 
iOS
iOSiOS
iOS
 
MyMobileWeb Certification Part I
MyMobileWeb Certification Part IMyMobileWeb Certification Part I
MyMobileWeb Certification Part I
 
WIPJam Cross Platform Tools - Dec 2013
WIPJam   Cross Platform Tools - Dec 2013WIPJam   Cross Platform Tools - Dec 2013
WIPJam Cross Platform Tools - Dec 2013
 
How to pick the right development model for your mobile project?
How to pick the right development model for your mobile project?How to pick the right development model for your mobile project?
How to pick the right development model for your mobile project?
 
Native vs cross platform vs html5
Native vs cross platform vs html5Native vs cross platform vs html5
Native vs cross platform vs html5
 
Introduction to Cross-Platform Hybrid Mobile App Development
Introduction to Cross-Platform Hybrid Mobile App DevelopmentIntroduction to Cross-Platform Hybrid Mobile App Development
Introduction to Cross-Platform Hybrid Mobile App Development
 
Case study: integrating azure with google app engine
Case study: integrating azure with google app engine Case study: integrating azure with google app engine
Case study: integrating azure with google app engine
 
Advantages and Opportunities of Cross-Platform Development
Advantages and Opportunities of Cross-Platform DevelopmentAdvantages and Opportunities of Cross-Platform Development
Advantages and Opportunities of Cross-Platform Development
 
Flash Builder for PHP and Mobile development
Flash Builder for PHP and Mobile developmentFlash Builder for PHP and Mobile development
Flash Builder for PHP and Mobile development
 
Cross platform mobile application devlopment
Cross platform mobile application devlopmentCross platform mobile application devlopment
Cross platform mobile application devlopment
 
[Whitepaper] an overview of ibm mobile first platform
[Whitepaper] an overview of ibm mobile first platform[Whitepaper] an overview of ibm mobile first platform
[Whitepaper] an overview of ibm mobile first platform
 
Developing Exceptional Mobile Application
Developing Exceptional Mobile ApplicationDeveloping Exceptional Mobile Application
Developing Exceptional Mobile Application
 
Native vs cross platform native development which one is right for your requ...
Native vs cross platform native development  which one is right for your requ...Native vs cross platform native development  which one is right for your requ...
Native vs cross platform native development which one is right for your requ...
 
Introducing J2ME Polish
Introducing J2ME PolishIntroducing J2ME Polish
Introducing J2ME Polish
 
Titanium appcelerator kickstart
Titanium appcelerator kickstartTitanium appcelerator kickstart
Titanium appcelerator kickstart
 
Xamarin Forms
Xamarin FormsXamarin Forms
Xamarin Forms
 
authoring tools 2015
authoring tools 2015authoring tools 2015
authoring tools 2015
 

En vedette

En vedette (6)

Full text search adventures
Full text search adventuresFull text search adventures
Full text search adventures
 
Mobile Ruby, RubyConf 2009
Mobile Ruby,  RubyConf 2009Mobile Ruby,  RubyConf 2009
Mobile Ruby, RubyConf 2009
 
Crafting Software Products
Crafting Software ProductsCrafting Software Products
Crafting Software Products
 
Let's pretend
Let's pretendLet's pretend
Let's pretend
 
Power of Transparency
Power of TransparencyPower of Transparency
Power of Transparency
 
Making Software Fun
Making Software FunMaking Software Fun
Making Software Fun
 

Similaire à Rhodes Overview

Magic mobile webinar_Jan2013
Magic mobile webinar_Jan2013Magic mobile webinar_Jan2013
Magic mobile webinar_Jan2013
Magic Software
 
Cross platform development
Cross platform developmentCross platform development
Cross platform development
dftaiwo
 
Agile in Action - Act 3: Testing
Agile in Action - Act 3: TestingAgile in Action - Act 3: Testing
Agile in Action - Act 3: Testing
Spiffy
 
Rhodes Future Ruby
Rhodes Future RubyRhodes Future Ruby
Rhodes Future Ruby
Adam Blum
 
Real-world Dojo Mobile
Real-world Dojo MobileReal-world Dojo Mobile
Real-world Dojo Mobile
Andrew Ferrier
 
Midweek breather hybridapps
Midweek breather hybridappsMidweek breather hybridapps
Midweek breather hybridapps
strider1981
 
Client Continuum Dec Fy09
Client Continuum Dec Fy09Client Continuum Dec Fy09
Client Continuum Dec Fy09
Martha Rotter
 
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
Mizanur Sarker
 

Similaire à Rhodes Overview (20)

Cross platform mobile app development tools review
Cross platform mobile app development tools reviewCross platform mobile app development tools review
Cross platform mobile app development tools review
 
Mobile Web Apps
Mobile Web AppsMobile Web Apps
Mobile Web Apps
 
Magic mobile webinar_Jan2013
Magic mobile webinar_Jan2013Magic mobile webinar_Jan2013
Magic mobile webinar_Jan2013
 
Windows Development Story with Xamarin
Windows Development Story with XamarinWindows Development Story with Xamarin
Windows Development Story with Xamarin
 
Cross platform development - Rhomobile
Cross platform development - RhomobileCross platform development - Rhomobile
Cross platform development - Rhomobile
 
Cross-platform development frameworks
Cross-platform development frameworksCross-platform development frameworks
Cross-platform development frameworks
 
Glympse API Cross Compiling
Glympse API Cross CompilingGlympse API Cross Compiling
Glympse API Cross Compiling
 
Cross platform development
Cross platform developmentCross platform development
Cross platform development
 
Rhodes vs Phonegap
Rhodes vs PhonegapRhodes vs Phonegap
Rhodes vs Phonegap
 
Agile in Action - Act 3: Testing
Agile in Action - Act 3: TestingAgile in Action - Act 3: Testing
Agile in Action - Act 3: Testing
 
Mobility today & what's next. Application ecosystems.
Mobility today & what's next.Application ecosystems.Mobility today & what's next.Application ecosystems.
Mobility today & what's next. Application ecosystems.
 
Rhodes Future Ruby
Rhodes Future RubyRhodes Future Ruby
Rhodes Future Ruby
 
Intro to Xamarin
Intro to XamarinIntro to Xamarin
Intro to Xamarin
 
Real-world Dojo Mobile
Real-world Dojo MobileReal-world Dojo Mobile
Real-world Dojo Mobile
 
Midweek breather hybridapps
Midweek breather hybridappsMidweek breather hybridapps
Midweek breather hybridapps
 
Client Continuum Dec Fy09
Client Continuum Dec Fy09Client Continuum Dec Fy09
Client Continuum Dec Fy09
 
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
 
Introduction to Ionic framework
Introduction to Ionic frameworkIntroduction to Ionic framework
Introduction to Ionic framework
 
Hybrid Mobile Development with Apache Cordova,AngularJs and ionic
Hybrid Mobile Development with Apache Cordova,AngularJs and ionicHybrid Mobile Development with Apache Cordova,AngularJs and ionic
Hybrid Mobile Development with Apache Cordova,AngularJs and ionic
 
Harbinger Systems Mobile App Development Practice Group
Harbinger Systems Mobile App Development Practice GroupHarbinger Systems Mobile App Development Practice Group
Harbinger Systems Mobile App Development Practice Group
 

Plus de Sarah Allen

Plus de Sarah Allen (20)

Internet security: a landscape of unintended consequences
Internet security: a landscape of unintended consequencesInternet security: a landscape of unintended consequences
Internet security: a landscape of unintended consequences
 
RTMP: how did we get to now? (Demuxed 2019)
RTMP: how did we get to now? (Demuxed 2019)RTMP: how did we get to now? (Demuxed 2019)
RTMP: how did we get to now? (Demuxed 2019)
 
Communication is a Technical Skill
Communication is a Technical SkillCommunication is a Technical Skill
Communication is a Technical Skill
 
Improving Federal Government Services
Improving Federal Government ServicesImproving Federal Government Services
Improving Federal Government Services
 
Transparency Wins
Transparency WinsTransparency Wins
Transparency Wins
 
A Short History of Computers
A Short History of ComputersA Short History of Computers
A Short History of Computers
 
Designing for Fun
Designing for FunDesigning for Fun
Designing for Fun
 
Ruby in the US Government for Ruby World Conference
Ruby in the US Government for Ruby World ConferenceRuby in the US Government for Ruby World Conference
Ruby in the US Government for Ruby World Conference
 
Identities of Dead People
Identities of Dead PeopleIdentities of Dead People
Identities of Dead People
 
3 Reasons Not to Use Ruby
3 Reasons Not to Use Ruby 3 Reasons Not to Use Ruby
3 Reasons Not to Use Ruby
 
Ruby Nation: Why no haz Ruby?
Ruby Nation: Why no haz Ruby?Ruby Nation: Why no haz Ruby?
Ruby Nation: Why no haz Ruby?
 
Why no ruby in gov?
Why no ruby in gov?Why no ruby in gov?
Why no ruby in gov?
 
People Patterns or What I learned from Toastmasters
People Patterns or What I learned from ToastmastersPeople Patterns or What I learned from Toastmasters
People Patterns or What I learned from Toastmasters
 
Blazing Cloud: Agile Product Development
Blazing Cloud: Agile Product DevelopmentBlazing Cloud: Agile Product Development
Blazing Cloud: Agile Product Development
 
Crowdsourced Transcription Landscape
Crowdsourced Transcription LandscapeCrowdsourced Transcription Landscape
Crowdsourced Transcription Landscape
 
Lessons Learned Future Thoughts
Lessons Learned Future ThoughtsLessons Learned Future Thoughts
Lessons Learned Future Thoughts
 
Mobile Web Video
Mobile Web VideoMobile Web Video
Mobile Web Video
 
Elementary Computer History
Elementary Computer HistoryElementary Computer History
Elementary Computer History
 
Sarah Allen Computer Science Entrepreneur
Sarah Allen Computer Science EntrepreneurSarah Allen Computer Science Entrepreneur
Sarah Allen Computer Science Entrepreneur
 
Agile Business Development
Agile Business DevelopmentAgile Business Development
Agile Business Development
 

Rhodes Overview