There are many ways to provide enterprise application access on mobile devices:
- Deploying third-party mobile applications and services
- Porting Windows applications to the mobile platform for each device
- Writing brand-new, platform-specific code
- Developing mobile web-based applications
- Creating hybrid HTML 5 applications that also provide low-level, platform-specific access to hardware
- Virtualizing Windows applications
When taking into account user experience, ease of deployment, maintenance and flexibility, each of following strategies has advantages, disadvantages and target use cases. Let’s review some of the pros and cons of each:
Deploying third-party mobile applications and services
- Pros: Perhaps the easiest way to provide an enterprise app for mobile devices is to wait for a third party to develop it. A third-party app saves internal resources that would otherwise be spent on development, maintenance and updates.
- Cons: There are obvious drawbacks to this option, such as the time it may take for the app to become available. When the app does become available, it may lack key features or may not support all the mobile operating systems used by an organization’s workers.
Porting Windows applications to the mobile platform for each device
- Pros: Porting a legacy application is one of the simplest ways to make it available on mobile devices. If the application is written in a portable language, a developer can rewrite sections of code that are machine dependent and recompile the program for each mobile platform.
- Cons: If not skillfully recoded to provide a good user experience on a small screen, simple porting may result in a poorly performing application that isn’t suited to the device. Additional development resources may be required to port the application to multiple mobile platforms.
Writing brand new, platform-specific code
- Pros: Developing a native mobile version of an application offers the opportunity to rethink and optimize the GUI, display, connectivity, memory and special features. A native application can provide a satisfying user experience that delivers all of the functions mobile users need to be productive.
- Cons: Clear disadvantages of this option include the time, complexity, expense and resources required for the application planning and development. Additional resources will be required for application maintenance and updates.
Developing mobile web-based applications
- Pros: Developing an application that runs on a website geared to mobile devices allows organizations to deliver a single, mobile, web-based application to work across mobile devices and platforms. This can save considerable time and resources, especially in a BYOD environment.
- Cons: A primary drawback of this option is that a web-based application is unlikely to be optimized for a single device and will have to sacrifice some performance and functionality as a result. Browser-based applications also bring up security issues that must be addressed.
Creating hybrid HTML 5 applications that also provide low-level, platform-specific access to hardware
- Pros: This option integrates some of the cross-platform advantages of web development with the platform-specific advantages of native applications. HTML 5 applications may also be able to utilize hardware features such as device camera or platform features such as geo location.
- Cons: This option will likely not perform as well as a native application built for a specific device. Another drawback of the HTML 5 hybrid approach is that it may not be able to achieve the same level of security as a native application.
Virtualizing Windows applications
- Pros: The key advantages of using virtualization to provide mobile access to internal applications include ease of deployment, cost-effectiveness, cross platform compatibility and security. This option provides excellent performance, even over low-bandwidth connections.
- Cons: With the application virtualization approach, the user experience is not as customized as a native application built from scratch.
Organizations have many options for providing app access on mobile devices, each with its own strengths and weaknesses. To determine which solution will work best for a target use case, it’s important to consider factors such as user experience, security, ease of deployment, cost-effectiveness and flexibility.