CROSS PLATFORM APPLICATION DEVELOPMENT WITH HTML5 FOR IOS AND ANDROID OPERATING SYSTEMS
Pohjanen, Jari (2014)
Pohjanen, Jari
Oulun ammattikorkeakoulu
2014
All rights reserved
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2014110515269
https://urn.fi/URN:NBN:fi:amk-2014110515269
Tiivistelmä
The main aim of this thesis was to describe how a single UI code could be used in different operating systems. The objective in this thesis was to bring out the main key points how a hybrid HTML5 application can be implemented by using iOS’s NSWebView and Android’s WebView components as a container for a hybrid application. This thesis also describes how a data transfer is done between HTML, JavaScript and native code.
As a starting point, a hybrid application was implemented in both Android and iOS platforms. I wanted to implement an application, which would give value for the end users. I studied some time for open web APIs and found out that Finnkino Movie Company was providing a free XML API for their services and the application idea was found. I interviewed some of my friends about the functional needs for the application and also about how the UI should look like.
The application itself was designed to use only one platform specific native WebView component. The User Interface was built with the HTML elements and JavaScript because the UI should look the same in both platforms. In my application the native code handles the XML data parsing from the Finnkino’s web API and sends the parsed data to the calling JavaScript function, which will then place the data into the HTML elements dynamically.
When the application was completed, all the differences between the platforms were studied and documented into this thesis.
As a result iOS’s NSWebView and Android’s WebView components provide a good support for a hybrid application development with some minor differences. The main difference is the performance and how responsive the UI is in these platforms. From the development point of view, I see a great opportunity to implement mobile applications with a web technology, as it is a fast evolving environment introducing new possibilities for the developers in a very fast phase. And from the business point of view, I can see a great opportunity for smaller companies, or individual developers because with a single effort the application UI can be created for multiple platforms and this saves money and resources.
As a starting point, a hybrid application was implemented in both Android and iOS platforms. I wanted to implement an application, which would give value for the end users. I studied some time for open web APIs and found out that Finnkino Movie Company was providing a free XML API for their services and the application idea was found. I interviewed some of my friends about the functional needs for the application and also about how the UI should look like.
The application itself was designed to use only one platform specific native WebView component. The User Interface was built with the HTML elements and JavaScript because the UI should look the same in both platforms. In my application the native code handles the XML data parsing from the Finnkino’s web API and sends the parsed data to the calling JavaScript function, which will then place the data into the HTML elements dynamically.
When the application was completed, all the differences between the platforms were studied and documented into this thesis.
As a result iOS’s NSWebView and Android’s WebView components provide a good support for a hybrid application development with some minor differences. The main difference is the performance and how responsive the UI is in these platforms. From the development point of view, I see a great opportunity to implement mobile applications with a web technology, as it is a fast evolving environment introducing new possibilities for the developers in a very fast phase. And from the business point of view, I can see a great opportunity for smaller companies, or individual developers because with a single effort the application UI can be created for multiple platforms and this saves money and resources.