Mälardalens högskola Comparison study of cross-platform developing tools for iPhone devices Jakob Danielsson School of innovation, Design and technology Mälardalen University Computer science Basic Level Supervisor: Afshin Ameri, MDH Martin Friberg, Addiva Examiner: Rikard Lindell November 2014 Abstract Developing applications for mobile devices is nowadays a very large business. However, the process of developing an application can be both very time consuming and costly due to different languages used for different devices. Lately, a lot of tools have been developed to handle the different languages problem going under the name “cross-platform” - so many that it might get hard for the developer to make a choice between the different products. This thesis presents 4 different approaches for programming cross-platform applications: Web based, cross-compiled, interpreted and hybrid solutions. For each category, one product is chosen and is evaluated according to comparison tests suggested in the thesis, including benchmark tests, technical evaluation tests seen from both the developing perspective and the infrastructure perspective and last a functionality evaluation. Other important parameters to think about when developing an application are also presented. At the end of the thesis, a taxonomy of applications is presented in order to give examples when a cross-platform solution is suitable and which cross-platform tool should be used. Finally, there are some important points taken up about what the developer should think about, when choosing a solution according to this thesis as there is no straight forward way to say that one cross-platform solution is the best of them all. Sammanfattning Utvecklandet av mobila applikationer är idag en väldigt stor marknad, men utvecklingsprocessen kan ibland vara både tidskonsumerande och kostsam eftersom de olika mobila enheterna använder olika utvecklingsspråk. Den senaste tiden har många verktyg utvecklats för att hantera detta problem, dessa verktyg ingår i kategorin cross-plattform verktyg. I själva verket är det så många verktyg som har utvecklats att det kan bli svårt för utvecklarna att välja mellan de olika verktygen. Denna uppsats presenterar 4 olika tillvägagångssätt för att programmera cross-plattforms applikationer: web baserade lösningar, hybrid lösningar, översatta lösningar och cross-kompilerade lösningar. För varje kategori väljs sedan en produkt, som skall evalueras enligt ett jämförelsetest som denna uppsats föreslår, detta test inkluderar ett benchmark test, en teknisk evaluering och en funktionsevaluering. Förutom dessa test ges även andra viktiga parametrar gällande cross-plattforms utveckling. I slutet av uppsatsen är en taxonomi av mobila applikationer presenterad vars syfte är att ge exempel när ett cross- plattforms verktyg är passande för en mobil applikation, och även vilket verktyg som är passande. Slutligen tas några viktiga punkter upp som utvecklaren bör tänka på när ett cross- plattforms verktyg skall användas för utveckling, eftersom det inte finns något direkt sätt att säga att ett cross-plattforms verktyg är bättre än ett annat. Table of contents 1 Introduction ..................................................................................................................................... 1 1.1 Problem definition ................................................................................................................... 1 1.2 Goals ........................................................................................................................................ 1 2 Background & related work............................................................................................................. 2 2.1 The need for cross-platform in computers ............................................................................. 3 2.2 Software aspects ..................................................................................................................... 3 2.3 Cross-platform for mobile phones .......................................................................................... 3 2.3.1 Native solutions ............................................................................................................... 4 2.3.2 Mobile web applications ................................................................................................. 4 2.3.3 Hybrid applications .......................................................................................................... 5 2.3.4 Cross-compiled applications ............................................................................................ 5 2.3.5 Interpreted solutions ....................................................................................................... 5 2.3.6 Solution overview ............................................................................................................ 5 2.4 Related work ........................................................................................................................... 6 3 Method ............................................................................................................................................ 7 3.1 The chosen tools ...................................................................................................................... 9 3.2 Sample program – testing ..................................................................................................... 12 3.3 Test case Vikingen Click & go ................................................................................................ 13 3.4 Evaluations ............................................................................................................................ 13 3.4.1 Technical evaluation ...................................................................................................... 14 3.4.2 Performance evaluation ................................................................................................ 17 3.4.3 Functionality acess ........................................................................................................ 24 3.5 Adding a taxonomy ................................................................................................................ 24 4 Results & Conclusion ..................................................................................................................... 26 4.1 Technical evaluation .............................................................................................................. 26 4.2 Performance evaluation ........................................................................................................ 26 4.3 Functionality access ............................................................................................................... 29 4.4 Classifying and determining the solution .............................................................................. 29 4.5 Example 1 – Timereferee ...................................................................................................... 30 4.6 Example 2 – cryptodroid ....................................................................................................... 31 4.7 Test prototype Vikingen Click & go ....................................................................................... 32 4.8 Conclusion ............................................................................................................................. 33 4.9 Future work ........................................................................................................................... 34 5 References ..................................................................................................................................... 35 1 Introduction In the past years smartphones has been an increasingly popular subject, it is believed that up to 1.75 billion devices will be used in 2014[29], the rapid development in the smartphone market increases the demands for applications, however different mobile phone manufacturers uses different operating systems. This mean that each application has to be implemented specifically for each operating system, which in turn leads to high development- and maintenance costs [1]. To solve this problem, the cross-platform solution for mobile devices has been introduced, which means that an application can be developed by a single tool without porting the code between different languages. Today, there are many different cross-platform tools available [32], which may make it hard to select the most feasible one. All of the cross-platform tools types have strengths and weaknesses, with the main strength being that they all can be programmed in the same language, with none or small knowledge of the native programming language. However, cross-platform solutions aren't always the right approach, as they don't run the native code and might not contain good solutions for handling the device specific functions. As suggested by [2], a cross-platform solution should only be chosen over a native solution if the application is targeted for multiple platforms with time to market and cost being the critical factors. This thesis work was done in co-operation with Addiva AB, which has a need of finding the best cross-platform solution for their iPhone application “Click & go”. 1.1 Problem definition This work will focus to solve the two following points: • How can a cross-platform solution be evaluated and compared to other cross-platform
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages42 Page
-
File Size-