iOS Projekat

Da bi se razvio neki iOS projekat, uglavnom je potreban čitav tim koji radi na planiranju projekta i na dizajniranju i programiranju aplikacija. Stoga, pored upoznavanja sa svim osnovnim konceptima koji su potrebni za razvoj projekta, potrebno je pre svega da se upoznate i sa radom sa podacima i svim osnovnim koracima koji su potrebni za razvoj kompletne aplikacije. Ovaj kurs će vam omogućiti da usvojite sva neophodna znanja kada je reč o razvoju iOS projekata, a da biste bili sigurni da je vaš projekat uspešno izrađen i da bez greške može da se pusti u pogon, kurs vam omogućava da i potrebne korake primenite za testiranje aplikacije.

Zanima vas ovaj kurs? Možete ga pohađati u okviru ovih ITAcademy programa: iOS Development Program.

Opis i cilj kursa iOS Projekat

Tema kursa je upoznavanje sa svim potrebnim koracima koji se primenjuju tokom razvoja neke iOS aplikacije. Kurs obrađuje osnovne koncepte potrebne za planiranje projekta, što obuhvata pisanje projektnih zahteva, specifikaciju, kao i kreiranje mockupa. Osim toga, opisana su i pravila Human Interface Guidelines, kojih je važno pridržavati se tokom razvoja aplikacija za Apple platforme, kako bi se zadržala određena uniformnost aplikacija i ispratile različite preporuke. 

Tokom rada na nekom projektu, najčešće jedna osoba ne radi sama, nego u timu, pa je u kursu prikazan jedan od načina rada na projektu u timskom okruženju. Nakon što su prikazani osnovni koncepti u vezi sa planiranjem projekta i dizajniranjem aplikacije, prelazi se i na sam razvoj aplikacije, koja je tema ovog kursa i čija će uloga biti da se prikaže praktična primena MVC šablona, animacija na odgovarajućim mestima, kompleksnih kontrola i slično. Sledeći deo kursa prikazuje različite načine za rad sa podacima – čuvanje podataka i rad sa udaljenim resursima. U poslednjem delu kursa prikazani su svi koraci koji se tiču testiranja aplikacije i pripreme za njeno objavljivanje na App Storeu. 

Cilj ovog kursa je upoznavanje polaznika sa procesima kroz koje se prolazi tokom rada na nekom projektu, odnosno tokom razvoja jedne iOS aplikacije. Polaznik će biti u stanju da razume i primeni potrebne korake tokom planiranja samog projekta i obezbedi mogućnost razmene materijala i backupa tokom rada u timskom okruženju. Osim toga, biće u stanju da prema MVC šablonu kreira odgovarajuće poglede, kontrolere i model. Naučiće na koji način može da kreira korisnički prilagođene kontrole, koje će dizajnirati prema svojim potrebama, osim postojećih predefinisanih. Na odgovarajućim mestima biće u stanju da nakon interakcije sa nekom kontrolom kreira i određenu animaciju.

Da nakon prekida izvršavanja aplikacije podaci ne bi bili trajno izgubljeni, polaznik će naučiti na koji način može da implementira mogućnost čuvanja podataka, kao i čitanja sačuvanih podataka. Nakon što se kompletna aplikacija zaokruži i poseduje sve komponente navedene u projektnom planu, polaznik će naučiti da primeni potrebne korake za testiranje aplikacije pre njenog objavljivanja. Biće upoznat sa pojmom jediničnog testiranja i njegovom ulogom. Takođe, na kraju kursa, korisnik će biti upoznat i sa Apple developerskom platformom i preduslovima za objavljivanje aplikacije na App Storeu. 

Kurs iOS Projekat će vam odgovoriti na pitanja:

1. Šta je Git repozitorijum?

Git predstavlja alat koji omogućava upravljanje i kontrolu tokom rada kako na manjim tako i na većim projektima, pogotovo kada se radi u timskom okruženju. Omogućava kontrolisanje izmena u svakoj od verzija, backupovanje projekta i deljenje. Svrha gita svodi se na lakše upravljanje izmenama tokom rada. Repozitorijum predstavlja jedan direktorijum u kojem su smeštene sve verzije poslate na git, dok mi na git zapravo tokom izrade projekta šaljemo određene checkpointe, koji se nazivaju commits. To znači da zapravo u git repozitorijum smeštamo commitove, a svaki od njih poseduje svoj identifikator. Na primer, svaki put kada ispravimo određeni bag u programu ili implementiramo neku novu funkcionalnost, pre nego što nastavimo dalje, poželjno je da napravimo i pošaljemo jedan commit sa opisom toga što smo uradili.

