img

Quantox Akademija

Razvoj aplikacija (Android, iOS)

Razvoj aplikacija

Svet mobilnih aplikacija je danas neizostavan deo digitalnog sveta i ima ogroman uticaj na našu svakodnevicu. Mobilne aplikacije su postale popularne jer omogućavaju korisnicima da pristupe informacijama i uslugama na brz i jednostavan način, bilo kad i bilo gde. Broj korisnika mobilnih uređaja prevazilazi 7 milijardi, što ukazuje na činjenicu koliko su mobilni uređaji i aplikacije koje svakodnevno koristimo neizostavni deo našeg života. 

Obuka razvoj aplikacija će vam pružiti temeljno razumevanje procesa razvoja mobilnih aplikacija za Android i iOS platforme. Kroz ovaj program obuka stičete praktično iskustvo u razvoju mobilnih aplikacija i osposobljavate se da kreirate aplikaciju po vašem izboru. 

Na Quantox akademiji možete izabrati između dve obuke:

Android
iOS
razvoj android aplikacija

Android aplikacije su postale neizostavan deo našeg svakodnevnog života. Danas preko 3 milijarde ljudi koristi android uređaje. Ako posedujete znanje iz programiranja u Javi /OOP i želite dalje da se razvijate u pravcu razvoja Android aplikacija, onda je ova obuka baš za vas.

Obuka je kreirana tako da vam pruži praktično iskustvo u radu sa popularnim razvojnim alatima za razvoj Android aplikacija.
Naš napredni kurs za Android aplikacije namenjen je programerima koji žele da nauče da kreiraju aplikacije za Android platformu. Učesnici će imati priliku da se upoznaju sa svim aspektima razvoja Android aplikacija, uključujući korišćenje Android Studia, razvoj u Kotlin programskom jeziku, kreiranje UI i UX dizajna i razumevanje principa Android OS-a. 

Za pohađanje ovog kursa potrebno je dobro poznavanje Java (OOP) programiranja

Kroz ovaj program ćete naučiti:

Kako da kreirate Android aplikacije pomoću Kotlin programskog jezika

Da radite sa svim neophodnim komponentama aplikacije

Da samostalno razvijete Android aplikaciju

razvoj iOS aplikacija

iOS aplikacije su veoma popularne i procenjuje se da ih ima preko dva miliona na Apple App Store-u. Apple ima tendenciju da razvija inovativne tehnologije i implementira ih u iOS platformu, što omogućava programerima da kreiraju aplikacije koje su jedinstvene i korisne. Kurs za razvoj iOS aplikacija omogućava polaznicima da steknu znanja i veštine u programiranju i razvoju aplikacija za iOS platformu. To uključuje učenje programskih jezika poput Swift-a, kao i učenje različitih tehnologija i alata koji se koriste u iOS razvoju. Kurs za razvoj iOS aplikacija omogućava polaznicima da nauče kako da kreiraju aplikacije za Apple uređaje. 

Swift je relativno nov programski jezik, ali je postao jedan od najpopularnijih programskih jezika na svetu, zahvaljujući svojoj jednostavnosti, efikasnosti i fleksibilnosti. 

Ovaj kurs je namenjen svima onima koji žele da nauče kako da kreiraju aplikacije za iPhone i iPad uređaje, kao i za one koji žele da se usavrše u programiranju i razvoju aplikacija. Ovaj kurs može biti koristan i za profesionalne programere koji žele da steknu znanje o iOS razvoju, ili za one koji jednostavno žele da prošire svoje znanje o programiranju i razvoju aplikacija. 

Uslov za pohađanje ovog kursa je posedovanje MacBook- a (macOS). Prethodna znanja u oblasti programiranja nisu potrebna.

Kroz ovaj program ćete naučiti:

Osnovne koncepte programiranja

Rad u Swift programskom jeziku

Da samostalno kreirate iOS aplikaciju

Programi obuke

Program obuke Razvoj Android aplikacija

