The document summarizes Mark Kirstein's presentation at the 2011 APAC Developer Conference about RhoMobile Suite. It provides an overview of RhoMobile Suite which allows developing cross-platform native mobile applications using HTML5, discusses key features like cross-platform portability and exploiting device capabilities, and previews new features of RhoMobile Suite 4.0 like expanded device support and improvements to RhoElements, RhoStudio, and RhoConnect. It also promotes the RhoMobile developer community and resources for getting started with RhoMobile development.
4. WHO AM I?
@MARKKIRSTEIN
O ARE WE?
• Mark D. Kirstein - Evangelist & Sr. Director of Enterprise
SW @MotorolaSolutions
• 20+ Years of Software Development
• 15 Years of Mobile App Development
• Several mobile app dev & synchronization patents
5. WHAT IS RHOMOBILE SUITE?
O ARE WE?
• USE YOUR WEB SKILLS
• DEVELOP CROSS PLATFORM NATIVE
APPLICATIONS
• FOR MOBILE AND SMARTPHONE
OPERATING SYSTEMS
• BOTH LEGACY AND NEW
6. CROSS PLATFORM VISION
PAGE 6
Your ONE application
runs on ALL your devices
And it has that compelling
consumer smartphone experience
And it leverages NATIVE
device capabilities like
scanning, GPS, Signature
Capture, etc.
7. RHOMOBILE SUITE
IT’S ALWAYS WHAT’S NEXT
RHOELEMENTS
Enterprise licensed value added
features for native cross-platform
app development
RHOCONNECT
Enterprise level integration and
synchronization for offline data
storage
RHOHUB
Cloud service to develop
Rhodes/RhoElements apps &
hosting RhoConnect
RHOGALLERY
Enterprise Application
Management. Simple and
Easy to use
RHOSTUDIO
Eclipse-based plug for creating,
developing, debugging, testing,
and deploying applications
RHODES
Native HTML5 cross platform
framework for developing B2C
applications. MIT License
9. RHOMOBILE APP FEATURES
PAGE 9
PORTABILITY
Runs on all major smartphones & tablets
iOS, Android, Blackberry, WP7+,
Symbian, Windows Mobile, WinCE
Compile to Native applications or
Deploy Hybrid web applications using web
skills – HTML5, CSS, JavaScript, Ruby
HTML5
EXPLOIT DEVICE
CAPABILITIES
Common APIs GPS, PIM data, camera,
mapping, signature capture, etc.
Support for Enterprise capabilities
real-time Barcode Scanning, NFC, RFID
SECURITY Automatic data encryption, secure auth, IP
protection with compiled byte code
OFFLINE DATA
Robust SQL data stored locally on device
for Native & Hybrid applications
Built-in RhoConnect Client for easy
integration and offline synchronization
Best practices for large complex
transactional applications using MVC,
ORM,
ENTERPRISE
SOLUTIONS
11. RHOMOBILE ARCHITECTURE
PAGE 11
Data ORM
RHOConnect
Client
SQLite DB
Model-View-Controller
(MVC)
HTML5 / CSS / JavaScript
You write the
application
Core Services
Webkit*
We provide
the framework
*Moto Webkit available on WinCE, Windows Mobile and Android
RHOConnect Server
Backend
Data
Backend
Data
Source Adapter
Source Adapter
12. RHOCONNECT INTEGRATION AND
SYNCHRONIZATION
PAGE 12
RHOConnect Server
SalesForce.com Source Adapter
Web Services Source Adapter
SQL DB Source Adapter
RESTful API Server Plugin
Redis
NoSQL DB
RHOConnect
Clients
13. 2011 APAC Developer Conference
RHOMOBILE SUITE
IT’S ALWAYS WHAT’S NEXT.
SNEAK PEEK OF RMS 4.0
14. RHOMOBILE SUITE 4.0 THEMES
• Extends our lead as the only “clean sheet of paper for enterprise
mobility”
• Best in class modern development practices (MVC/ORM,
scaffolding, cloud) applied to mobile application development
• Take our award winning application development approach and
extend it to JavaScript
• JavaScript as peer to Ruby in all ways
• One standard, clean set of APIs for all Operating Systems
• Simplified programming experience
• Industry leader in number and type of devices and operating
systems supported
• Add Windows Phone 8, Android JellyBean, MPA 3.0
• Expanded support for new Motorola devices and their capabilities
15. RHOELEMENTS – NEW FEATURES
• New Common APIs (JavaScript, Ruby) on all
devices
• JavaScript APIs for ALL capabilities
• Any thing you can do Ruby you can do in JavaScript
• Windows Phone 8 support
• New devices
• MPA 3.0, MK 3100, U-Touch on ET1, VC70, MC40
• Older MPA 1.0/1.5 devices
• Support all APIs with stock Android browser
• Motorola WebKit no longer recommended for non
Windows Mobile devices
16. RHOSTUDIO – IDE
• Full End To End Testing
• Never leave the Studio for testing (run specs, irb)
• Auto-complete Everywhere
- RhoConnect in addition to RhoElements and Ruby
- JavaScript as well as Ruby
• App Generator/Scaffolding
• Separate views for Windows Mobile
• Stop generating BlackBerry templates
• Optimize geolocation performance with generated code
• Compile Time Warnings for RhoElements API
Usage
17. RHOCONNECT – NEW FEATURES
• Model-Controller - Handle complexity in
maintainable way
• JavaScript source adapters - Used to be just Ruby
• Performance improvements - Custom partitions
• Performance testing - Performance data across
scenarios, sizing calculator
• Horizontal scaling - More than one server for better
performance
• Third party hosting - SAIC, EngineYard (we still love
Heroku/SalesForce)
• API bindings for Java and C# - Call directly to
RhoConnect
19. DEVELOPER COMMUNITY
HTTP://LAUNCHPAD.MOTOROLASOLUTIONS.COM
PAGE 19
• K’s of B2C apps built using Rhodes
• 50K+ Downloads in 2013
• 32K+ Users developing applications on RhoHub
• 3 Books published independently
• 4,000+ Registered developers on the forums
• 100+ Blogs, w/ dozens of independent's
• 3,600+ Twitter followers
• 1K+ Forum Threads
• 50+ Tutorials/Webinars
20. GETTING STARTED – FREE!
WE HAVE YOU COVERED 24/7
LAUNCHPAD Free User Community
Documentation, Tutorials,
Webinars and Product
Release Info
Collaborate, Share
and Support
Members include Motorola
Engineers, Technical Architects
and Product Managers
PAID SUPPORT
MULTI-CHANNEL
CONTACT OPTIONS
Phone-based Support
Email-based Support
Worldwide 24/7 Availability
Web-based Support
{
21. RHOMOBILE MAKES SENSE
The HTML language underpins
the entire Internet. It’s
not going anywhere.
Applications can look just
as appealing as your
favorite consumer apps.
Choosing this platform does
not limit your device
choices. It expands them.
Writing for a single platform
ensures faster delivery
across all targeted OS’s
Motorola’s technology has
been used for years by
thousands of developers.
FUTURE PROOFED
BETTER
USER EXPERIENCE
FAST
TIME-TO-MARKET
LARGE COMMUNITY
DEVICE
FLEXIBILITY
22. 2011 APAC Developer Conference
RHOMOBILE SUITE
IT’S ALWAYS WHAT’S NEXT.
THANK YOU
@RHOMOBILE
HTTP://LAUNCHPAD.MOTOROLASOLUTIONS.COM
Hinweis der Redaktion
Hello everyone. Welcome and thank you for coming. My name is geoff poremba and I’m in the product management group responsible for bring you RhoElements.
Just a bit about myself. I have approximately 8 years of experience architecting and implementing enterprise mobile solutions on a variety of platforms including windows mobile, android and iOS.
I’m happy to be here with you today to talk about the next generation of mobile solutions.
The question remains, however, regarding how you write applications for multiple Operating systems.
We talked about how we are introducing new operating systems into our product portfolio, and we talked about the fact that we really don’t know what operating systems are going to be relevant in a couple of years, given the rapid pace of change in our industry.
But what if you could create a single application definition that ran on all your devices.
<transition 1>
And what if it supported that compelling user experience that your users have come to expect from their personal smartphones.
<transition 2>
And what if you could also leverage all those great native device capabilities like scanning, gps, signature capture, etc.
<transition 3>
Our vision is that the underlying OS should not matter, and that HTML5 and web 2.0 technologies will become the standard development paradigm for applications moving forward.
And this vision includes support for all popular devices, not just our own ruggedized device portfolio.
Some Select New Features currently planned for the RhoMobile Suite
<transition 1>
include new RhoConnect Push Messaging
RhoConnect Push Messaging will allow you to implement push messaging functionality without having to work with any outside vendor technology like Google’s Cloud 2 Device messaging. Leverage Push message capabilities immediately to communicate with all of your connected devices.
<transition 2>
RhoElements will include a client for RHOConnect push messaging and Moto webkit support will be expanded to the Windows desktop.
<transition 3>
RhoHub, currently in beta is a set of complementary Cloud based services that provide tools to aid in the development, testing and deployment of RhoMobile apps.
<transition 4>
RhoGallery, currently part of RhoHub’s Services, is a way for Customers and partners to implement their own Enterprise App Stores.
Not intended to compete with consumer app stores, RhoGallery is ideal for a known set of enterprise users, but brings the simplicity and ease of use of the consumer space to the corporate world.
<transition 5>
RhoStudio will continue to be enhanced with additional testing capabilities and remote build functionality that will allow builds for all supported platforms without having to install any vendor SDK’s on development machines.
The RhoElements Featureset includes the ability to create a single application definition that can run on all major smartphones and tablets. You’ll enjoy the widest support for devices and operating systems available, including Apple iOS, Android, Blackberry, Windows Mobile, WinCE, Windows Phone 7, and even Symbian.
<transition 1>
This application definition can be compiled to a native application that can run on a device without any prior software or runtime needing to be installed or you can install RhoElements to the device and deploy your apps via the web. Or mix and match, we’re flexible.
<transition 2>
RhoElements apps are crafted utilizing html5 and other web 2.0 technologies like CSS and JavaScript as well as support for Ruby.
And on those platforms like Windows Mobile and WinCE that don’t have native HTML5 support, RhoElements bundles Motorola’s own high-performance port of the popular webkit rendering engine.
<transition 3>
RhoElements allows you to exploit native device capabilities like GPS, camera, barcode scanning, signature capture, etc, and developers access these device capabilities through a common api across all operating systems.
Enterprise security is supported
<transition 4>
including the encryption of data both at rest and in transit as well as secure authentication.
<transition 5>
Finally, RhoElements utilizes a robust sql based database on the device, capable of holding large amounts of data that your application can access locally. We also include a built-in RHOConnect client, which provides you with seamless offline access to your backend data should you choose to use it.
Historically, one of the drawbacks to pure HTML5 mobile applications has been the inability to interact directly with the device to take advantage of all those great native device capabilities. With RhoElements, however, we give you access to a wide array of native device features, including:
Battery indicators
Signature capture
Barcode scanning
Screen rotation control
App/device control
Gesturing
Key mapping
and many more.
We expose these native device capabilities through a javascript api as well through our Ruby based MVC layer. And if you have a device feature, or peripheral capability that we have not created an api for, we have several extensability mechanisms to allow you to create and expose custom native device capabilities to your apps.
So let’s take a look at the RhoMobile architecture.
<transition 1>
Recall that we allow you to create your application utilizing web 2.0 technologies such as HTML/HTML5, CSS and javascript.
<transition 2>
We also provide you with a rich Model-View-Controller framework that leverages and implements best practices gleaned from the world of web app development.
We then take your application definition and bundle it with our framework components.
<transition 3>
Your application, then, is a native application that includes those web application resources along with our framework components. We use webkit as a rendering engine, giving you html5 compatibility. Webkit is either provided natively on the device or Motorola’s own webkit engine can be included as a framework component on those supported platforms.
<transition 4>
Data is accessible through an Object Relational Mapper api
<transition 5>
so you can easily get to your data without having to write sql and local data is stored in a robust sqlite database
<transition 6>
capable of securely storing your critical enterprise data. Included as well is a RhoConnect client for seamless connectivity to the RhoConnect server.
<transition 7>
RhoConnect, as we mentioned previously, is an app integration and synchronization middleware component
<transition 8>
that integrates with your backend systems and synchronizes your data, making that data available locally to your mobile application.
The RhoConnect Server itself integrates with backend systems primarily through the use of what we call “Source Adapters”.
<transition 9>
Source adapters are pieces of code which implement Query, Create, Update and Delete methods. And, in fact, with immutable data, for example a large parts list that is maintained in the backend and is not modifyable by end users, you only need to implement the Query method.
Of course you can always go directly to your backend if you wish
<transition 10>
because the RhoMobile framework is flexible, and allows you to architect your mobile solutions to fit the needs and requirements of your customers or users.
Now let’s delve a little bit deeper into RHOConnect. As we mentioned previously, RHOConnect is Motorola’s App Integration and synchronization middleware. RHOConnect complements RHOElements by helping you to integrate with and get access to all of the important data that you have in your corporate systems. We’ve also mentioned that one of the ways in which RHOConnect enables you to integrate with your backend systems is through the use of Source Adapters.
<transition 1>
Source Adapters, remember, are small pieces of Ruby code that implement Query, Create, Update and Delete methods. We have Out-Of-The-Box Source Adapters for some popular CRM systems like SalesForce.com, SugarCRM, etc., and we have many examples of Source Adapters which consume Web Services quite readily, both SOAP-based and RESTful. In addition, there are libraries like ActiveRecord and DataMapper which can give you direct access to all the popular relational databases like Oracle, Sql Server, DB2, etc.
As part of our RHOConnect roadmap, we will, in the future, be offering you the ability to code your Source Adapters in javascript as well.
Now Source Adapters themselves reside on the RHOConnect Server, and request or PULL data from your backend systems. We also, however, have a way to integrate with your backend systems that is more of a PUSH mechanism and we call these components Server Plugins.
<transition 2>
Server Plugins reside in your backend systems and communicate with RHOConnect through a RESTful web service api that RHOConnect exposes. We currently have Example Server Plugins for SpringMVC, .NET MVC and Ruby-on-Rails, but you can create a Server Plugin to integrate with RHOConnect’s RESTful api from practically any system that can make http calls.
The RHOConnect server utilizes a NOSQL database called Redis
<transition 3>
which optionally stores a snapshot of a user’s device data, calculates deltas, and ensures that only modified data is sent down to the device. This ensures the efficient use of your devices bandwidth.
So far, we’ve been focusing on the server-side aspect of RHOConnect, but now we’re going to begin talking about RHOConnect Clients
<transition 4>
We’ve already talked about the fact that RHOElements includes a built-in RHOConnect client for you to get seamless offline access to your data
<transition 5>
But what we’ve also done is to take that RHOConnect client and break it out to make it available in a variety of other forms, including Objective-C
<transition 6>
java
<transition 7>
and javascript
<transition 8>
what this means is that if you have an existing native iphone or android app that you’d rather not rewrite but still want to take advantage of the great integration and offline data capabilities that RHOConnect offers, you can utilize these client libraries in your application.
Just a bit about myself. I have approximately 8 years of experience architecting and implementing enterprise mobile solutions on a variety of platforms including windows mobile, android and iOS.
I’m happy to be here with you today to talk about the next generation of mobile solutions.
Some Select New Features currently planned for the RhoMobile Suite
<transition 1>
include new RhoConnect Push Messaging
RhoConnect Push Messaging will allow you to implement push messaging functionality without having to work with any outside vendor technology like Google’s Cloud 2 Device messaging. Leverage Push message capabilities immediately to communicate with all of your connected devices.
<transition 2>
RhoElements will include a client for RHOConnect push messaging and Moto webkit support will be expanded to the Windows desktop.
<transition 3>
RhoHub, currently in beta is a set of complementary Cloud based services that provide tools to aid in the development, testing and deployment of RhoMobile apps.
<transition 4>
RhoGallery, currently part of RhoHub’s Services, is a way for Customers and partners to implement their own Enterprise App Stores.
Not intended to compete with consumer app stores, RhoGallery is ideal for a known set of enterprise users, but brings the simplicity and ease of use of the consumer space to the corporate world.
<transition 5>
RhoStudio will continue to be enhanced with additional testing capabilities and remote build functionality that will allow builds for all supported platforms without having to install any vendor SDK’s on development machines.
Just a bit about myself. I have approximately 8 years of experience architecting and implementing enterprise mobile solutions on a variety of platforms including windows mobile, android and iOS.
I’m happy to be here with you today to talk about the next generation of mobile solutions.
Motorola backs the RhoMobile Suite with comprehensive support solutions.
<Transition 1>
With your RhoMobile licenses you have multi-channel access via phone, web or email to our support professionals. So if you have an issue, anywhere in the world, we are there to support you 24/7.
<Transition 2>
In addition to our traditional support methods, we have also created a Support Forum called Launchpad. Launchpad was inspired by those great open-source software communities that have emerged over the past decade. These communities have brought together developers from all over the world to collaborate with each other, share their work and support each other. Launchpad is a free and open community where Rho developers come together from all over the world to do that and much more.
Because Launchpad is more than just a development community, it is also a central place for RhoMobile documentation, tutorials, webinars and product release information. And Launchpad participants include Motorola engineers, Technical Architects and Product Managers to ensure that it is a place where you can find the answers you need.
Launchpad is available at launchpad.motorolasolutions.com. We have thousands of members, and that number is growing every day. We’d love to include you in our community!
In summary, RhoMobile makes a lot of sense. Finally you can future proof your app development strategy without sacrificing access to those great native device capabilities. You can quickly and securely integrate and provide access to corporate data for your Mobile applications.
And you can be part of a technology ecosystem that embraces standards-based, future-proofed strategies to enable your developers and be part of your solutions without painting you into a corner or dictating your architecture.
You can leverage the largest app development community in the world, provide a world class user experience, enhance your ability to support a wide array of platforms and gain a faster time to market.
Just a bit about myself. I have approximately 8 years of experience architecting and implementing enterprise mobile solutions on a variety of platforms including windows mobile, android and iOS.
I’m happy to be here with you today to talk about the next generation of mobile solutions.