Miks võib SwiftUI olla suurim asi, mis WWDC -st välja tuleb

WWDC 2019 viga Apple pälvis tähelepanu kõigil oma platvormidel sel aastal WWDC -s. Vaatasime isegi esimest korda täiesti uus Mac Pro. Kuid teine ​​teadaanne, mis ei kogunud nii palju pealkirju, võib osutuda selle aasta arendajate konverentsi kõige olulisemaks: SwiftUI.

SwiftUI lubab põhimõtteliselt muuta seda, kuidas arendajad Apple'i toodete jaoks rakendusi loovad. Ja te ei pea olema tehnik, et mõista, miks see nii suur asi on.

SwiftUI abil laseb Apple lahti ühe Steve Jobsi viimase pärandi

Enne liitus uuesti Apple'iga 1997, Steve Jobs oli ettevõtte nimega tegevjuht NeXT, mis tootis tipptasemel operatsioonisüsteemi nn Järgmine samm. NeXTSTEP -i rakendused töötati välja programmeerimiskeeles nimega Eesmärk-C.

Apple ostis NeXTi, kuna see vajas läikivat järgmise põlvkonna operatsioonisüsteemi, et asendada vananev süsteem 7, millega Mac sel ajal töötas. Cupertino kohandas NeXTSTEP -i Mac OS X -ks, mis hiljem muutus täna tuntud macOS -i, iOS -i, watchOS -i ja tvOS -i.

Isegi pärast kõiki neid aastaid, kui vaatate kapoti alla, on Apple'i platvormide päritolu selgelt ilmne. Objektiklasside nimed, mida Apple oma koodis kasutab, algavad tähtedega „NS”, mis tähendab „NeXTSTEP”.

Aga nüüd, tänu SwiftUI, Apple hakkab sellest viimasest NeXT jäänukist vabanema. NSObject ja muud sarnast võis peagi ajalukku saata. See on ka esimene Apple'i rakendusliides, mis pole Objective-C-st juurdepääsetav pärast OS X-i käivitamist, mis võib tähistada selle auväärse programmeerimiskeele lõpu algust.

SwiftUI tulek on tõesti ühe ajastu lõpp ja millegi uue algus. Aga mis see kõik on? Ja mis veelgi olulisem, mida see tähendab Apple'i lõppkasutajate jaoks?

Mis on SwiftUI?

Kuni selle nädalani pidid arendajad kasutama AppKit ja UIKit Maci ja iOS -i jaoks rakenduste loomiseks. Need API -d pakuvad tööriistu, mida arendajad vajavad kasutajaliidese elementide, näiteks nuppude, kerimisloendite ja sisestusväljade tootmiseks. Kuna nende päritolu ulatub tagasi NeXTSTEP -i, hakkavad need API -d näitama oma vanust.

Tarkvara vananedes omandab see selle, mida tehnikud nimetavad "tehniline võlg", Mis tähendab, et kuigi selle kasutamine võib olla lihtne ja tuttav, peaksite parem investeerima vajaliku aja paremale ja kaasaegsemale lähenemisele üleminekuks. Ja selline lüliti on täpselt see, mida SwiftUI endast kujutab.

Kui Apple tutvustas 2014. aastal WWDC-s objekti C järglast Swifti, oli see nii arveldatakse "On täiesti omane nii kakaole [AppKit] kui ka kakaopuudutusele [UIKit]." Ja tänu Cupertino tehnilisele võlurile see oligi. Mingis mõttes.

Apple on alati suurepäraselt sujunud ühelt tehnoloogialt teisele üleminekul. Kui ettevõte hüppas OS X -i, hõlmas see klassikalise ja süsiniku raamistikke, nii et vanad rakendused jäid ühilduvaks. Samamoodi lülitatakse PowerPC -lt Inteli kiipidele üle Rosetta süsteem sujuvalt tõlgitud juhised vanalt uuele kiibile.

Sarnaselt tegi Cupertino suurepärast tööd, muutes AppKiti ja UIKiti Swiftiga ühilduvaks. Kuid võite öelda, et API-d on vanad ja lähenevad müügikuupäevale.

SwiftUI võimaldab Apple'il NeXTSTEP pärandist lõplikult loobuda, asendades selle algusest peale uue, kohaliku API -ga Swifti arendamiseks.

Mis on SwiftUI -s nii suurepärast?

See võib olla uus ja erinev, kuid mis on SwiftUI -s tõesti nii tore? Arendajatele meeldib see palju. Kuid tavalistel Apple'i klientidel, nagu teie ja mina, on kolm peamist eelist, mida võime oodata: rohkem rakendusi, paremad rakendused ning parem tugi Macile ja Apple Watchile.

1. Veel rakendusi: uut tüüpi arendajate meelitamine

