Cross-Platform Mobile App Development Using Rhomobile Cross-Platform Approaches
Total Page:16
File Type:pdf, Size:1020Kb
Cross-Platform Mobile App Development Using RhoMobile Cross-Platform Approaches ● Hybrid approach is most promising ● Web technologies are widely used everywhere ● Web developers (front-end HTML/JS) are much more numerous and cheap than iOS or Android devs ● There are some OS like WebOS and FireFox OS where you can write application only using web technologies ● By Gartner report currently in the enterprise environment 90% of applications are web or hybrid Cut Expenses ● Hybrid cross-platform solutions like Phonegap or RhoMobile allow to reduce development cost in three and more times ● It’s possible to involve existing web developers ● Existing web applications code reuse ● App code portability between development platforms What exactly is “RhoMobile” ● The set of development tools for creating data-centric, cross-platform, native mobile consumer and enterprise applications ● It allows developers to build native mobile apps using web technologies, such as CSS3, HTML5, JavaScript and Ruby ? ● With RhoMobile you can track offline changes on mobile clients and synchronize with a corporate backend ● It dynamically updates application UI when backend data changes RhoMobile Suite ● RhoStudio allows development, debugging and testing of cross-platform enterprise apps with single tool simplicity ● The foundation of RhoMobile Suite, Rhodes is an open-source cross-platform development framework for rapidly building native apps ● For access to built-in APIs for barcode scanning and RHOMOBILE SUITE RFID, support for the widest range of operating systems and more, developers can count on the value-added functionality of Tau Extensions ● Our integration server RhoConnect allows for fast, RHOSTUDIO RHODES TAU EXTENSIONS RHOCONNECT simple synchronization with backend business data DEVELOP INTEGRATE and synchronization for offline use What’s a RhoMobile Application? •Front-end side – HTML page – CSS Style Sheet – JavaScript code A hybrid mobile application is a mobile application that •Back-end side runs inside of a native container and leverages the – Ruby device’s web browser to display locally hosted HTML pages. Hybrid mobile apps are composed mostly of – SQLite Database HTML, JavaScript, and CSS. Device specific – Node.js/Express.js functionalities such as camera access, geolocation, and accelerometer readings are exposed through a JavaScript API. RhoMobile Apps are WebApps I’m the front-end side. I run inside the browser sandbox and I’m written in HTML5, CSS and JavaScript. I can talk to remote web services and to the local HTTP server I can use Rhodes JavaScript API I’m the local I’m the local Node.JS server HTTP server I’m the local JS VM. I We’re static files: I’m the local Ruby VM. execute Node.JS HTML, CSS and I execute the framework and your JavaScript framework and your dynamic JS code dynamic Ruby code I’m the local SQLite RhoMobile Architecture HTML5 / CSS / You write the JavaScript/Ruby application Backend Model-View-Controller (MVC) Source Adapter Data Source Adapter Backend Data Core Services We provide RhoConnect RhoConnect Server Data ORM the framework Client Webkit* SQLite DB Ruby VM Node.JS *Tau Webkit available on WinCE, Windows Mobile RhoMobile Ruby application architecture RhoMobile WebView HTML/CSS/JS app code + JS frameworks Hybrid architecture. UI implemented with web RhoMobile API RHODES technologies inside WebView. Web server Developers can use any JS frameworks. routing Local HTTP server with Ruby controller view public VM on our mobile device. model Ruby code executed on mobile device. RhoMobile API DB RhoMobile Node.JS application architecture Rhomobile WebView HTML/CSS/JS app code + JS frameworks Hybrid architecture. UI implemented with web RhoMobile API RHODES technologies inside WebView. Developers can use any JS frameworks. Local JS VM and Rhodes Node.js environment Node.JS environment. Node.JS Node.js application - local HTTP server application starts local HTTP server. RhoMobile API DB Covers Consumer and Enterprise Offline Data and Synchronization ● Mobile clients have out-of-date information from company infrastructure and does not have Internet connectivity at all times ● Mobile application should allow to change data when offline ● Company backend is out-of date with mobile clients ● Possible conflicts when multiple clients change same data ● Data change conflicts should be resolved when device eventually connects to enterprise network Offline Data and Synchronization Offline Data and Synchronization Rhodes Tau Extensions ● Reduce Costs ● Enterprise-class Rugged Devices ● Leverage All Device Features ● Windows CE/Mobile/Embedded support ● Completely Control Look and Feel ● Leverage Zebra Printing ● Get Online and Offline Support ● Zebra Rugged Devices out of the box ● RhoBrowser for Enterprise RhoConnect RhoStudio ● Improve data synchronization ● Faster cross-platform application development ● Zero-touch integration ● Reduce hardware costs ● Manage backend changes ● Improve developer productivity ● Fast and easy scaling ● Easier integration Getting Started with Development ● RhoMobile Suite ● Mobile Platform SDK ● Mobile Devices ○ Recommended for deployment/testing ○ Emulators are alternative but not a true test ● Getting Started guide available at http://docs.tau-technologies.com.com Platform Capabilities ● All standard platform API like Network, File, DataBase, ORM, Bluetooth, Battery ● Built-in Synchronization Client, Push Notifications ● Printing, Scanner(1D/2D), Card Reader, Camera, RFID, NFC ● Native UI components like MenuBar, ToolBar, TabBar, NavBar … and more UI Design ● HTML5, CSS3 ● jQuery Mobile, Sencha Touch, Bootstrap, KendoUI, Dojo Mobile etc. ● Native UI components jQuery Mobile ● HTML5-based UI framework that provides a mobile application look and feel ● Built-in content and widgets are supported across mobile, tablet and desktop platforms ● Visit http://jquerymobile.com and http://jquery.com for more details Sencha Touch ● UI JavaScript library specifically built for the Mobile Web ● Look and feel like native applications on supported mobile devices. ● Visit http://www.sencha.com/products/touch for more details. Bootstrap ● Free and open-source front-end web framework for designing websites and web applications. ● It contains HTML- and CSS-based design templates for typography, forms, buttons, navigation and other interface components. ● Visit http://getbootstrap.com for more details. MVC design Client-Server MVC Approach ● Ruby On Rails, Node.JS & Express.JS ● Views are prepared outside of WebView and rendered in a WebView ● Models and Controllers are processed outside of WebView ● Performance excellence WebView MVC Approach ● AngularJS, Ember.JS, Backbone.JS ● Views are prepared and rendered in a WebView ● Models and Controllers are processed in a WebView ● Performance can be a bottleneck in some cases Developer Experience ● Live Update ● RhoStudio, RhoSimulator, WeinRe ● Native Extensions ● Documentation ● Community ● Enterprise Support ● Open Source Extended Browser - a solution for lightweight web applications RhoBrowser Sometimes we just need a lightweight web application with access to some H/W capabilities of device or some native API. Rhodes WebView Adding a set of APIs into device browser we get a solution to execute our UI + Logic HTML/CSS/JS lightweight web applications (HTML/CSS/JS). code Some of device vendors already like Zebra or Honeywell have this kind of local (open from filesystem) or solution. remote (open from remote server) Rhodes Framework Platform API Peripherals API Tau Technologies has similar product - RhoBrowser ( built with RhoMobile platform ), which runs on iOS, Android, WinCE/WM and supporting enterprise WM and Android devices from different vendors. It gives access to H/W capabilities like Barcode scanner, RFID scanner etc. http://tau-technologies.com/ [email protected] Our contacts.