Aleksandar Vacić

Ti neki momenti, koji vrede.

WWDC 2014 - temelj dominacije

Unazad nekoliko godina sam održao nekoliko predavanja koja su sva imala manje-više istu temu: kako početi i opstati u poslu prodaje aplikacija na iPhone/iPad App Storeu.

Od MoMo-a 2011 do BizIT-a 2014 se štošta promenilo nabolje a neke stvari su ostale iste: i tada i sada nema nikakvih smetnji da kao pojedinac/firma iz Srbije poslujete u iOS ekosistemu. Ipak, nekoliko bitnih činilaca je nedostajalo za kompletan poslovni ambijent i navešću ih po značaju:

  • App Store Srbija
  • Srpski jezik u spisku sistemskih jezika
  • Zvanična prodaja iPhonea preko jednog ili više mobilnih operatera

Telekom Srbija je pre tri meseca najavio saradnju sa Appleom. Od tada ozelene trava, ali iPhonea i dalje niđe. Srbije takođe još uvek nema na spisku zemalja koje imaju App Store. Hajde da se nadamo da će ove dve stvari doći zajedno, kada se MTS, Ratel (i ko već još tu treba) saberu i završe tu priču.

I dođosmo do srednje stavke, gde ima lepih vesti: juče (petak, 6. jun) je završen WWDC 2014 na kome su prestavljeni iOS 8, OS X Yosemite i mnogo toga drugog lepog. Odmah sam instalirao iOS 8 beta 1 i proverio: po prvi put se u spisku iOS system languages pojavio srpski, i ćirilica i latinica. Doduše, u ovoj prvoj beti se nalazimo na other spisku i izborom jezika se praktično ništa ne desi ali ne sumnjam da će se to promeniti do finalne verzije.

Temelj za budućnost

Mnogo toga drugog lepog rekoh gore i moram da naglasim: mnogo toga drugog lepog. Ovaj WWDC je za red veličine značajniji događaj za sve iOS developere nego bilo koji raniji, uključujući i samo predstavljanje iPhonea. Količina novih tehnologija, promene u Appleovom pristupu i komunikaciji - sve to zajedno predstavlja momenat za koji će se u budućnosti govoriti - tada je utemeljena stvarna dominacija iOS-a na tržištu mobilnih OS-ova.

Swift

Da počnem od kraja, od bombe koju niko nije očekivao - predstavljen je novi programski jezik: Swift. Baziran je na konceptima koji su već isprobani u mnogim drugim modernim jezicima i na ogromnom iskustvu Appleovog Developer Tools tima. Sva unapređenja prethodnih godina - prelazac sa gcc na LLVM, te ARC, blocks, literals i slične lepote - sve je konačno došlo na svoje, kockice su se složile.

U tipično Apple fazonu, ovo nije novotarija predstavljena tek da bi tech štampa imala čime da se bavi i da onda nakon par meseci otplovi u opskurne plićake. Swift jeste počeo kao lični projekat jedne osobe, ali nije na tome ostao. Iako još uvek nije stigao ni do verzije 1.0, već sada ima na raspologanju kompletan Cocoa i Cocoa Touch API. Ima potpunu podršku u novom Xcode 6 IDE-u, ima fantastičan novi alat za vizuelni razvoj (Playgrounds) i bez ikakve dileme predstavlja budućnost programiranja za Apple uređaje.

Samo još Microsoft može da se pohvali takvim pristupom. Predstavljanje Swifta je uporedivo sa negdašnjim predstavljanjem C#-a i .NET-a. Google nije ni blizu - neko odatle svako malo predstavi nešto novo, ali kompaniji ne pada na pamet da iza toga zalegne. Primer: Go postoji već godinama, ali u njemu ne možete pisati Android aplikacije.

Ako ste iOS programer početnik, savet: bacite se na Swift i na iOS 8. Ionako će vam trebati barem godinu i kusur dana da naučite da pišete kvalitetan kod koji ima smisla objaviti, a za to vreme Swift/iOS 8 će postati dominantni. Apple je objavio besplatnu Swift Programming Language knjigu, pogledajte tri jednosatna predavanja sa WWDC-a i na konju ste.

App Extensions

Godinama smo tužno gledali na interoperabilnost aplikacija na Androidu i Metrou. Apple ne samo da ništa tu nije pomagao već se aktivno trudio da što je više moguće izoluje aplikacije jedne od drugih.

