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 |