The key to end-user computing

Maksym Yemelyanov - Fotolia

Cross-platform mobile app development is more viable than ever

Organizations today support such a variety of devices that they need a way to deliver apps more seamlessly. Cross-platform development is a new reality that can help.

Endpoint diversity and the differences in developer skill sets have made it critical that today's mobile apps have strong performance across multiple platforms.

Employees have come to expect to use the mobile devices of their choosing for their day-to-day workflows. As a result, organizations have had to invest in tools to modernize the applications they have relied on for years. At the same time, tools have emerged that can drastically simplify the process of creating applications that run across multiple operating systems. More importantly, many of these cross-platform mobile app development tools feature design, development, testing and deployment capabilities within a single integrated platform.

Developers' experience also comes into play. An organization may have a talented roster of highly skilled and classically trained developers, or have a mix of these folks with inexperienced developers and semi-professional developers. Fortunately, modern mobile development vendors have seen this mix of skills among their customers and have done well in evolving their tools. They are well aware that their products need to appeal to different types of developers with varied programming experience and exposure to business productivity applications.

Why cross-platform is becoming a reality

While products that simplify the mobile app development process continue to emerge, the diversity of approaches also continues to evolve, making it difficult for organizations to identify the most appropriate option. It is very important to assess the organization's developer resources prior to deciding on app development tools. Does the business have talented web developers, Java developers or .NET developers? The company's device landscape and application user experience requirements -- for instance, which devices need to be supported and how fast and responsive apps need to be -- are equally as important.

Building a single code base for Apple iOS, Google Android and web apps has been possible for several years now, but what has changed is the performance of cross-platform apps. Once Android standardized rendering engines between the browser and the WebView, which renders websites on Android device browsers, and Apple stopped restricting its web rendering, performance issues became less relevant. Plus, business-grade apps don't usually require the same level of performance of gaming or consumer-oriented apps, which typically need to look more polished and aesthetically pleasing. Modern cross-platform tools use common languages such as C# and JavaScript to share code across projects; more importantly, they integrate well with application lifecycle management tools, such as Jenkins and Team Foundation Server.

All of these aspects are driving the ability for developers to more easily create successful cross-platform mobile apps.

Tools for cross-platform mobile apps

Organizations should explore these approaches to benefit from cross-platform mobile app development:

An organization may have a talented roster of highly skilled and classically trained developers, or have a mix of these folks with inexperienced developers and semi-professional developers.

Businesses can use tools from vendors such as Alpha Software, Capriza, Kony, Microsoft, PowWow Mobile, Sapho and ViziApps to develop cross-platform apps. These products are typically proprietary but also take advantage of open source components to augment their features.

Another approach is to use JavaScript to write hybrid apps -- web apps that are wrapped in a mobile browser runtime with native plug-ins -- or progressive web apps (PWAs). Open source hybrid frameworks such as React Native, NativeScript and Ionic allow developers to use their existing .NET and C# skills to compile native Android or iOS apps. They also offer the ability to simultaneously deploy completely native iOS and Android apps. The main drawback of this category of tools is that developers still need to understand native development if they are going to create any complex UI functionalities.

Cross-platform pros and cons

Cross-platform mobile app development tools offer the native look and feel for both iOS and Android that organizations want. Developers can also include platform-specific modules -- such as status bars, navigation or access to native elements such as the camera and contacts. (Some may need developers to write them from scratch depending on the framework.) Most products offer a singular development experience and are an ideal option for generic database-reliant apps.

Cross-platform mobile app development can also be advantageous for application maintenance, because developers or IT staff who find bugs in a common code base only need to fix them once. At the same time, the pace at which mobile operating systems are evolving can be a complicating factor and require apps to be re-written if an update to the OS isn't compatible with an existing app.

Finally, web apps rely on third-party platforms and plug-ins for access to native features, which can complicate the mobile app development process by requiring developers to rely on more resources. Plus, web apps and PWAs are not visible in public app stores, so organizations lose this channel to deliver and promote apps to employees. Still, these cross-platform apps offer some benefits comparable to native apps, such as offline access and the ability to send push notifications. PWA support is strongest on Android, but the capability on iOS will improve.

Depending on the organization's device diversity, businesses will be well served by investing in a combination of tools that facilitate a traditional code-focused approach to cross-platform mobile app development that allows developers to use their skills in JavaScript, C# and C++. Investments should ensure that the deployment can also accommodate browser, containerized web, hybrid or native apps, using modern integrated development environments and editors with cross-platform capabilities.

Article 5 of 6

Dig Deeper on Mobile application strategy

Unified Communications