SwiftUI toob Apple'i paugu ajakohaseks programmeerimise praeguste suundumustega. Sellel on a deklaratiivne süntaks, programmeerimisstiil, mis on JavaScripti kasutavate veebiarendajate seas juba populaarne. See tähendab, et see on koheselt tuttav paljudele tehnikutele, kes on Apple'i asjade tegemisel uued. Lihtsustades uute arendajate kiirust, võib SwiftUI meelitada platvormile täiesti uut tüüpi arendajaid.

2. Päris omarakendused: innustades arendajaid loobuma platvormidevahelistest API-dest

Facebook pakub rakenduste loomise tööriista nimega React Native. See on muutunud väga populaarseks, kuna see võimaldab arendajatel JavaScriptis rakendusi koostada ja seejärel nende algrakendustena koostada, et neid saaks kasutada nii iOS- kui ka Android -seadmetes. See kõik on väga hästi, kuid platvormideüleste tööriistade abil loodud rakendused toimivad harva nii hästi kui tõelised kohalikud rakendused.

Miks? Kuna nende toimimiseks on vaja palju lisakoodi kolmandate osapoolte raamatukogude kujul. Selle tulemusel on need tavaliselt suuremad, aeglasemad ja süsteemiressursside ja aku osas nõudlikumad kui Apple'i tööriistade abil loodud rakendused. Nad tunnevad end harva tõeliste pärisrakendustena.

SwiftUI abil annab Apple arendajatele vähem põhjust platvormidevaheliste API-de kasutamiseks. See on palju kiirem ja lihtsam arendada ning selle deklaratiivse süntaksiga on Reacti arendajatel lihtsam lapsendama.

3. Parem Maci ja Apple Watchi tugi: võimaldades arendajatel kasutada platvormideülest koodi

Arendajad said koodi alati Apple'i platvormidel uuesti kasutada, sest nad kõik toetavad Objective-C ja Swift. Kuid kuni selle nädalani ei saanud nad kasutajaliidese koodi uuesti kasutada. Seda seetõttu, et igal platvormil on selleks oma raamistik. Mac kasutab AppKitit, iOS kasutab UIKit ja watchOS kasutab WatchKiti. Selleks, et rakendus töötaks kõigil kolmel platvormil, peab arendaja tootma kasutajaliidese koodi kolm eraldi versiooni.

SwiftUI lubab seda kõike muuta, sest sama raamistik on omane kõikidele Apple'i platvormidele. Praktikas pole see tõenäoliselt nii lihtne, sest igal platvormil on oma erinevused. IPad Pro laiaulatusliku ekraani jaoks optimeeritud rakendus ei sobiks kergesti Apple Watchi pisikeste mõõtmetega.

Sellegipoolest, võimaldades arendajatel platvormidel rohkem kasutajaliidese koodi uuesti kasutada, võib SwiftUI pikas perspektiivis osutuda sama oluliseks kui Projekti katalüsaator innustades arendajaid kõiki Apple'i tooteid omaks võtma.

Millal võime oodata SwiftUI -sse sisseehitatud rakenduste nägemist?

Praegu, SwiftUI on beetaversioonis Xcode 11 osana. Arendajad mängivad sellega ringi ja löövad rehve paar kuud, enne kui hakkavad sellesse tõelisi rakendusi ehitama.

Xcode ilmub beetaversioonist tõenäoliselt septembris koos iOS 13 turuletoomisega. Ja just siis SwiftUI arendamine tõesti algab. Isegi siis on võimalik, et raamistik ei ole täielik, st arendajad võivad jätkuvalt tugineda AppKitile ja UIKitile, kui vajalikud API-d pole SwiftUI-s veel saadaval.

Suurte ja keerukate rakenduste, näiteks Photoshopi arendajate vahetamine võib võtta kaua aega. Nii jäävad AppKit ja UIKit mõneks ajaks rippuma.

Sellegipoolest pole kahtlust, et SwiftUI on Apple'i jaoks uue olulise peatüki algus. Pikemas perspektiivis võime oodata kasu mitte ainult arendajatele, vaid kõigile, kes kasutavad Apple'i tooteid. See nädal võib minna ajalukku kui Apple'i väga oluline verstapost. Midagi, mida kümne aasta pärast mäletab meie oma Luke Dormehl „Täna Apple'i ajaloos”Postitus.

Uusim blogipostitus

| Maci kultus
September 10, 2021

Uus MacBook Air kuulutas välja alghinnaga 999 dollarit, Magic -klaviatuuri ja 6K ekraani toegaMadal hind, uus klaviatuur, kaks korda kiirem.Foto: A...

| Maci kultus
September 10, 2021

Apple kasutab tegelikult iOS -i iPhotos Google Mapsi asemel OpenStreetMapi [värskendatud]Eile me rääkisime teile et äsja ilmunud iPhoto iOS -i jaok...

| Maci kultus
September 10, 2021

Oh, Apple. Kas ei piisanud sellest, et allutasite meid aastaid John Mayerile ja Coldplayle? Ma mõtlen, jah, ma arvan, et mõlemad kunstnikud olid um...