Designing and developing iOS applications and Kitura-based servers in Swift

OData support
Dr. Forstner Bertalan
Department of Automation and Applied Informatics

Since Steve Jobs unveiled the iPhone to the world in 2007 - the very first smartphone as we know it today - phones became the most popular electronic devices ever. Nowadays we use them for keeping in touch with our friends, managing our daily tasks, paying for groceries or parking and we just want to make the most of them. Earlier, these applications were mostly plain and simple, but as the demand has grown, the size of the programs has grown as well. Because of this increase, the development and maintenance of these applications turned out to be a more difficult task, which could be solved by a well constructed and implemented architecture.

As the main part of my thesis I designed and developed an iOS application and its backend in Swift. The main advantage of using the same language during the development was using some part of the same source code in both projects. In my thesis I describe the Apple’s MVC, the MVVM and the VIPER architectures, which are commonly used during application development, and also the of advantages and disadvantages they have. I also present the state of the art technologies in Swift like Perfect, Vapor and Kitura, how they perform against other server-side technologies and why I think they have a bright future ahead.

Furthermore, I mention how I designed and developed both the client and the server. During these tasks I encountered several difficulties - for example: how to convert data on the server-side given by the Kitura framework to a valid JSON format - which I explain in my thesis with their root cause.

Last but not least, I introduce the developed application and summarise my work and experience during the writing of my essay. I also suggest some of the opportunities of further development.

The subject of my thesis associates to my job as well, which contributed in a main part writing it.


Please sign in to download the files of this thesis.