With the phenomenal growth of mobile app adoption, enterprises are faced with challenges to develop and maintain the apps that work on all these diverse platforms and devices to reach wider audience. Developers also face the challenge of maintaining consistent look-and-feel across device/OS.
Mobile Application Development Platform (MADP), as the name suggests, provides development tools and frameworks for building Business-to-Employee (B2E) and Business-to-Consumer (B2C) mobile applications. In addition to providing the tools, these platforms also provide middleware servers to connect and synchronize the data with the back end systems, eliminates the duplicate work by allowing business logic to be written and maintained in one place. You can build tighter integration with device features by using these MADP tools.
Following are the primary characteristics that any MADP tools should possess:
- Integrated Development Environment (IDE): providing Visual Editors/Plugins, Form Builders, Property Builders, Debuggers and Source Control Integration.
- Mobile App Development and Debugging: Explicit support for platform devices/emulators, platform specific code generations etc.
- Multi-Device O/S support and integration: Multi-device platform support with Device Specific Code Optimization, Device Specific Runtime, Device Specific Feature integration and Tighter integration with device.
- Packaging and Provisioning Mobile Apps: Supporting Native and Hybrid deployments, Single Build Process for all platforms, Inbuilt Application signing, Provisioning Flexibility of Single App – Single Platform, Single App – Multiple Platforms.
- Middleware Server: Application server that hosts the back end service integration components managing the device registrations, security and transaction management. Also takes care of Mobile Resource Management based on User, Device & Network context.
- Enterprise Application Integration: Adapters for integration with ERP/CRM and other Backend systems. Support for Data Mappers, Prebuilt Data Transformers, Data Chunking and Server Side Cache.
- Security and Remote Management: Support for Device data encryption, disabling auto complete features, OTA based Application Management &Updates Device Capability Management (power consumption, networking).
On a broad level these MADP tools based on their development framework & packaging style can be classified into two categories
- Native build tools and
- Hybrid build tools
Native Build tools: This is a standard and traditional approach being following by the tool vendors who are in mobile market for long time. Products built on this approach provide sophisticated IDE tools to build application using their propriety frameworks. In this approach it is the responsibility of the tool to make the mobile application device agnostic.
Once the developer builds the mobile project in the tool and specifies the targeted platforms, it automatically creates the optimized native package for the respective platform. Platform/Device specific runtime not only takes care of UI screen optimization but also handles the memory, power &bandwidth management. These IDEs also come with platform specific property sheets for configuring features that are unique to specific platform.
Provides strong middleware features such as offline data synchronization, on device security, back end system integration, transaction management, serving the data based on user context etc.
This approach has its own share of Pros and Cons.
- Provides sophisticated WYSIWYG editors, using drag and drop editor, script & expression builders and property sheet features
- Guarantees platform and device diversity
- Good Performance, generates optimized native based on the target platform and device
- Time to market is very less, using write once and deploy on multiple platforms
- Architecture is built using proprietary framework
- Vendor lock-in
- Requires learning a new skillset such as a new scripting language, a new IDE, etc.
- Cost of ownership is high, license is Device/Session based and in very few cases it is CPU based
Top MDAP products that fall under this category are KonyOne, Antenna AMPchroma, Syclo etc.,
Hybrid Build tools: As the name suggests mobile apps built using these tools depend on HTML5 hybrid frameworks for building device agnostic applications. Products in this category, primarily concentrate more on providing the middleware server features that act as a gateway between the mobiles apps and backend enterprise systems. Most of these tools use REST Web services for integration with backend systems.
For building device agonistic UI, these tools depend on frameworks such as JQuery Mobile, Sencha Touch, Dojo Mobile etc. Using these UI frameworks, developer has to fine tune the HTML5 & CSS in the app to render the UI specific to the platform/device. For accessing the device features such as gallery, contacts, accelerometer, camera, GPS etc. these tools depend on hybrid frameworks such as PhoneGap/Cordova.
This approach has its own share of Pros and Cons.
- Follows Open Standards, Architecture is built on top of open standards
- Framework flexibility, allows developers to choose the type of UI framework tool they want to use
- Skillset reuse, leverages existing investment done in web development skills
- Vendor Lock-in is limited to security and synchronization features
- Cost of Ownership is less, Licensing is liberal with the availability of open source tools
- Does not guarantee device diversity, developer have to depend on UI frameworks to build cross platform UI and fine tune it to specific platform/device
- User Experience Performance lags behind the native approach, hybrid code are not generally optimized to the specific platform on which app is running
- Time to market is more, developers need to write/tweak the code for each platform and screen resolutions
Top MDAP products that fall under this category are IBM Worklight, Convertigo, SUP, OpenMEAP etc.,
Existing middleware vendors have slowly started looking into this approach. With their current power of providing robust middleware, security and EAI features they can easily build & add Hybrid Build MADP tool into their portfolio.
No doubt, Native Build tools with their strong feature set have always stood on top during any MADP evaluations, but they are unable to make fast inroads into organizations due to their inflexible licensing models and high license cost. Vendor lock-in is another bottle neck that is influencing CIOs to have second thought before going ahead with Native Build MADP tools. Due to lack of standards specification (eg., JEE, JDO) in MADP space, vendors have no choice but to build tools using propriety standards. This is a high time for tool vendors to come together to define standards in this space.