Computers were taken into mass production nearly half a decade ago, in the meantime many technological breakthroughs have been achieved, which contributed to the rapid development of the industry. The minimization of hardware and elements and the advancements in info-communication technologies made it possible to create cell phones, and through its evolution we achieved today's smartphones. These devices take great part in our life, for which the main reason is the set of available applications. Because of the widespread usage of smartphones, we hold an enormous amount of information in our pocket we could never imagine before. These smartphone platforms are becoming increasingly important, because modern information technology now focuses more thoroughly on data and information. Smartphone platforms are very fragmented, therefore if the goal is to reach all users, focusing on an individual platform is not an option. Developing an application separately to all mobile platforms could include a massive amount of overhead work. Because of this, we can use a different approach, which is to develop a common code base for all target platforms. Xamarin offers a cross-platform solution for solving this problem on mobile platforms.
The goal of my thesis is to present the process of developing a complex multiplatform mobile application on the grounds of Xamarin. Mobile applications can support us on many fields of our lives, they can help in our sports activities, studies or with managing our expenses. Many of us use an application for a shopping list, therefore from the perspective of expense management it would be important to know where and for how much we can buy these products. So, the task is to develop a cross-platform smartphone application which supports users' shopping processes by providing product data from grocery franchises. At the beginning of my thesis I will learn about Xamarin platform and other technologies, which are necessary for the implementation. Following that, I am going to design the components of the system, and after that I am going to implement the client and server softwares, based on the previously completed design phase. Last, but not least I will evaluate my results achieved during the completion of my thesis. Finally, I will summarize the experiences gained while I was elaborating and implementing my project and I will examine the possibilities of further developments regarding my client and server applications.