2. Koji tipovi testiranja postoje i šta je to Unit testiranje?

Testiranje možemo podeliti u dve kategorije: white box oriented i black box oriented. Kod prvog tipa, white box, prilikom testiranja pristupamo izvornom kodu aplikacije i kreiramo testove putem kojih ćemo kreirati i izvršavati različite test slučajeve, pomoću kojih ćemo utvrditi da li logika funkcioniše onako kako je očekivano. Za razliku od white box testiranja, prilikom black box testiranja ne pristupa se izvornom kodu aplikacije, već se vrši manuelno testiranje u kojem se proverava da li aplikacija funkcioniše kako je očekivano, a testira se iz ugla iz kojeg bi i korisnik pristupao tokom korišćenja. Unit testiranje pripada white box testiranju i predstavlja testiranje najmanjih celina u projektu, npr. testiranje metoda unutar različitih klasa. Unit testiranje je veoma važno, da bismo se uverili da li i najmanje celine unutar projekta funkcionišu onako kako je očekivano.

3. Šta je sve potrebno za objavljivanje aplikacije na App Storeu?

Da bismo objavili aplikaciju na App Storeu, gde korisnici iOS uređaja mogu preuzeti različite aplikacije koje su već objavljene, potrebno je da budu ispunjeni sledeći uslovi: posedovanje članstva u Apple Developer Programu, kreiran i kompletiran iOS projekat, popunjavanje informacija na App Store Connect aplikaciji i da je aplikacija uspešno prošla review AppReview tima. Svoj Apple ID možete prijaviti u Apple Developer Program i na taj način ostvariti mogućnost da objavljujete aplikacije na App Storeu i da koristite napredne opcije na Apple developerskoj platformi. Osim toga, automatski posedujete i App Store Connect aplikaciju, u okviru koje možete da manipulišete već objavljenim aplikacijama, da dodajete nove aplikacije i da pratite njihovu analitiku.

Godišnje članstvo u ovom programu iznosi 99 dolara. Review predstavlja proces kroz koji mora da prođe svaka aplikacija pre nego što bude objavljena na App Storeu. Review (pregled) izvršava AppReview tim i ukoliko aplikacija zadovoljava određene kriterijume, nakon reviewa biti objavljena na App Storeu. Ukoliko nije uspešno prošla review, dobijate email sa objašnjenjem zbog čega aplikacija nije uspešno prošla pregled.

Kurs iOS Projekat

4. Gde mogu da se pronađu smernice za dizajniranje aplikacije i poboljšanje korisničkog iskustva prilikom upotrebe aplikacije?

Human Interface Guidelines predstavlja dokumentaciju koju Apple daje na raspolaganje dizajnerima i developerima, sa različitim preporukama, pravilima i savetima za dizajn i razvoj aplikacija za neku od Apple platformi. Glavna prednost ovih pravila jeste to što se njihovim praćenjem dobija aplikacija koja je prema istim uputstvima prilagođena različitim platformama, dovoljno je pregledna i održava određenu uniformnost u rasporedu, bojama i slično. Ponekad nije nužno pridržavati se svih pravila, ako se neka od njih ne uklapaju u ideju konkretne aplikcije na kojoj se radi, ali je svakako preporuka voditi se tim savetima i pravilima. U okviru ovih pravila, elementi koji pripadaju UIKit frameworku mogu se razvrstati u tri kategorije: poglede, barove i kontrole, pa su za svaki od ovih elemenata navedene određene preporuke za upotrebu.

5. Kako možemo sačuvati neka korisnikova podešavanja i prikazati mu ih sledeći put kada otvori aplikaciju?

Korisnikova podešavanja, kao što su npr. prijavljen nalog, odabrana tema (light/dark) i prilagođen izgled aplikacije, najlakše možemo sačuvati upotrebom user defaults kolekcije. U okviru ove kolekcije podaci se čuvaju u vidu key–value parova.

