**Mobiilirakenduste arendamine** on informaatika valdkonna protsess, mis hõlmab mobiilseadmete ja nutitelefonide kasutajasõbralike rakenduste kavandamist, programmeerimist ning testimist. Eesmärk on luua rakendus, mida kasutajad saavad alla laadida või on juurdepääs internetist. Rakendusi arendatakse mitmele erinevale operatsioonisüsteemile, neist kaks populaarsemat platvormi on iOS ja Android.

Mobiilirakenduste Põhialused
----------------------------

### Kasutajaliides ja kasutajakogemus (UI/UX)

Kasutajaliidese ja -kogemuse disain on oluline osa mobiilirakenduste arendamisest. Rakenduse kasutamine peab olema intutiivne, kasutajasõbralik ning järgima platvormi disainipõhimõtteid. Jälgima peab, et vaadete vaheline navigatsioon oleks lihtne, rakenduse disain ühtlane ning visuaalselt ilus vaadat ja tekst loetav ehk hea kontrastiga.

### Veebidisaini tehnikad

Adaptiivne veebidisain (AWD) on arendusviis, kus veebilehte kohandatakse erinevatele ekraani suurustele ning arvestatakse ka seadme tehniliste võimetega. Sel eesmärgil säilitatakse sisu loetavus ja konteksti sobivus, tagades optimaalse kasutuskogemuse erinevate seadmete ja platvormide puhul.

Reageeriv veebidisain (RWD) on lähenemine, mis võimaldab kuvada sama kujundust mitmele erineva ekraani suurusega seadmele. RWD rakendab erinevaid stiile veebilehtedele olenevalt ekraani mõõtmetest, optimeerides kujundust antud seadmele sobivaks. Selle tehnika komponentideks on paindlikud pildid ja meediapäringud, mille mõõtmeid määravad suhtelised ühikud, näiteks protsendid ja ems, et elemendid ei oleks kuvatud konteinerist väljaspool.

Eraldi mobiilileht on iseseisev mobiilsete seadmete jaoks loodud veebileht ning see on levinud praktika alates 2007. aastast, kui nutitelefonide populaarsus kasvas. Mobiililehtedel on eraldi URL (m. või mobile.) ning tavaliselt nende sisu erineb täisversioonist. Mobiililehtede peamised eelised on parem jõudlus, nutiseadmele kohandatud navigeerimine ning telefoni sensoritega seotud funktsioonid. Negatiivsest küljest muudab see otsingumootori optimeerimise keerukamaks, mobiililehe ja tavaversiooni vahel liikumine suurendab veebilehe laadimisaega ning nende sisud erinevad.

### Andmete Haldamine ja Sünkroniseerimine

Andmete tõhus haldamine ja nende sünkroonimine on oluline osa mobiilirakenduste arendamises. Andmesünkroniseerimist toimub mobiilseadmete, arvutite, teenusepakkujate vahel ja teiste lähedal asuvate seadmete vahel. See tagab informatsiooni üheldumise ja uundamise seadmete vahel.

Platvormid ja Tehnoloogiad
--------------------------

### Operatsiooni süsteemi põhine arendamine

Kohaliku rakenduse arenadmine on meetod, kus mobiilirakendus arendatakse kindlale operatsioonisüsteemile, kasutades liideseid ja programeerimiskeeli, mida spetsiifiline operatsioonisüsteem toetab. Androidi puhul on toetatud programeerimiskeeled Java ja Kotlin ning Apple'i puhul Swift ja Objective-C.

### Androidi Rakenduste Arendamine

Android Studio on ametlik integreeritud arenduskeskkond (IDE) Androidi rakenduste loomiseks. See põhineb IntelliJ IDEA tarkvarale ning lisaks sisaldab veel mitmeid tööriistu, sealhulgas emulaatorit, mis võimaldab arendajatel testida rakendust erinevatel Androidi versioonidel, emuleerides reaalajas muudatusi. Lisaks on Google Cloud Platform tugi, mis lihtsustab Google Cloud Messaging ja App Engine integreerimist.

Java on traditsiooniline programmeerimiskeel Androidi rakenduste kirjutamiseks. Hiljuti on lisandunud ka Kotlin, mis on ametlikult toetatud Google'i poolt ja pakub kaasaegsemaid omadusi kui Java. Üle 50% Androidi arendajatest kasutavad Kotlini rakenduste loomiseks ja umbes 30% Javat.

Android SDK (Software Development Kit) Android SDK sisaldab arendusvahendeid ja rakendusliideseid Androidi platvormiga suhtlemiseks. See hõlmab erinevaid API-sid ja tööriistu, mis on vajalikud rakenduste arendamiseks.

Gradle Build System on ehitussüsteem, mida kasutatakse Androidi rakenduste kompileerimiseks ja ehitamiseks. See võimaldab tõhusat sõltuvuste haldamist ja projekti konfigureerimist.

### iOS-i Rakenduste Arendamine

Xcode on Apple'i integreeritud arenduskeskkond (IDE), mis on mõeldud rakenduste ja kasutajaliideste arendamiseks kõigile Apple'i platvormidele. See on Apple’i kasutajatele tasuta, pakkudes kasutajale disaini ja arendamise tööriistu.

Swift on Apple'i loodud programmeerimiskeel iOS-i, macOS-i, watchOS-i ja tvOS-i rakenduste jaoks. Enne seda põhiliselt kasutati Objective-C.

