Title Analiza utjecaja metoda razvoja na izvorni kôd međuplatformskih aplikacija
Title (english) Analysis of the impact of development methods on the source code of cross-platform applications
Author Luka Dumančić
Mentor Ivana Bosnić (mentor)
Committee member Ivana Bosnić (član povjerenstva)
Committee member Igor Čavrak (član povjerenstva)
Committee member Danko Basch (član povjerenstva)
Granter University of Zagreb Faculty of Electrical Engineering and Computing Zagreb
Defense date and country 2022-09-21, Croatia
Scientific / art field, discipline and subdiscipline TECHNICAL SCIENCES Computing
Abstract Tijekom godina pojavili su se različiti operacijski sustavi za mobilne uređaje. Iako su najkorišteniji i najpoznatiji iOS i Android, postoje i drugi. Zbog pojave različitih operacijskih sustava, potrebno je imati i različite programske jezike i radne okvire uz pomoć kojih je moguće izraditi programe i mobilne aplikacije za ove operacijske sustave. S razvojem mobilnih aplikacija, dolazi do napretka metoda razvoja mobilnih aplikacija. Postoji mnogo načina za izradu mobilnih aplikacija. Neke uobičajene metode su razvoj nativnih aplikacija, razvoj web-aplikacija, hibridni razvoj aplikacija, razvoj međuplatformskih aplikacija Ovaj diplomski rad uspoređuje razvoj nativnih aplikacija, te razvoj uz pomoć radnih okvira za izradu međuplatformskih aplikacija.
Izrađene su iste mobilne aplikacije koristeći tri metode razvoja uz pomoć dva radna okvira za izradu međuplatformskih aplikacija (React Native i Kotlin Multiplatform) i koristeći nativnu izradu aplikacija. Izrađena je mobilna aplikacija za dnevno informiranje. Aplikacija prikazuje stanje dionica, vremensku prognozu i najbitnije vijesti iz zemlje, te ovisno o operacijskom sustavu prikazuje vijesti o tvrtki Apple, odnosno tvrtki Google. Aplikacija je opisana koristeći zahtjeve prema razini detalja i uz pomoć UML dijagrama stanja. U specifikaciji programske potpore navedeno je da se izrađene mobilne aplikacije moraju držati obrasca MVC za izgradnju arhitekture mobilne aplikacije.
Nakon što su mobilne aplikacije izrađene, one se uspoređuju na temelju faktora složenosti korištenja metoda razvoja, razini kontrole i mogućnosti korištenja nativnog programskog jezika za operacijski sustav, te ponovnoj uporabi kôda i uštedi vremena razvoja. Kako bi se dobila bolja predodžba o metodama razvoja, pronalaze se mobilne aplikacije otvorenoga kôda i mišljenja drugih razvojnih programera i tvrtki koje su koristile radne okvire.
U konačnici se zaključuje da idealna metoda razvoja mobilnih aplikacija ne postoji jer platforme iOS i Android imaju potpuno različite nativne razvojne alate i nije moguće udovoljiti svim kriterijima. Radni okviri React Native i Kotlin Multiplatform za cilj imaju smanjiti posao razvojnim programerima i u tomu uspijevaju, ali pod cijenu drugih faktora. Nativni razvoj mobilnih aplikacija je stoga i dalje konkurentan i neće nestati. Samo će vrijeme pokazati hoće li neka od promatranih metoda razvoja prevladati ili će neke od njih možda nestati.
Abstract (english) Over the years, various mobile operating systems have emerged. Although iOS and Android are the most used and well-known, others exist as well. Due to the emergence of different operating systems, it is necessary to have different programming languages and frameworks with which it is possible to create programs and mobile applications for these operating systems. There are many methods to create mobile applications. Some common methods are native application development, web application development, hybrid application development, and cross-platform application development. This thesis compares the development of native applications and development with the help of frameworks for creating cross-platform applications.
The same mobile application was created using 3 development methods with the help of 2 frameworks for creating cross-platform applications (React Native and Kotlin Multiplatform) and using native application development. A mobile application for daily information has been developed. The application displays stock status, weather forecast, and the most important news from the country and depending on the operating system displays news about Apple or Google. The application is described using detail level requirements and using UML state diagrams. The software specification states that the developed mobile applications must make use of the MVC form to build the mobile application architecture.
Once mobile applications were created, they are compared based on the complexity of using the development method, the level of control, the ability to use the native programming language for the operating system, code reuse, and time development savings. To better understand development methods, open-source mobile applications and opinions of other developers and companies that have used frameworks were analyzed.
Ultimately, it is concluded that the ideal method of developing mobile applications does not exist because the iOS and Android platforms have completely different native development tools, and it is not possible to meet all the criteria. The React Native and Kotlin Multiplatform frameworks aim to reduce the developer’s work and they succeed in doing so but at the cost of other factors. The native development of mobile applications is therefore still competitive and will not disappear. Only time will tell whether some of the observed development methods will prevail or some may disappear.
Keywords
međuplatformske aplikacije
metode razvoja
React Native
Kotlin Multiplatform
iOS
Android
mobilne aplikacije
Keywords (english)
cross-platform applications
development methods
React Native
Kotlin Multiplatform
iOS
Android
mobile applications
Language croatian
URN:NBN urn:nbn:hr:168:517059
Study programme Title: Computing Study programme type: university Study level: graduate Academic / professional title: magistar/magistra inženjer/inženjerka računarstva (magistar/magistra inženjer/inženjerka računarstva)
Type of resource Text
File origin Born digital
Access conditions Closed access
Terms of use
Public note
Created on 2023-01-14 08:43:16