Varför SwiftUI kan vara det största som kommer ur WWDC

WWDC 2019 -fel Äpple överdådig uppmärksamhet på alla dess plattformar på WWDC i år. Vi fick till och med en första titt på helt nya Mac Pro. Men ett annat tillkännagivande, som inte tog så många rubriker, kan visa sig vara det viktigaste som kommer ut av årets utvecklarkonferens: SwiftUI.

SwiftUI lovar att i grunden förändra hur utvecklare skapar appar för Apple -produkter. Och du behöver inte vara en tekniker för att uppskatta varför det är så stort.

Med SwiftUI släpper Apple en av Steve Jobs sista arv

Innan återförenades med Apple 1997, Steve Jobs var VD för ett företag som heter Nästa, som producerade ett banbrytande operativsystem som kallas Nästa steg. Applikationer för NeXTSTEP har utvecklats i ett programmeringsspråk som kallas Mål-C.

Apple köpte NeXT eftersom det behövde ett glänsande nästa generations operativsystem för att ersätta det åldrande System 7 som Mac körde på vid den tiden. Cupertino anpassade NeXTSTEP för att bli Mac OS X, som senare utvecklades till macOS, iOS, watchOS och tvOS som vi känner till idag.

Även efter alla dessa år, om du tittar under huven, är ursprunget till Apples plattformar fortfarande tydligt. Namnen på objektklasserna som Apple använder i koden börjar med bokstäverna "NS" för "NeXTSTEP."

Men nu tack SwiftUI, Apple börjar bli av med den sista resten av NeXT. NSObject och liknande kunde snart överföras till historien. Detta är också det första Apple-API: et som inte är tillgängligt från Objective-C sedan lanseringen av OS X, vilket kan markera början på slutet för detta vördnadsvärda programmeringsspråk.

Tillkomsten av SwiftUI är verkligen slutet på en era och början på något nytt. Men vad handlar det om? Och, ännu viktigare, vad betyder det för Apples slutanvändare?

Vad är SwiftUI?

Fram till denna vecka fick utvecklare använda AppKit och UIKit för att skapa appar för Mac och iOS. Dessa API: er ger verktygen som utvecklare behöver för att producera användargränssnittselement som knappar, rullningslistor och inmatningsfält. Eftersom deras ursprung spårar tillbaka till NeXTSTEP, börjar dessa API: er visa sin ålder.

När mjukvaran blir äldre förvärvar den vad tekniker kallar "teknisk skuld, Vilket betyder att även om det kan vara enkelt och bekant att använda, skulle det vara bättre att investera den tid som krävs för att byta till ett bättre, mer modernt tillvägagångssätt. Och den typen av omkopplare är exakt vad SwiftUI handlar om.

När Apple introducerade Swift, efterträdaren till Objective-C, redan 2014 på WWDC, var det det faktureras som varande "Helt infödd till både Cocoa [AppKit] och Cocoa Touch [UIKit]." Och tack vare Cupertinos tekniska trollkarl var det det. Ungefär.

Apple har alltid varit bra på att övergå smidigt från en teknik till en annan. När företaget hoppade till OS X inkluderade det Classic- och Carbon -ramarna så att gamla appar förblev kompatibla. På samma sätt, med övergången från PowerPC till Intel -chips, Rosettasystem sömlöst översatta instruktioner från det gamla till det nya chipet.

På samma sätt gjorde Cupertino ett bra jobb med att göra AppKit och UIKit kompatibla med Swift. Men du kan se att API: erna är gamla och närmar sig deras säljdatum.

SwiftUI gör det möjligt för Apple att göra upp med NeXTSTEP -arvet en gång för alla och ersätta det från grunden med ett nytt, inbyggt API för Swift -utveckling.

Vad är så bra med SwiftUI?

Det kan vara nytt och annorlunda, men vad är egentligen så bra med SwiftUI? Det finns gott för utvecklare att älska det. Men för vanliga Apple -kunder som du och jag har vi tre huvudsakliga fördelar: fler appar, bättre appar och bättre support för Mac och Apple Watch.

1. Fler appar: Attrahera en ny utvecklare

SwiftUI ger Apple en uppdatering av aktuella trender inom programmering. Den har en deklarativ syntax, en programmeringsstil som redan är populär bland webbutvecklare som använder JavaScript. Det betyder att det direkt kommer att bli bekant för ett brett spektrum av tekniker som är nya inom Apples sätt att göra saker. Genom att göra det lättare för nya utvecklare att komma upp i fart kan SwiftUI locka en helt ny utvecklarras till plattformen.