iOS SDK (Software Development Kit) sisaldab kõiki vajalikke tööriistu ja raamistikke iOS-i rakenduste arendamiseks.

### Platvormideülene Rakenduse Arendamine

Platvormideülene mobiiliarendus on lähenemisviis, kus loodud rakendus ühildub mitme operatsioonisüsteemiga kasutades sama koodibaasi. See muudab arendusaega lühemaks, sest sama komponenti ei ole vaja luua mitmel korral.

React Native on Meta Platforms, Inc. poolt loodud JavaScripti teek, mis muudab Androidi ja iOS mobiilirakenduste arendamise lihtsaks, kasutades ühte koodibaasi. See võimaldab kirjutada koodi JavaScripti ja Reacti abil, ühendades mõlemad platvormid ning vähendades seeläbi arendamise keerukust ja ajakulu.

Flutter on Google'i poolt loodud avatud lähtekoodiga kasutajaliidese raamistik, mis võimaldab mobiilirakenduste loomist. Flutter võimaldab arendajatel arendada rakendusi mitmele platvormil, sealhulgas mobiilseadmetele, veebile ja töölauale, kasutades ühte koodibaasi. Flutter kasutab programmeerimiskeelt Dart, mis on loodud Google'i poolt, eesmärgiga tagada rakenduste kiire toimimine igal platvormil.

Tulevikusuunad ja Trendid
-------------------------

5G mõju: Kiirem internetiühendus tagab väiksemad ooteajad ning suurendab ühendusete stabiilsust , muutes rakenudsed võimamateks.

Tehisintellekt ja masinõpe rakendustes: Selle peamine eesmärk on lahendada igapäevaseid kasutajate probleeme rakendades mobiilltelefonidelt kogutud andmeid, mis suurendada kasutaja kaasatust. Mobiilirakenduste arendamisel kasutatakse mitmeid tehisintellekti aspekte, sealhulgas otsingumootori optimeerimist, automatiseerimise taseme suurendamist protsessides, automatiseeritud loogilist mõtlemist ja vastusfunktsiooni, isikupärastatud kasutajakogemust, reaalajas tõlget, juturoboteid ning turvalisuse suurendamist näotuvastuse abil.

Viited
------

1. ↑  "Introduction to Mobile Application Development | IBM". *www.ibm.com* (Ameerika inglise). Vaadatud 18. jaanuaril 2024.
2. ↑  "Role of UI/UX Design in Android App Development [2024]". *redblink.com*. Vaadatud 18. jaanuaril 2024.
3. ↑  "Adaptive web design - What is it and when should it be used?". *evolve* (Ameerika inglise). Vaadatud 18. jaanuaril 2024.
4. 1 2  Cazañas, Alex; Parra, Esther (24. veebruar 2017). "Estrategias de diseño web para dispositivos móviles". *Enfoque UTE*. **8** (1): 344–357. DOI:10.29019/enfoqueute.v8n1.142. ISSN 1390-6542.
5. ↑  "Data Synchronization in Mobile Computing - javatpoint". *www.javatpoint.com* (inglise). Vaadatud 18. jaanuaril 2024.
6. ↑  "Native vs. Cross Platform Apps | Microsoft Power Apps". *powerapps.microsoft.com* (inglise). Vaadatud 18. jaanuaril 2024.
7. ↑  "Meet Android Studio". *Android Developers* (inglise). Vaadatud 17. jaanuaril 2024.
8. ↑  "Kotlin for Android | Kotlin". *Kotlin Help* (Ameerika inglise). Vaadatud 17. jaanuaril 2024.
9. ↑  "What Is the Android SDK and How to Start Using It | Envato Tuts+". *Code Envato Tuts+*. 2. juuli 2020. Vaadatud 18. jaanuaril 2024.
10. ↑  "Add build dependencies | Android Studio". *Android Developers* (inglise). Vaadatud 18. jaanuaril 2024.
11. ↑  "Xcode". *Apple Developer Documentation* (Ameerika inglise). Vaadatud 17. jaanuaril 2024.
12. ↑  "Swift - Apple Developer". *developer.apple.com* (inglise). Vaadatud 18. jaanuaril 2024.
13. ↑  "What is the iOS software development kit (iOS SDK)? | Definition from TechTarget". *Mobile Computing* (inglise). Vaadatud 18. jaanuaril 2024.
14. ↑  "What is cross-platform mobile development? – TechTarget Definition". *Mobile Computing* (inglise). Vaadatud 18. jaanuaril 2024.
15. ↑  "React Native · Learn once, write anywhere". *reactnative.dev* (inglise). Vaadatud 17. jaanuaril 2024.
16. ↑  "What is Flutter? - Flutter App Explained - AWS". *Amazon Web Services, Inc.* (Ameerika inglise). Vaadatud 17. jaanuaril 2024.
17. ↑  "Dart overview". *dart.dev* (inglise). Vaadatud 17. jaanuaril 2024.[*alaline kõdulink*]
18. ↑  Rathod, Atman (2. november 2022). "How will 5G affect Mobile App Development?". *CMARIX Blog* (Ameerika inglise). Vaadatud 18. jaanuaril 2024.
19. ↑  "Artificial Intelligence in Mobile App Development" (Ameerika inglise). 9. september 2022. Vaadatud 17. jaanuaril 2024.