Why XPages Developers should know Worklight when building Mobile Apps

At the beginning of this year IBM acquired Worklight, a mobile application platform to build, deploy and manage HTML based mobile apps, hybrid apps and native apps.

There is plenty of documentation describing Worklight, e.g. this deck for a quick overview.

There is also a YouTube channel with several good videos, e.g. “WorkLight Overview”, “Native, Web or Hybrid Mobile Apps?” and “Using PhoneGap and Worklight for Mobile App Development in the Enterprise”. Additionally there are more videos on Worklight.com as well as product documentation.

The general concept of Worklight is to build as much functionality of mobile apps as possible with standard web technologies. Only if web technologies cannot be used native code is used in hybrid apps. I think this brings together the best of both worlds. The same general idea is used by the open source framework PhoneGap. Worklight comes with PhoneGap but extends it by providing more functionality like push notifications, encrypted storage, manageability, etc.

At this point Worklight requires developers to put all web resources (the one HTML file plus JS files, css, etc.) in the native/hybrid app. These web applications can then talk to server backends using an adapter framework. So this configuration can be used by Domino developers who want to access data from NSFs using the Domino REST APIs.

It is currently not supported to point the Worklight app against a remote web server, e.g. an XPage. However this is important so that XPages developers can continue to use Domino Designer and the XPages mobile controls to build the web parts of their apps. The Worklight team is aware of this requirement. I spent some time to figure out what changes need to be done to the Worklight app to make this work (at least for simple scenarios) so that XPages developers can start playing with Worklight. I’ve created a video with instructions that I’d like to publish as soon as some more people will have reviewed it.

This will open up great capabilities for XPages developers:
Mix and match of native and web pages
Invocations of native code from web apps
Push notifications
Offline access
Encrpyted cache
PhoneGap out of the box APIs as well as PhoneGap plugins
Common controls