2. Verkliga inbyggda appar: Uppmuntra utvecklare att släppa gränsöverskridande API: er

Facebook erbjuder ett appskapandeverktyg som heter React Native. Det har blivit mycket populärt eftersom det gör det möjligt för utvecklare att bygga appar i JavaScript och sedan kompilera dem som inbyggda appar för att köras på både iOS- och Android -enheter. Det är mycket bra, men appar byggda med plattformsoberoende verktyg som detta fungerar sällan lika bra som äkta native-appar.

Varför? Eftersom de kräver massor av extra kod, i form av tredjepartsbibliotek, för att få dem att fungera. Som ett resultat tenderar de att vara större, trögare och mer krävande för systemresurser och batteri än appar byggda med Apples verktyg. De känns sällan som riktiga inbyggda appar.

Med SwiftUI ger Apple utvecklare en mindre anledning att använda sig av plattformsoberoende API: er. Det är mycket snabbare och lättare att utveckla och med sin deklarativa syntax är det lättare för React -utvecklare att anta.

3. Bättre support för Mac och Apple Watch: Gör det möjligt för utvecklare att använda plattformskod

Utvecklare kan alltid återanvända kod på Apples plattformar, eftersom de alla stöder Objective-C och Swift. Men fram till den här veckan kunde de inte återanvända användargränssnittskoden. Det beror på att varje plattform har sin egen ram för det. Mac använder AppKit, iOS använder UIKit och watchOS använder WatchKit. För att en app ska fungera på alla tre plattformarna måste utvecklaren producera tre separata versioner av användargränssnittskoden.

SwiftUI lovar att ändra allt detta, eftersom samma ramverk är infödd på alla Apples plattformar. I praktiken är det osannolikt att det är så enkelt eftersom varje plattform har sina skillnader. En app som är optimerad för den expansiva skärmen på en iPad Pro skulle inte lätt anpassas till de små dimensionerna på en Apple Watch.

Genom att göra det möjligt för utvecklare att återanvända mer användargränssnittskod över plattformar kan SwiftUI på lång sikt visa sig vara lika viktigt som Project Catalyst för att uppmuntra utvecklare att omfamna alla Apples produkter.

När kan vi förvänta oss att se appar byggda i SwiftUI?

Just nu, SwiftUI är i beta som en del av Xcode 11. Utvecklare kommer att leka med det och sparka däcken i några månader innan de faktiskt börjar bygga riktiga appar i det.

Xcode kommer sannolikt att komma från beta i september med lanseringen av iOS 13. Och det är då SwiftUI -utvecklingen verkligen kommer igång. Även då är det möjligt att ramverket inte kommer att vara komplett med funktioner, vilket innebär att utvecklare kan fortsätta att förlita sig på AppKit och UIKit om de API: er de behöver ännu inte är tillgängliga i SwiftUI.

Det kan också ta lång tid för utvecklare av stora, komplexa appar som Photoshop att byta. Så AppKit och UIKit kommer att hänga kvar ett tag.

Det råder dock ingen tvekan om att SwiftUI är början på ett viktigt nytt kapitel för Apple. På sikt kan vi förvänta oss att se fördelar inte bara för utvecklare utan för alla som använder Apple -produkter. Denna vecka kan gå till historien som en mycket stor milstolpe för Apple. Något som om 10 år från och med nu kommer vår egen Luke Dormehl att minnas i en ”Idag i Apples historia”Inlägg.

Senaste blogginlägget

| Cult of Mac
September 11, 2021

Det är inte bara du: Klagomål om iPhone 12 -batteritid och avbrutna samtal är utbreddaAndra människor har också iPhone 12 -batteriproblem eller avb...

| Cult of Mac
September 11, 2021

Hur man automatiskt importerar ny musik till iTunesAnvänd ett Automator -arbetsflöde och lägg aldrig till media manuellt i iTunes igen!Foto: AppleS...

Vad Sony/Google TV Remote kunde, borde ha varit [åsikt]
September 11, 2021

Vad Sony/Google TV Remote kunde, borde ha varit [åsikt]Hej läsare. Titta på den här fjärrkontrollen. Nu i dina händer. Nu tillbaka till fjärrkontro...