Android poklonici su posebno isticali činjenicu da taj mobilni OS najviše liči na dekstop OS-ove po stepenu slobode koju programer ima. No, posledica toga je da je količina malwarea na Androidu poprilična. Na iOS-u toga prosto nema. Sigurnost je bila i ostala jedna od primarnih odlika, oltar na kome su žrtvovane sve druge stvari, koliko god bile zgodne.

Kao i u slučaju cut/copy/paste i 3rd-party app multitaskinga, Apple nije žurio i godinama je strpljivo gradio okruženje. iOS je siguran, a Android je fleksibilan - to je bila maksima. E pa od iOS 8, stvari se drastično menjaju i iOS postaje fleksibilan kao i Android, pritom zadržavši postojeći nivo sigurnosti.

Konačno je moguće da u jednoj app obradite slike, video fajlove u drugoj app, muziku u trećoj, kucate tekstove u četvrtoj a sve to spojite u petoj. Bez višestrukih kopija, mučnog frizbi prebacivanja iz jedne app u drugu.

Konačno je moguće da aplikacije svoje usluge objave sistemu i da te usluge može da koristi bilo koja druga aplikacija koja za njima ima potrebu, bez da se napušta trenutno aktivna app.

Konačno je moguće da instalirate alternativne sistemske tastature.

Konačno je moguće…
Apple je otvorio vrata vrlo široko i entuzijam među developerima nikada nije bio veći. Očekujte eksploziju updatea za nekoliko meseci.

4000 novih API-ja

Apple voli da objavljuje ove brojke, demonstrirajući time količinu noviteta. Poređenja radi, iOS 7 je doneo 1600 novih API poziva. Brojke na stranu, mnogo je bitnije šta su ti novi API pozivi i blago rečeno su spektakularni.

CloudKit je direktan atak na Parse, Heroku i slične servise. Za mnoge aplikacije, kojima je neophodan user auth i server sync i storage, ovo će biti sjajna platforma.

PhotoKit omogućava izuzetno napredan rad sa audio/video/photo resursima, bilo lokalno na uređaju ili transparentno dostupnim putem iClouda.

HealthKit otvara jedno potpuno novo tržište, koje je pritom veoma profitabilno. Niko drugi u mobilnom svetu nema ništa slično, niti vidim kako može da uđe u ovu priču. Možete li da zamislite da Facebook ili Google naprave nešto ovako? “Samo nam vi dajte vašu kompletnu medicinsku istoriju, nećemo nikome da je prodamo, časna reč.” Cvrc.

HomeKit - mogućnost da aplikacije komuniciraju sa pametnim uređajima u zgradama. Sav rad na Siri, Bluetooth LE, iBeacon i sličnim stvarima je ovim zaokružen. Kao i HealthKit, ovo je temelj za potpuno novo tržište koje će svoje prave rezultate dati tek za nekoliko godina.

Pristup hardveru, koji je ranije davan na kašičicu, sada je značajno otvoreniji.

TouchID je postao dostupan svim aplikacijama, ne samo Appleovim. Time je ova, daleko najzrelija implementacija skeniranja otiska prsta na tržištu, postala dostupna svim aplikacijama kojima treba.

Aplikacije sada mogu da direktno manipulišu parametrima kamere, kao što su fokus, ekspozicija, balans boja itd.

Metal je potpuno novi API za low-latency pristup grafičkom čipu, koji donosi red veličine bolje performanse na istom hardveru (A7 čip ili noviji). Ovim se otvara mogućnost da se na iOS-u kreiraju spektakularne igre, tzv. AAA nivoa. Epic Games i EA su na WWDC-u prikazali kako njihovi konzolni game enginei rade na iPad Airu a pri tom su imali na raspologanju manje od mesec dana da tu nešto pripreme.

Kada sam već kod igara, SceneKit - Appleov moderan 3D framework se pridružio SpriteKitu (2D) i zaokružio ponudu za kreiranje jednostavnijih igara.

Ima tu još zaista mnogo toga: Handoff, AirPlay peer-to-peer, novi iMessage i FaceTime, Family Sharing, iCloud Drive, indoor Core Location

Rezime

Ponavljam: neke od ovih stvari su ekskluzivne za iOS ali većina već postoji u nekom obliku van njega. Međutim, nijedan mobilni OS nema ni blizu dev mindshare kao što ima iOS. Svi ostali su igrali na kartu toga da je iOS “zatvoren” (šic), da je Apple control freak firma, da ne maze developere kao što drugi to rade itd.

Ništa od toga više ne stoji, čak ni u šali. iOS 8 je spektakularno izdanje i plodovi svega što je ove nedelje predstavljeno će se brati čitave naredne decenije.

Dobrodošli u budućnost.