The browsers on today’s mobile smartphones are powerful and can render almost any existing Website written for the desktop browsers. However, because of their smaller display sizes and different interaction gestures (touch/swipe/pinch vs. mouse click), it’s almost always desirable to develop custom Websites targeting mobile browsers.
Responsive design is a popular approach to handle screen sizes and adjust layout and contents. It makes it possible to use a single code base to address a range of form factors. However, many mobile Websites are well beyond a different layout when compared with their desktop siblings. Consider a dashboard type of Web application. The desktop version is typically laid out in a multicolumn format so all the subviews are visible at once. The mobile version, however, shows only one subview at a time, which takes up the whole screen, with transitions to go from one subview to another. Such a mobile application requires custom development, where implementation diverges from the desktop version quite significantly.
The ultimate mobile Website design is one that conforms to the User Interface (UI) design guidelines of the mobile platform itself, making it intuitive to use because of its familiar look-and-feel and the ability to respond to mobile gestures such as tap, swipe and pinch.
Using Rational Application Developer (RAD) 8.5, you can develop Web UIs using a range of techniques mentioned previously, targeting both desktop and mobile browsers. RAD 8.5 supports developing Web UIs with HTML5 and Dojo Toolkit. These applications are deployed to a Web server or an application server, such as WebSphere Application Server (WAS). You can read more about these capabilities in the RAD product wiki.
Developing Mobile Hybrid Applications
While Web-based mobile applications can achieve native look-and-feel, they’re limited to functionalities accessible from inside the browser. If you need to take advantage of the device capabilities (such as camera, accelerometer or access to the contacts list etc.), the application must run directly on the mobile platform.
To develop these native mobile applications, you can use the platform vendor’s Software Development Kit (SDK) and developer tools. But before you go in this “pure native” direction, consider these factors:
• Do your IT teams have the necessary skills? Android and BlackBerry platform Application Program Interfaces (APIs) are in Java; iOS is Objective-C and Windows Phone 8 is C#. While Java and C# skills are relatively easy to find in today’s enterprise IT teams, Objective-C has only surfaced recently with the rise of the iOS platform.
• How many platforms must you support? Going pure native means you must develop each mobile application once for each target platform. This may not be economical in today’s tightly constrained environment.
So far, the decision tree is pretty clear-cut: For mobile Web applications, use RAD; for mobile hybrid applications, use IWS. But what if your current IT project needs to address both these channels? A typical scenario is that you want a mobile Website for maximum discoverability, because your existing customers already know the URL from their past experience in the desktop browsers. You want a mobile hybrid application for deep user experiences by taking full advantage of the device’s capabilities. Finally, the two channels should have similar look-and-feel for usability reasons.