Thesis Details
Knihovna pro řízení datové synchronizace v prostředí aplikací Apple
The goal of this thesis is to design and implement a library for data synchronization between multiple client's devices in the context of the ecosystem of a single application targeting the iOS, iPadOS or MacOS operating system. The work focuses on the simple integration of the library into existing applications using the Realm database system and on the simple way to connect the user interface with the synchronization process. I solved the chosen problem by designing a synchronization protocol primarily based on log synchronization to distribute changes between the client and the server, implementing a library to monitor changes in the client's database and distribute them to the server, and implementing a server library to integrate received changes and distribute them with help of notifications. The solution provides an easy way to implement data synchronization between multiple devices using custom database server and with the ability to define how to handle new changes of objects presented in the user interface during the synchronization. Created library can be quickly and easily integrated and thus effectively speed up the application development process.
Data synchronization, Synchronization, Synchronization protocol, CoreData, Realm, iCloud, CloudKit, Combine, SwiftUI, MeerkatSync, Swift, Mobile data synchronization, iOS, iPadOS, MacOS, Apple
Burget Lukáš, doc. Ing., Ph.D. (DCGM FIT BUT), člen
Hradiš Michal, Ing., Ph.D. (DCGM FIT BUT), člen
Hrubý Martin, Ing., Ph.D. (DITS FIT BUT), člen
Kočí Radek, Ing., Ph.D. (DITS FIT BUT), člen
Rozman Jaroslav, Ing., Ph.D. (DITS FIT BUT), člen
@mastersthesis{FITMT23111, author = "Filip Klembara", type = "Master's thesis", title = "Knihovna pro \v{r}\'{i}zen\'{i} datov\'{e} synchronizace v prost\v{r}ed\'{i} aplikac\'{i} Apple", school = "Brno University of Technology, Faculty of Information Technology", year = 2020, location = "Brno, CZ", language = "slovak", url = "https://www.fit.vut.cz/study/thesis/23111/" }