Postavljanjem vrednosti za određeni ključ izvršavamo čuvanje, a kada je potrebno da se ta sačuvana vrednost prikaže, upotrebom odgovarajuće metode i prosleđenog ključa uzimamo vrednost i dodeljujemo je na odgovarajućem mestu. Upotrebom user defaults kolekcije možemo sačuvati neke jednostavnije tipove podataka i na taj način ih prikazati korisniku svaki sledeći put kada otvori aplikaciju. Na primer, umesto da se korisnik svaki put prijavljuje iznova u aplikaciju, možemo sačuvati prethodno prijavljeni nalog i na taj način mu odmah u aplikaciji prikazati prijavljen njegov nalog, sve dok se ručno, po svojoj želji, ne odjavi.

6. Kako možemo da testiramo aplikaciju na fizičkom uređaju pre objavljivanja na App Storeu?

Tokom razvoja aplikacije, osim upotrebe simulatora za testiranje aplikacije, moguće je koristiti i svoj iOS uređaj. Sve što je potrebno jeste da u Xcode razvojnom okruženju prijavite svoj Apple ID i nakon toga svoj uređaj povežete sa svojim macOS računarom. Povezivanje možete prvi put izvršiti putem USB kabla, a nakon što je uređaj prepoznat, možete označiti i da je moguće povezivanje putem mreže. Šta to znači? To znači da će izvršavanje na tom uređaju biti moguće bez povezivanja putem USB kabla, putem mreže, ukoliko su iOS i macOS uređaji povezani na isti Wi-Fi. Testiranje na svom fizičkom uređaju je korisno zato što nekad nije moguće baš sve testirati putem simulatora – npr. upotrebu kamere, različite notifikacije ili upotrebu senzora.

7. Šta je App Store Connect?

App Store Connect je usluga koju Apple daje na raspolaganje korisnicima čiji je nalog učlanjen u Apple Developer Program i omogućava im upravljanje postojećim aplikacijama koje su objavljene na App Storeu, dodavanjem novih aplikacija, postavljanjem različitih cena ukoliko se traži plaćanje, praćenje analitike i slanje aplikacije eksternim i internim testerima na testiranje pre objavljivanja na App Store prodavnicu.

App Store Connect je web aplikacija, ali postoji i iOS aplikacija putem koje možete pratiti ograničen broj informacija, dok sve ostale aktivnosti koje su prethodno navedene pratite upravo putem App Store Connect web aplikacije. Prilikom dodavanja nove aplikacije i priprema za objavu na App Storeu, a pre reviewa, možete prilagoditi izgled ikone aplikacije, opis, kategoriju kojoj pripada, ključne reči, region u kojem će biti dostupna, jezik, kao i uzrast. Takođe, ukoliko postoje određena plaćanja unutar te aplikacije, i to je moguće prilagoditi, kao i pratiti zaradu.

Plan i program predavanja

Planiranje projekta

  1. Projektni zahtevi i specifikacija
  2. Priprema elemenata dizajna i kreiranje mockup-a
  3. Razumevanje i upotreba Human Interface Guidelines pravila
  4. Rad u timskom okruzenju (git i kolaboracija)

Dizajniranje aplikacije

  1. Kreiranje XCode projekta
  2. Kreiranje storyboarda
  3. ModelViewController šablon

Programiranje aplikacije

  1. Definisanje i izgradnja modela
  2. Kreiranje view kontrolera i korisnički definisanih kontrola
  3. Rad sa kompleksnim kontrolama
  4. Animacija komponenti

Rad sa podacima

  1. Korišćenje user defaults kolekcije
  2. Upotreba Core Data
  3. Rad sa udaljenim podacima (HTTP)

Testiranje i objavljivanje

  1. Testiranje koda (Unit testing)
  2. Profiling aplikacije
  3. Testiranje performansi i korisnickog iskustva
  4. Kreiranje Apple developerskog naloga
  5. Koriscenje Apple Developerske platforme 
  6. Koriscenje App Store Connect aplikacije

iOS Projekat

3 načina da dobijete odlično plaćen posao

Spremili smo dokument koji otkriva tri pouzdana načina za dolazak na dobro plaćenu poziciju za stručan rad sa računarima. Preuzmite izveštaj ovde.

Da li ima mesta? Upisni rok je otvoren!

Da saznate sve o upisu, kliknite ovde