Going mobile is one of the hot topics at the moment. Everyone has a smartphone with internet connection and a browser. Some prefer brand A against brand B, but that’s just a personal preference. It doesn’t really change a thing.
You want to join the crowd and provide a mobile interface for your APEX Application? Nothing easier than that!
As pointed out above the variety of mobile phone brands and Operation Systems is wide and our APEX Application should run on any device, regardless if there is a fruit on the back cover or something else (a robot?).
After several tests i decided to use jQuery mobile, as it fits the APEX structure best, covers the broadest range of mobile devices and will also be included in APEX 4.1 (or 4.2, whenever they are ready for mobile). See the Statement of direction for more Information.
See what it looks like:
Here you can see it in a demo Showcase: http://www.click-apex.at/apex/f?p=mobile
The good thing is, everything you see is built using standard APEX components. There is at first a Theme with a small number of Templates to create a HTML Structure that jQuery mobile expects. Then there are a couple of Plugins to render HTML5 compliant input items (the type-attribut of the input item makes the mobile browser decide which onscreen keyboard should be used: number, test, phone, email, url).
In the pictures above you can see a standard login screen, a List for the main menu, a report with a special template and a standard form using the HTML5 Plugin for the phone keyboard.
There will be a very detailed article in one of the next issues of the german APEX Community where i describe how this demo Application was built (and provide the Theme source code).
Once this is released i will provide you here with an english version of that.
If you like this and you want to create a mobile APEX Application too, then you have 3 options:
- create a mobile Theme on your own (that takes some time at the first try…)
- wait for APEX 4.1 where support for mobile will hopefully be included (this might take a while)
- wait for my next Blog Posting on this topic (best choice!)
Update: the next Blog Posting was released