Apple je še zadnji tehnološki velikan, ki ima model aplikacije za iOS ločen od modela aplikacije za macOS – Microsoft je leta 2015 z Windowsi 10 predstavil novo platformo za razvoj aplikacij Universal Windows Platform, Google pa od leta 2016 uporabnikom omogoča uporabo aplikacij iz Googlove Trgovine Play tako na pametnih telefonih, tablicah kot tudi na prenosnikih s Chrome OS-om. Da se bo velikan iz Cupertina želel pridružiti konkurenci, je znano že od letošnje konference WWDC, kjer je predstavil projekt Marzipan.

Zakaj?

Verjetno se veliko ljudi sprašuje, zakaj si vsi tehnološki velikani, in med njimi seveda tudi Apple, želijo uveljaviti univerzalen aplikacijski model za vse naprave. Odgovor je precej logičen – kot vsi vemo, v App Storu na iPhonih in iPadih aplikacij ne primanjkuje, a zato primanjkuje aplikacij za macOS. V zadnjem času se morajo razvijalci pogosto odločati med razvijanjem in podporo iOS in Mac aplikacij, a je precej očitno, da je odločitev večine razvijalcev iOS, saj sta iPhone in iPad dosti bolj popularni napravi od MacBookov in iMac-ov.

AppKit in UIKit

AppKit in UIKit sta frameworka za razvoj macOS in iOS aplikacij in sta si med seboj precej podobna – oba uporabljata enak programski jezik, Objective-C ali Swift, delita pa si tudi precej programskih vmesnikov. Kje torej tiči glavna razlika? Seveda je precej očitno, da je uporabniški vmesnik pri napravah z zaslonom na dotik (iOS) precej drugačen od tistega pri napravah, ki za uporabo zahtevajo tipkovnico in miško (macOS).

AppKit je framework, ki ima vse elemente uporabniškega vmesnika za Mac aplikacije – to so vsa okna, meniji, gumbi, drsniki in polja z besedilom. Poleg vsega naštetega vsebuje tudi vso napredno programsko opremo, ki jo računalnik potrebuje za grafični prikaz aplikacij. Temelji AppKit-a so še iz davnih 80-ih let prejšnjega stoletja, razvili so se namreč iz NeXTSTEP Application Kit-a.

UIKit je na drugi strani zamišljen za naprave z manjšimi zasloni in bolj omejenimi gradniki za interakcijo z zaslonom na dotik. Še ena izmed razlik med AppKitom in UIKitom tiči v prikazu aplikacij – iOS aplikacije za to uporabljalo popolnoma drugačen framework.

Združitev

Da bi se izognil problemu združevanja UIKita in AppKita, bi šel Apple lahko po Googlovi poti pretvorbe aplikacij Android za ChromeOS, brez da bi razvijalci morali spreminjati karkoli v aplikaciji, a to ni Applov cilj. Applov pristop do reševanja problema je drugačen, saj želijo s projektom Marzipan razvijalcem ponuditi orodja, s katerimi bi lahko uporabniški vmesnik iOS aplikacij naredili bolj podobnega aplikacijam za Mac-e.

Apple namreč stremi k prenosu framevorka UIKit na Mace, kar v teoriji pomeni, da razvijalcem, ki že imajo verzijo aplikacije za iOS, ne bo treba popolnoma na novo napisati aplikacije za Mac. Marzipan je sicer še v zelo zgodnji fazi, a trenutno Applove lastne aplikacije, ki so jih za macOS »pretvorili« s projektom Marzipan, malce premočno spominjajo na aplikacijski model za naprave z zaslonom na dotik. Da bi pri Applu preprečili pretirano podobnost »pretvorjenih« aplikacij svojim izvirnikom na napravah z zasloni na dotik, so že začeli dodajati elemente uporabniškega vmesnika AppKita, kot je npr. klasični drsnik, v UIKit.

 

Zaključek

Trenutno še ni znano, kdaj bodo razvijalci dobili dostop do novih orodij, a je zelo verjetno, da o njih ne bo ne duha ne sluha vsaj še eno leto. Nič ni bilo tudi govora o tem, ali bodo »pretvorjene« UIKit aplikacije na voljo kot univerzalna programska oprema (zaenkrat so aplikacije, ki temeljijo na UIKitu v uporabi na napravah z iOS-om, watchOS-om in tvOS-om), ali pa bodo lahko razvijalci imeli v Mac App Stor-u tako UIKit kot tudi AppKit verzijo svojih aplikacij.

Če se bodo razvijalci odločili izkoristiti potencial, ki jim ga nudi Apple, bi to lahko pomenilo, da bo prišel novi val pravih Mac aplikacij, ki bodo precej spremenili našo interakcijo z računalniki, prav tako kot so aplikacije popolnoma spremenile svet pametnih mobilnih telefonov.

 

Vir: https://www.theverge.com/2018/6/7/17438450/apple-marzipan-mac-ios-apps-port-mojave-appkit-uikit-future-platform-software

 

A.K.

Komentarji