Why Cross Platform Applications
Cross Platform Applications are a great way to develop simple multi-platform applications and reach wider audiences within a short span of time. They bring to table conveniences which allows for using same code to target different platforms and ecosystems.
In some cases, they are the better choice of development strategy to attain the desired outcome. In this article we will have a look on overview of Cross Platform Application development, its Pros, Cons and some considerations we need to make for GIS application development.
A general outline of cross platform application development is given for better understanding.
From the diagram we can see that we don’t need to write code for each platform. Instead, we write code once and the cross-platform application framework works under the hood to compile the code specifically for each supported platform.
But when we choose to write native application, we have to write code specifically for each target platform so that we should compile and run the application in each targeted platform separately.
Each development paradigms bring their own advantages and disadvantages
Let us look at some of the pros and cons of cross platform applications in general. Using a cross platform application framework reduces development time and cost, as we can share the code across the frameworks. The Framework abstracts away the specificity of each platform and makes it convenient to build to multiple devices. This allows us to reach bigger audiences with uniform set of features for every user.
But before choosing to go with a cross platform application development, we need to consider some important points.
First, we need to consider who are the target audience. What are their requirements and what platform they are going to use to meet their requirements? If the target audience is going to use only devices of a particular platform, for example only Android devices, it is better to go with native application development.
Other important thing to consider is what are the features that the application will support. What are the third-party SDKs or Libraries that will be used? For example, the application might require support for Barcode Scanner, external GPS receiver, external High Precision Measurement devices. These may require proprietary SDKs that are available only for specific platform. If this is the case, we cannot go ahead with Cross Platform application development as we cannot support a main feature of the app.
How important is the performance and the UX of the application is also a deciding factor. Our application may require, mission critical high performance and complex UI that may not be always possible/ difficult to achieve with the chosen framework.
The choice of framework for Cross Platform GIS applications is crucial. All the cross-platform application frameworks available may not support all the mapping functionalities required. Some of the cross-platform application frameworks available are Xamarin, Flutter, React Native, Qt, Ionic etc. All may not have GIS libraries. It also depends on the chosen mapping library, ArcGIS, Google Maps, Mapbox etc.
Based on the Mapping Libraries/SDKs that we want to use, our choice of framework varies. All the mapping capabilities may not be available in all the libraries / SDKs. Some libraries may support 3D maps and visualizations, some may provide offline capabilities, some may require extra licensing.
With this small introduction, you may now have a little bit extra information about the Cross Platform Application development, its Pros, Cons and special considerations that we need to give for GIS applications. There is still a lot more complexities and details that go into choosing the right framework that match your needs.
Still have queries and want to know if cross platform application is right for you? Which framework to chose?
About the authors
Mohammed Abdul Azeez
Mohammed Abdul Azeez is a Staff Consultant with an extranormal thirst to learn new things. When he is not developing apps, he wanders in the technical landscape in search of new trends.