Fond časova

Modul 1. Kotlin

Basics

Naučite da kreirate IntelliJ IDEA projekat, otvorite REPL i izvršite funkciju, operatore, tipove podataka, type casting, nizove i šablone nizova, promenljive, uslove, tok kontrole i strukture petlje, liste i nizove, nulte bezbednosne funkcije

2

Functions

Naučite da koristite vraćenu vrednost izraza, podrazumevane argumente, kompaktne funkcije, lambda funkcije i funkcije višeg reda, eager and lazy  liste filtera

2

Classes and objects

Naučite klase, konstruktore, nasleđivanje, interfejse i kako proširiti klase, funkcije proširenja, posebne klase (klase podataka, nabrajanja, objekt/singltoni, prateći objekti), pakete, modifikatore vidljivosti

2

Modul 2. Android osnove

Komponente aplikacije (manifest, activity, resursi), razvojno okruženje i build system

Naučite osnovne gradivne blokove Android aplikacije

3

Komponente aplikacije (service, notification, broadcast receiver, content provider, deep links)

Naučite osnovne gradivne blokove Android aplikacije

3

UI i Layouti

Naučite da odredite dužine u dp-u, radite sa gustinom ekrana, renderujte prikaze na ekranu vaše aplikacije, prikaze rasporeda unutar ConstraintLayout-a, povezivanje podataka, RecyclerView i custom adapter

3

Navigacija

Naučite da koristite eksplicitne i implicitne namere, strukturirajte aplikacije koristeći fragmente, upravljajte navigacijom pomoću NavGraph-a, NavHost-a i NavController-a, koristite Safe Args za prosleđivanje podataka između fragmenata, koristite NavigationUI da povežete gornju traku aplikacija, fioku za navigaciju i donju navigaciju

2

Senzori i permisije

Naučite da deklarišete dozvole koje su potrebne vašoj aplikaciji u AndroidManifest.xml, koristite tri nivoa zaštite za dozvole: normal, signature, and dangerous, koristite lokaciju ili druge senzore

3

Servisi

Naučite da koristite usluge za rad u pozadini

2

Modul 3. Android napredno

Lifecycle i View State

Razumećete kako se instanca aktivnosti prebacuje kroz različite faze životnog ciklusa, zadržati stanje korisničkog interfejsa tokom promena konfiguracije korišćenje logovanja za pomoć pri otklanjanju grešaka i praćenju stanja aplikacije

2

MVVM (UI Layer)

Naučite da pratite dobar dizajn arhitekture aplikacije, kreirajte ViewModel za držanje podataka odvojeno od UI kontrolera, koristite ViewModel sa povezivanjem podataka da biste napravili korisnički interfejs koji reaguje sa manje koda, koristite posmatrače da automatski dobijate ažuriranja od LiveData

2

MVVM (data layer) – Repository, Room, Preferences

Podesite i konfigurišite bazu podataka koristeći biblioteku Room, koristite korutine za asinhrono programiranje, koristite korutine sa Room-om

3

REST API (internet permission, network library, JSON)

Saznajte više o JSON-u, koristite biblioteku Retrofit za upućivanje API poziva veb usluga, koristite Moshi biblioteku da raščlanite JSON odgovor u objekte klase, učitajte i prikažite slike sa interneta koristeći Glide biblioteku

3

Razvojno okruženje (napredno)

Naučite napredne funkcije Android Studija, kao što su  Profiler, App Inspection, APK size analyzer

2

Design system and styling (Material design, themes, styles, typography, fontovi…)

Naučite da prilagodite vizuelni izgled svoje aplikacije koristeći stilove i teme, koristite type skale za tekst u svojoj aplikaciji, izaberite bolje teme za svoju aplikaciju koristeći Material color tool, Material Components library, lokalizujte svoju aplikaciju da podržava različite jezike i kulture

2

Firebase (Analytics, Crashlytics, Notification)

