In today’s world, new technology is released every day to meet and create new expectations from end users. This technology includes both physical devices and new ways to interact with those devices. Devices come in all shapes and sizes, whether it is a mobile device that runs Android or iOS, or if it is a desktop that runs the latest Windows or Mac OS. No matter the form factor, people need access to the same applications across all platforms, without jumping through all of the hoops of different versions of the business applications, in order to stay connected and effective in daily tasks.
So what solutions are available for cross-platform applications?
We can build a native application for every platform, this would require a company to build three different applications to support Android, iOS and Windows, then also maintain the three different code bases. This also would require your team of developers to be Android developers knowing the Android SDK, Apple developers using Xcode, etc.
One of the most common ways to meet this criteria, is to build a web application. This is probably the simplest solution going forward, but would not provide its users the flexibility of having a local app for ease of use on their own device. There are ways to make the application available offline in this option, but again would require the user to use their web browser to access it every time.
The one we will be looking at in this article, is building a cross-platform application that can be built/packaged to run within the web, as well as, locally within multiple devices. This option can provide the application developers the option of developing a single code base that can be packaged in a way for platforms to digest it like a native application.
While all of these options have both advantages and disadvantages, we found that cross-platform code bases can be an effective solution for many of our clients.
Defining the Technology
Cross-platform software is a software that is supported on multiple computing platforms, and platforms can be defined by different hardware and/or operating systems.
Each framework continues to build a growing library of plugins that allow for developers to further extend software by leveraging different device APIs, as an example to access local device storage/file structure or to access hardware such as a camera. These plugins enable applications built using these cross-platform frameworks to behave as if they were developed the same as native applications.
Now that we have a brief understanding of the framework, let’s jump into why taking this approach for developing cross platform applications would be so beneficial, and why some may be resistant to taking this approach.
Pros vs. Cons
A few of the larger arguments for developing on top of cross-platform frameworks are:
Understanding the reason for taking a certain approach is great, one must also evaluate the reasons against the approach to make an educated decision when building a cross-platform application.
A couple arguments for not developing on top of a hybrid platform are:
As you can see there are many trade-offs’ to consider when choosing the appropriate architecture and associated frameworks. Through our experience, we would recommend anyone developing an application for any mobile platform spend some time considering a cross-platform framework for their next project. Even if a project starts by supporting a single mobile platform, taking the approach of using a cross-platform framework allows the flexibility to expand to other platforms at a very low cost.
I also recommend on trying it out yourself, many of the platforms mentioned have a large community to help you get started.