The traditional or the native way to develop mobile applications is to use Java for Android and Objective-c or Swift for iOS. The native way is favored by many since the code and the functionality is optimized for the platform. An- other way to develop mobile applications is to do it the non-native way, with a programming language or technique not made for the platform. This approach has for long been frowned upon due the limited hardware access and perfor- mance loss. React Native and NativeScript offers mobile application develop- ment in a non-native way said full access to the native platforms API using JavaScript all from a single code base. The aim of this thesis has been to de- velop and compare four proof of concept applications of which two are devel- oped natively for Android and iOS and the other are developed using the non- native React Native and NativeScript. The comparison is based on three as- pects: accessing the device’s native hardware and APIs based on what the com- pany Dewire requires from mobile applications, the performance difference on the respective platform and code reusability cross platform. There is no big dif- ference between React Native and NativeScript when comparing native access and everything that was accessible on the native implementation was accessible on the non-native implementation. Based on the performance measurements, React Native falls behind NativeScript. NativeScript handles long lists better than React Native. Lastly a discussion is presented regarding code reusability when developing non-native applications along with some experienced best practices when doing so.
Identifer | oai:union.ndltd.org:UPSALLA1/oai:DiVA.org:miun-31018 |
Date | January 2017 |
Creators | Lawler Karvonen, Timothy |
Publisher | Mittuniversitetet, Avdelningen för informationssystem och -teknologi |
Source Sets | DiVA Archive at Upsalla University |
Language | English |
Detected Language | English |
Type | Student thesis, info:eu-repo/semantics/bachelorThesis, text |
Format | application/pdf |
Rights | info:eu-repo/semantics/openAccess |
Page generated in 0.0015 seconds