Naučite napredne Firebase tehnike i alate kao što su Analytics, Crashlytics, Notifications

2

Firebase (Authentication, Remote Database)

Naučite napredne Firebase tehnike i alate kao što su autentifikacija, remote baza podataka

2

Praktičan rad

Vežbe

40

Program obuke Razvoj iOS aplikacija

Fond časova

Modul 1. Osnove objektno orijentisanog programiranja

Uvod u programiranje

Šta je tačno programiranje, programiranje u praksi u poređenju sa teorijom, 4 principa objektno
orijentisanog programiranja, static void main objašnjenje

2

Uvod u programiranje

Pojam klasa i objekata u OOP, primeri u stvarnom svetu, postavljanje radnog okruženja i
instaliranje programa za rad, kratki opis roadmapa do iOS developera,
kratki test trenutnog znanja polaznika radi daljeg planiranja časova, try catch block

2

Programiranje u praksi

Kreiranje prvih klasa, implementiranje interfejsa, 4 principa OOP u praksi sa realnim primerima, strukture podataka, switch i enumeracije na realnih primerima

2

Programiranje u praksi

Petlje, iteracije, ključna reč if, kompleksne strukture podataka u Swiftu, kratki uvod u swift, razlike
između Swifta i ostalih programskih jezika

2

Vežbe

8

Modul 2. Swift programski jezik

Uvod u Swift

Primeri svih prethodno naučenih OOP principa i časova u Swiftu, struct, protocol, guard, optionals

2

Uvod u Xcode

Uvod u XCode i sve njegove funkcije, kako koristiti simulator i kako kreirati prvi projekat

2

Vežbe u kodu sa prethodno naučenim principima

Detaljne vežbe sa svim prethodno naučenim OOP principima u Swiftu

2

Uvod u memory management u Swiftu

Stack i heap, struct vs classa u memoriji, šta je memory leak, garbage collector u swiftu, kako izazvati a kako izbeći memory leak, weak vs strong vs unowned keyword 

2

Closures u Swiftu

Closure teorija, gde se koriste, za šta se koriste, razlika između @escaping i non-escaping closurea

2

Uvod u Git 

Uvod u Git i za šta se koristi, kreiranje prvog repozitorijuma

2

Vežbe

12

Modul 3. iOS development

Uvod u interface builder

Kreiranje prvog projekta, uvod u interface builder, razlika između SwiftUI i UIKit, constrainti, navigacija izmđu ekrana, osnovni UIKit elementi, početak kreiranja aplikacije koja će se raditi do kraja obuke

2

Vežbe sa interface builderom

Pravljenje osnovih ekrana po datom dizajnu, implementiranje svih prethodno naučenih principa na ekrane

2

UIViewcontroller, lifecycles

Teorija UIViewcontrollera i viewcontroller lifecycle, UIApplication lifecycle

2

UIKit elementi

UINavigationcontroller, UITableViewController, UIStackView, UIWindow, UITextView

2

UIKit elementi

UIScrollView, UITableViewcontroller, UICollectionView i implementiranje istih na realnom primeru

2

Uvod u networking

Cocoapods, biblioteke i uvod u networking, rad sa REST apijem, realni primeri, parsiranje podataka

2

Vežbe sa UIKitom i Alamofire

Prikazivanje podataka sa networka u UIKitu

 

2

Arhitekture

MVVM arhitektura, design patterni, implementiranje istih, custom UIKit navigation 

 

2

SwiftUI

Kratki uvod u SwiftUI, kako implemetirati prethodno naučene stvari u SwiftUI, zašto se trenutno koristi UIKit, kratki opis reaktivnog programiranja

2

Vežbe

18

Modul 4. Rad na aplikaciji - praktičan rad

Vežbe

Vežbe svih prethodno naučenih principa, konsultacije za rad na aplikaciji koja je pokazana u prvoj nedelji, rad sa dizajnom, postavljanje repozitorijuma za projekat, provera projekta i saveti za dalje korake u karijeri

16