In an effort to make key information accessible to various mobile delivery channels – once perceived as a nice to have – are now front and center in any discussion involving user engagement. Unlike desktop web focused efforts, the world of mobile has undergone change at a feverish pace.
Evaluations of various mobile platforms and development strategies very clearly impact the business, as organizations attempt to have their applications participate within mobile form factors and partake in a mobile land grab in their respective vertical.
With potential mobile devices multiplying year over year, is there a way to step back and holistically understand what approaches to mobile development exist and what their strengths and weaknesses are? In this post we make an effort to summarize key elements when evaluating mobile platform development strategy for your projects. We examine 3 categories of development approaches – Native Applications, Hybrid Applications and Mobile Web Applications.
Additionally, if you are using WebCenter technologies – how do these platform development strategies correlate back to the various capabilities within the suite?* We will also touch on how the recently released ADF Mobile that features hybrid application development capability plays into the mix. Please note that the opinions in the post do not represent the views of my emploer and are solely those of the author.
Chart and Resources
- Definitions of the chart’s functional criteria
- Implementation examples and documentation for Mobile WebCenter projects
- PDF Version of Mobile Development Platform Strategy Consideration Chart
|Platform Summary||Native Applications||Hybrid Applications||Mobile Web Applications|
|Native API Access||★★★||★★||NA|
|Ease of Development||★||★★||★★★|
|Application Store Support||★★★||★★★||NA|
|Interface Components||Included with SDK||JQuery Mobile, Sencha Touch, ADF Mobile, dojox.mobile, etc||JQuery Mobile, Sencha Touch, ADF Mobile, dojox.mobile, etc|
|Delivery Method||Application Store||Application Store||Web|
|Approval for Distribution||Application Store||Application Store||None|
|Runtime for Application||Operating Systems||Operating Systems / Mobile Browser||Desktop Browser|
|Application Updates||User Initiated||Developer Controlled / User Initiated (major Developer Controlled release)||Developer Controlled|
|Example Applications||Facebook Native Mobile Application, Oracle Social Network Application||PhoneGap, Sencha Touch, ADF Mobile||mediaqueri.es, Web Designer Wall – Inspiration Fluid Responsive Design|
|WebCenter Portal / Spaces||
|WebCenter Social Network||
Mobile Development Platform Consideration Criteria
- Platform Summary – quick overview of the characteristics for a particular approach to mobile development.
- Native API Access – a general rating indicating the depth of access to native device APIs.
- Ease of Development – level of complexity in solution development for a given platform approach.
- Application Performance – rating of performance generalizations for a given platform approach.
- Multi-Platform Support – level of support for various platforms from a single code base.
- Application Store Support – indicating of the delivery model support via commercial application store (e.g. iTunes, Google Play, etc).
- Offline Capability – extent of offline capabilities available for developers that are inherent to a given platform.
- Development Cost – generalized rating of cost involved in solution development for a given platform.
- Interface Components – understanding of what user interface components available to developers using a given platform approach.
- Delivery Method – actual method to deliver application to a device – store, web, etc.
- Approval for Distribution – indication if any approval process is required to deliver application.
- Runtime for Application – technical “engine” that runs the application code for a given platform approach.
- Application Updates – level of end user involvement in updating an application.
- Developer Skillset – general development skills required for a given platform.
- Example Applications – example applications and sites for the various approaches.
WebCenter Specific Implementation Examples
WebCenter Portal / Spaces
Using these services a number of organizations, as well as Oracle have developed applications for mobile devices. Additionally, some people have implemented Adaptive / Responsive designs using specific page templates.
- Oracle WebCenter Spaces 11g iOS Application
- Using Oracle WebCenter Portal REST APIs
- WebCenter Portal & Spaces Boilerplate template and overview to responsive design by Fishbowl
Sites can leverage its mobility server to deliver device specific experiences. It also provides a RESTful interface and it templating can support any type of Adaptive / Responsive design.
- Mobility Server
- Oracle® WebCenter Sites Web Experience Management Framework REST API Resource Reference
A number of organizations have developed applications that call into services to connect with content server due to its service based native architecture.
- Fishbowl’s Mobile Content Management
- Sena ContentiD
- Oracle® WebCenter Content Developer’s Guide for Content Server – Configuring Web Services with WSDL, SOAP, and the WSDL Generator
WebCenter Social has a rich set of RESTful services available for developers to extend the social experience to a broad set of applications and devices. Additionally, a native iOS / Android application is available.
At Oracle Open World 2012 an Oracle Social Network “Hackathon” was held to see what developers could do around the REST interfaces. An especially interesting entry is shown in this Video overview of Fishbowl Geotagging by John Sim.