Enhance Your Mobile Presence With Mobile Enterprise Application Platforms
Mobile enterprise application platform (MEAP) vendors give organizations the opportunity to enter the mobile space by providing the capabilities to develop native-like applications through a code-once-and-deploy-everywhere approach without the need for comprehensive technical expertise of the target mobile platform.
Build or Buy?
Before deciding on a MEAP tool, you must make a decision about the composition of your application portfolio. Will you use a commercial off-the-shelf (COTS) solution, a custom-developed solution, or a hybrid portfolio? Info-Tech recommends buy before you build, configure before you customize, and loosely couple your applications if you need to customize. A number of key factors should be considered in this decision:
- Development skills, capabilities, and resources available in your organization
- Complexity of the business processes and end-user needs your application will support
- Complexity of the data and systems supporting your application
- Current investment in the vendor’s ecosystem and partners
- System qualities that are supported or unsupported by a vendor (e.g. security, SLAs, maintainability, availability, extensibility)
Shifting Toward Mobile Development
Mobile applications bring new development and management challenges that are often difficult for organizations that are tied to legacy systems, hindered by rigid and slow development lifecycles, and unable to adopt leading-edge technologies. Many of these challenges stem from the fact that mobile development is a significant shift from desktop development:
- Mobile devices and operating systems are heavily fragmented, especially in the Android space.
- Test coverage is significantly expanded to include physical environments and multiple network connections.
- Mobile devices do not contain the same performance capabilities and memory storage as their desktop counterparts.
- The user interface must be strategically designed to accommodate the limited screen size.
- Mobile applications are highly susceptible to security breaches and other issues.
- Mobile users often expect quick turnaround time on fixes and enhancements due to continuously changing technology, business priorities, and user needs.
Mobile Platform Selection
Organizations have three general options to mobile development, each coming with its own pros and cons:
Hybrid – Hybrid applications are developed with web or scripting languages but are deployed as native applications. This type of application runs locally within a native container and in many cases uses the device’s browser runtime engine. Another class of hybrid apps translates web languages into device-specific code before compilation to a native application. SPAssurance takes a deeper look at the various flavors of hybrid platforms.
Native – Native applications are developed and deployed to specific devices and operating systems using platform-specific software development kits (SDKs) provided by the OS’s vendors. The programming language and framework are dictated by the targeted device and OS.
Selecting the right mobile platform is critical to ensure it aligns with your business and functional requirements, end-user needs, and the organization’s technical competencies. Factor the following items in your mobile platform selection discussion:
Device Access – The degree of access and configuration capabilities to native features.
Performance – The desired level of application performance, accessibility, and availability, particularly offline access.
Openness and Cross-Platform Capability – The importance to remain applicable across multiple devices and platforms and avoid vendor and framework lock-in.
Security and Compliance – The desired level of control and security natively implemented in the application.
Investment in Corporate Systems and Technologies – The degree of compatibility and integration with existing systems and technologies.
Development Capabilities – The available skills and competencies to develop, test, and deploy on the desired platform.
Mobile Enterprise Application Platform
MEAP tools help solve the conundrum of mobile device and platform fragmentation by providing solutions that allow developers to code once and deploy to multiple mobile platforms. These tools fall within the hybrid platform space. Each vendor will approach mobile development a little differently, whether in the features they offer, the framework they utilize, or the language they use for development. There are two types of MEAP tools:
Comprehensive Development Suites – These tools provide the capabilities or modules to develop, test, deploy, and manage mobile applications, whether natively, through vendor modules, or using integration with third-party tools. Vendors in this space include: IBM, SAP, Kony, Pegasystems, Xamarin, Zebra, Red Foundry, Sencha, Outsystems, and Telerik.
Mobile Software Development Kits (SDKs) – SDKs provide only the necessary resources for developers to build mobile applications. Several vendors in this space (e.g. Bootstrap, Flutter, and Iconic) build on top of Apache Foundation’s Cordova, which is an open-source project. Other vendors in this space include: Adobe, Axway, NativeScript, TheAppBuilder, and Corona.
Two risks need to be accommodated in a MEAP tool’s implementation:
Vendor Lock-In – Each tool has its own approach, frameworks, and data schemas to convert designs and logic into an executable build that is stable in the targeted environment. Consequently, moving application artifacts (e.g. code and designs) from one MEAP tool or environment to another may not be easily accomplished without significant modifications or the use of application modernization or migration services.
Integration With Current Application Development and Management Tools – MEAP tools should be extensions of your existing application development and management tools that provide the versioning, testing, monitoring, and deployment capabilities to sustain a valuable application portfolio. Without this integration, IT will be unable to:
- Root cause issues found on IT dashboards or reported to help desk
- Roll back defective applications to a previous stable state
- Obtain a complete application portfolio inventory
- Execute comprehensive testing for high-risk applications
- Trace artifacts throughout the development lifecycle
- Generate reports of the status of releases
MEAP tools provide the needed development capabilities to enable developers the ability to easily create and deliver mobile applications. Today’s MEAP tools have several common attributes and core features:
Source Code Management – Built-in or having ability to integrate with code management for branching, merging, and versioning.
Single Code Base – Capable of programming in a standard language for deployment into several platforms.
Emulators – Ability to virtualize execution on a target platform.
Support for Native Features – Supports plug-ins and APIs for access to device-specific features.
In addition to the core features, MEAP vendors will incorporate a number of advanced features to support the full software development lifecycle and application management, and differentiate themselves from one another:
Native Program Languages – Supports languages other than web (Java, Ruby, C/C++/C#, Objective-C).
IDE Integration – Available plug-ins for popular development suites and editors.
Debugging Tools – Finding and eliminating bugs (breakpoints, single stepping, variable inspection, etc.).
Application Packaging via IDE – Digitally sign applications through the IDE in order for it to be packaged for mobile application stores.
Automated Testing Tools – Native or integration with automated functional and unit testing tools.
Low Code Development – Tools for designing graphical user interfaces and features with drag-and-drop functionality.
Publishing and Deployment Capabilities – Automated deployment to mobile device management (MDM) systems, mobile application management (MAM) systems, mobile application stores, and web servers.
Third-Party and Open-Source Integration – Integration with proprietary and open-source third-party modules, development tools, and systems.
Developer Marketplace – Out-of-the-box plug-ins, templates, and integration are available through a marketplace.
Mobile Application Support Capabilities – Ability to gather, manage, and address application issues and defects.
API Gateway, Monitoring, and Management – Services that enable the creation, publishing, maintenance, monitoring, and securing of APIs through a common interface.
Mobile Analytics and Monitoring – View the adoption, usage, and performance of deployed mobile applications through graphical dashboards.
Mobile Content Management – Publish and manage mobile content through a centralized system.
Mobile Application Security – Supports the securing of application access and usage, data encryption, and testing of security controls.
See our Implement a Proactive and Consistent Vendor Selection Process blueprint for more information about procurement best practices (including RFP templates).
- Select the mobile application platform that best fits your business needs and technical capabilities and competencies. See our Choose the Right Development Platform for Enterprise Mobile Applications blueprint for
more information about mobile platform selection.
- Amend development guidelines, software development lifecycle practices, and roles and responsibilities to accommodate mobile development. See our Modernize Your SDLC
blueprint for guidance in the review your SDLC practices.
- Strengthen your application and product portfolio management practices to accommodate the mobile applications and products that your organization must manage. See our VisualizeYour Application Portfolio Strategy With a Business-Value Driven Roadmap blueprint and our Transitionto Product Delivery
blueprint for more information.
MEAP tools give organizations the ability to enter the native mobile application space without the need to invest in the specific competencies and tools that are required to develop in each desired mobile OS. Despite the value of MEAP tools, sufficient investments are needed to ensure teams are properly trained and prepared to handle mobile development. Make a conscious decision if hybrid or native applications are worth the cost or a mobile web application is good enough.
Want to Know More?