Architectural design patterns in modern iOS development

Thesis title: Architektonické vzory v moderním vývoji pro iOS
Author: Kolomazník, Martin
Thesis type: Diplomová práce
Supervisor: Pecinovský, Rudolf
Opponents: Oraný, Vladimír
Thesis language: Česky
Abstract:
Cílem této práce je nalézt nejoptimálnější z několika architektonických vzorů vyu-žívaných v jazyku Swift s využitím nově příchozích knihoven SwiftUI a Combine. Hlavní výstup této práce slouží jako ověřený postup, kterým lze vyvíjet škálovatel-né, testovatelné a dlouhodobě udržitelné mobilní aplikace. V teoretické části práce jsou nejprve představena programovací paradigmata, neboť zmíněné knihovny přináší do jazyka Swift deklarativní styl zápisu. Poté je předsta-ven programovací jazyk Swift jako takový a následně knihovny Combine a SwiftUI, kterých se tato práce týká. V další kapitole je diskutována architektura software a představeny nejpoužívanější architektonické návrhové vzory v jazyku Swift. Ná-sledně jsou vyvinuty tři ukázkové aplikace s využitím vzoru MVVM, Redux a Clean Architecture. U každé vyvinuté aplikace jsou zhodnoceny silné a slabé stránky a následně je zvolený jediný postup pro vývoj rámcově větší aplikaci, která se rozsa-hem a požadavky více podobá komerčním aplikacím.
Keywords: iOS; Vývoj mobilní aplikace; Swift; Combine; SwiftUI; Architektonické návrhové vzory
Thesis title: Architectural design patterns in modern iOS development
Author: Kolomazník, Martin
Thesis type: Diploma thesis
Supervisor: Pecinovský, Rudolf
Opponents: Oraný, Vladimír
Thesis language: Česky
Abstract:
The aim of this diploma thesis is to find the most optimal architectural design pat-tern to be used with libraries SwiftUI and Combine coming into the Swift pro-gramming language. The main outcome of the thesis can be used as a proven appli-cation design providing its user to develop scalable, testable, and sustainable mobile applications. Since the mentioned libraries bring a declarative approach into the language, the theoretical part of this thesis starts by summarizing different programming para-digms. Then the Swift programming language is described following by a detailed analysis of the Combine and SwiftUI libraries. The following chapter discusses software architecture, and the most commonly used design patterns in Swift are introduced. In the final part of the thesis, the author presents three example applications using MVVM, Redux, and Clean Architecture design patterns. Besides, the strangenesses and weaknesses are evaluated for each designed application. Subsequently, the single pattern is selected for developing one more complex application, which evokes commercial applications by its scope and requirements.
Keywords: iOS; SwiftUI; Combine; SwiftUI; architectural design patterns; Mobile application development

Information about study

Study programme: Aplikovaná informatika/Informační systémy a technologie
Type of study programme: Magisterský studijní program
Assigned degree: Ing.
Institutions assigning academic degree: Vysoká škola ekonomická v Praze
Faculty: Faculty of Informatics and Statistics
Department: Department of Information Technologies

Information on submission and defense

Date of assignment: 28. 7. 2020
Date of submission: 6. 12. 2021
Date of defense: 24. 1. 2022
Identifier in the InSIS system: https://insis.vse.cz/zp/73761/podrobnosti

Files for download

    Last update: