Iz ugla programera

Prostor za autentična iskustva, izazove i savete, pružajući uvid u svet programiranja direktno iz perspektive stručnjaka.

Blog Iz ugla programera
29.03.2023. ·
5 min

Razlike u razvoju aplikacija za iOS i Android

Kada su u pitanju mobilni uređaji (telefoni i tableti), postoje dva operativna sistema vredna pomena – Android i iOS.   Android sa udelom na globalnom tržištu od 70,6%, i iOS koji je „zauzeo“ 27,6%, pokazuju neki izvori.   Prva komercijalna verzija Google Androida (1.0), pojavila se 23. septembra 2008. godine i tada nije baš moglo da se pretpostavi da će 15 godina kasnije, praktično, postojati samo dva OS-a, posebno jer je većini korisnika Symbian bio omiljeni OS. Apple je predstavio iOS godinu dana ranije, pod nazivom „iPhone OS“, a kada su u ponudu ubacili i iPad, naziv operativnog sistema promenjen je u „iOS“ i prvi koji se pojavio bio je iOS 4. Kasnije, sa predstavljanjem iOS 13, Apple je počeo da nudi poseban OS za iPad – iPadOS. Prekretnica je bila 2012. godina, jer su se tada zahuktali Android i iOS već nalazili na svakom četvrtom uređaju na svetskom tržištu, a do tada neprikosnoveni Symbian još uvek se dobro držao (bio je prisutan na svakom petom uređaju). Svoje mesto pod suncem imali su i sada već zaboravljeni BlackBerry OS, Nokia OS, Samsung OS…   Različiti programski jezik  Od tog trenutka, praktično, nestaju svi ostali i počinje „trka“ udvoje, a mi ćemo u daljem tekstu pokušati da vam predstavimo osnovne razlike u procesu razvoja aplikacija za Android i iOS i šta bi bilo to što bi, eventualno, moglo da vas opredeli za jednu od dve strane.  Najveća razlika svakako je tehničke prirode, jer ove dve platforme koriste, pre svega, različite programske jezike i različito razvojno okruženje. iOS koristi programski jezik Swift, dok se Android oslanja na Javu i u poslednje vreme, sve više na Kotlin. Iz ugla programera, programiranje u Swift-u je brže i lakše, međutim, većina njih se slaže da se to u budućnosti može promeniti, jer je Kotlin, moderan programski jezik koji ima ozbiljan potencijal.  Što se tiče razvojnog okruženja, iOS koristi XCode tool, Android programeri se oslanjaju na Android Studio. XCode nudi pristojan „editor“ i lako konfigurisanje. Android Studio, sa druge strane, veoma brzo generiše različite verzije aplikacije, za različite uređaje. Takođe, na raspolaganju vam je „Gradle“, napredni alat koji nudi automatizam i jednostavnije upravljanje procesom razvoja aplikacije. Teško je izdvojiti bolje okruženje, jer oba imaju prednosti i mane. Kod XCode je mana što kod velikih projekata integrisano radno okruženje(IDE) postaje komplikovano, a Android studio zna da „pojede“ previše memorije.  Kada je u pitanju dizajn sistema, iOS arhitektura nudi lakši i brži rad, uz manju mogućnost greške, pre svega, zahvaljujući „view controllerima“ koji mogu da kontrolišu ceo ekran ili samo neke delove ekrana. Takođe, Apple sam proizvodi uređaje na kojima će biti iOS i to dosta olakšava stvar, za razliku od Gugla, čiji će OS završiti na uređajima različitih proizvođača, sa različitim veličinama ekrana, različitim brzinama, rezolucijama… Android nudi „otvoren izvorni kod“, kod iOS-a je zatvoren i nije javno dostupan. Iako otvoren izvorni kod nudi veći nivo kreativnosti programerima, taj detalj više znači proizvođačima mobilnih uređaja, jer proizvođači mogu da „prilagode“ svoje uređaje. Samsung je, na primer, poznat po „ozbiljnim“ modifikacijama Androida na svojim uređajima i onda to pravi veliku glavobolju programerima. Upravo ta „šarenolikost“ Android uređaja jedan je od razloga zašto je razvoj i održavanje aplikacija za Android skuplje i zahteva više vremena.   Apple ima stroge regulative, Google tolerantniji na greške  Kad smo već kod cene, ona za nalog iOS programera iznosi 99$ godišnje, dok za nalog Android programera treba da izdvojite 25$ samo jednom. Ipak, treba napomenuti da iOS aplikacije mogu da se razvijaju samo na „Mac“ računarima i to bi moglo da predstavlja dodatni trošak u vašem budžetu. Android je fleksibilniji i aplikacije mogu da se razvijaju na svakom računaru.  Kada napravite aplikaciju, treba i da je objavite. Sa jedne strane je Google Play Store, a sa druge Apple App Store. Obe „prodavnice“ izgledaju slično iz ugla krajnjeg korisnika, ali, ipak, iz onog ugla koji nas trenutno interesuje postoji bitna razlika. Apple ima striktne i stroge regulative, pa postoji mogućnost da vaša aplikacija nikada i ne ugleda „svetlost dana“ ukoliko nije savršena. Google nema tako visoke standarde kada je u pitanju tolerancija na greške, tako da je mnogo jednostavnije pojaviti se na njihovom marketu. Zbog toga Google treba da poradi na Androidu kako bi se poboljšao. Ciljne grupe Google-a i Apple-a su različite i taj podatak bi trebalo da ima uticaja na vaš konačni izbor. Google će sa Androidom svakako pokušavati da osvoji još veći deo tržišta, a Apple će se, pre svega, truditi da zadrži svoje korisnike. Google je fokusiran na popularnost i dostupnost, a Apple na kvalitet koji umeju da naplate. Prema istraživanjima dostupnim na internetu, prosečan korisnik iOS-a je žena starija od 35 godina, koja ima fakultetsku diplomu, živi u gradskim oblastima i njeno domaćinstvo na mesečnom nivou prihoduje duplo više novca nego domaćinstvo prosečnog korisnika Androida. On je muškarac starosti 18-34 godine, ima završenu srednju školu i živi na selu ili periferiji grada.  Na kraju, treba pomenuti i to da postoji opcija da istovremeno razvijate softver za oba OS-a. Ovu opciju možete da ostvarite korišćenjem određenih alatki (cross-platform tools), od kojih su najpoznatiji React Native, Flutter, Cordova…Ipak, u ovom slučaju treba da budete spremni na kompromise. Ono što ćete dobiti su smanjeni troškovi, jer razvijate samo jednu aplikaciju, a ne dve. Samim tim, dobićete na brzini. Imaćete unificirani interfejs za obe platforme, višekratno iskoristiv kod i, naravno, vaša aplikacija će biti dostupna široj publici, nego da ste se opredelili samo za jednu platformu. Ono što gubite je fleksibilnost i „bogatstvo funkcija“, što će dovesti do smanjenog kvaliteta korisničkog iskustva krajnjeg korisnika. Kod će vam biti dosta kompleksniji, a pravi izazov će biti održavanje jedne takve aplikacije. 

HelloWorld
0
28.02.2023. ·
4 min

Od 4 do 34 minuta - idealno trajanje dnevnog sastanka

Svaki programer koji je zahvaćen “agilnim” načinom rada, a i svim njegovim derivatima koje srećemo u divljini, sigurno prisustvuje redovnim dnevnim sastancima. Takozvani “dejli” je uglavnom smešten negde u pre podne, i u zavisnosti od veštine “scrum mastera” ili neke odgovorne figure, ume različito da traje.

02.02.2023. ·
5 min

Tehnički dug - kako propadne jedan MySpace

 Šta je tehnički dug?  Tehnički dug je koncept u razvoju softvera koji obuhvata “dodatan” napor potreban za održavanja baze koda. Potreba za tim dodatnim naporom se javlja usled korištenja raznih “prečica” u razvijanju aplikacija koje možda zaobilaze “best-practice” pristupe i industrijske standarde, ali u tom trenutku daju brze rezultate. Dakle govorimo o neefikasnim rešenjima koja nisu pokrivena testovima i zahtevaju vrlo specifično okruženje da bi sve radilo kako smo zamislili. 

20.01.2023. ·
3 min

Da li se isplati plaćeni kurs

Svaki mladi developer sanja o, sada već mitološkom scenariju gde radi/raducka za hiljadu evra mesečno. Odnosno, otkad je počela ova inflacija, verovatno je to sad dve hiljade evra. Međutim, isti taj mladi developer se dobro zapita o isplativosti kada vidi da neki kurs košta 100 dolara. Uf, da li mi se isplati toliko dati za kurs?  

17.01.2023. ·
4 min

Da li je često menjanje firmi RED FLAG?

Postoji više razloga zbog kojih zaposleni odlučuju da promene firmu. Prema istraživanju sajta HelloWorld, ubedljivo najbitniji faktor je plata (65% ispitanih), ali postoji i niz drugih razloga koji značajno utiču na ovakvu odluku.  

HelloWorld
3
15.11.2022. ·
5 min

Kada je vreme da se menja posao?

U karijeri svakog programera dođe trenutak (uglavnom je to ponedeljak ujutru), kada poželi da menja posao. Sa godinama to postane želja za menjanjem karijere, ali o programerima koji sanjaju o gazdinstvu, a nisu prekopali metar bašte, nekom drugom prilikom. 

18.10.2022. ·
4 min

Windows ili Linux, pitanje je sad

Kada govorimo o omiljenim operativnim sistemima (OS) većine ljudi, velika je verovatnoća da su u pitanju ili Windows ili Linux. Prema dostupnim statističkim podacima, Windows je, na globalnom nivou, ubedljivo najrasprostranjeniji OS za desktop računare, sa udelom od oko 75%,; na drugom mestu je Appleov iOS, sa 15% i na trećem je Linux, sa blizu 3%.  

HelloWorld
6
01.09.2022. ·
6 min

Freelance karijera u IT-ju: i sloboda ima cenu

Tehnološka revolucija i digitalno doba u mnogome su promenili mnoge aspekte naših života. Glavni moto promena gotovo uvek se nalazio u poslovnoj sferi, koja po svojoj prirodi nastoji da poboljša efikasnost svoje delatnosti i snizi troškove. Tako su e-mailovi zamenili klasičnu pisanu korespondenciju, dok je internet pružio neviđene mogućnosti disperzije pojedinih delova kompanija širom sveta. Isto tako, video-pozivi omogućili su da poslovna putovanja budu znatno ređa, dok su istovremeno efikasnost i brzina sklapanja poslova dosegli potpuno novu dimenziju. Gotovo svaki posao koji nije manuelni i ne zahteva neposredno učešće u proizvodnji materijalnih dobara sada je moguće obavljati bez obzira na to gde se ko od zaposlenih nalazi. 

29.08.2022. ·
6 min

Šta je posao produkt menadžera u IT-ju

Prva asocijacija, na pomen pozicije produkt menadžer, je ta da je to previše stresan i odgovoran posao. Ali lepota ovog posla je u tome što pruža mogućnost da pokažeš svoju kreativnost, rešavaš korisničke izazove i da svojim odlukama direktno doprinosiš tom procesu.  

HelloWorld
1
Da ti ništa ne promakne

Ako želiš da ti stvarno ništa ne promakne, prijavi se jer šaljemo newsletter svake dve nedelje.