KTH Computer Science and Communication Building Blocks: Utilizing Component-Based Software Engineering in Developing Cross-Platform Mobile Applications Master of Science Thesis Interactive Media Technology at KTH Royal Institute of Technology By Oskar Andersson (
[email protected]) Supervisor at KTH: Vasiliki Tsaknaki Supervisors at Ericsson Research: Michal Koziuk & Johan Sjöberg Acknowledgements I would like to thank Stefan Ålund and Ericsson Research for the opportunity to work with this thesis. In particular, I have to thank my supervisors, Michal Koziuk & Johan Sjöberg, for their help and support during my time there. I would also like to thank my supervisor at KTH, Vasiliki Tsaknaki, for her constructive criticism and valuable feedback. Thank you! Oskar Andersson October 3 2014, Stockholm 2 Abstract Contemporary approaches to cross-platform mobile application development, such as hybrid apps from PhoneGap and generated native apps from Xamarin, show promise in reducing development time towards Android, iOS and other platforms. At the same time, studies show that there are various problems associated with these approaches, including suffering user experiences and codebases that are difficult to maintain and test properly. In this thesis, a novel prototype framework called Building Blocks was developed with the purpose of investigating the feasibility of utilizing component-based software engineering in solving this problem. The prototype was developed towards Android along with a web interface that allowed users to assemble an Android app using software components. The report concludes that component-based software engineering can be – and already is – utilized successfully to improve cross-platform mobile app development with special regards to user experience. Qualitative data indicate that Building Blocks as a concept is flexible and shows promise for mobile app development in which functionality is often reused, such as enterprise apps.