It is a common problem with mobile application development, that the developers have to support more than one platforms at the same time. This can easily lead to the duplication of client side business logic. One solution for this problem is to create cross platform applications, which share their codebases across the supported platforms. There is a performance difference between web applications running in webview and native application, and I will concentrate on those frameworks that can build native applications. Fully cross platform applications are usually hard to achieve.
A mobile client usually connects to a backend which is a program running on servers. It is more and more popular to use cloud hosted services as the backend of mobile applications, this way the scalability, maintenance and deployment strategies are handled by a third party vendor instead of us. In general, these cloud hosted services are called Backend as a Service (BaaS). It can be more convenient to develop and to maintain a BaaS technology in comparison to physical or virtual machines. Mobile clients, that are using BaaS technologies are called serverless applications.
It is hard to make an educated decision when a company is about to decide which technology will be used for the next upcoming mobile application development. In my thesis I will research some of the widespread cross platform mobile frameworks that are able to create native applications. I will also compare some of the available Backend as a Service technologies, and design a development environment for cross platform, serverless mobile application development. The goal of my thesis is to create and demonstrate a prototype application using the learned technologies. I will go through most of the traditional steps of software development lifecycle, and examine how specification, design and implementation are done in case of cross platform, serverless mobile development.