Proč může být SwiftUI tím největším, co může z WWDC vzniknout

Chyba WWDC 2019 Jablko věnoval pozornost všem svým platformám letos na WWDC. Dokonce jsme se na to poprvé podívali zcela nový Mac Pro. Ale další oznámení, které nezachytilo tolik titulků, se může ukázat jako to nejdůležitější, co z letošní vývojářské konference vyšlo: SwiftUI.

SwiftUI slibuje, že zásadně změní způsob, jakým vývojáři vytvářejí aplikace pro produkty Apple. A nemusíte být technik, abyste pochopili, proč je to tak velký problém.

Díky SwiftUI se Apple zbavuje jednoho z posledních dědictví Steva Jobse

Před opětovné připojení k Apple v roce 1997Steve Jobs byl generálním ředitelem společnosti s názvem Další, který produkoval špičkový operační systém s názvem Další krok. Aplikace pro NeXTSTEP byly vyvinuty v programovacím jazyce s názvem Cíl-C.

Apple koupil NeXT, protože potřeboval lesklý operační systém příští generace, který nahradil stárnoucí System 7, na kterém v té době běžely počítače Mac. Cupertino přizpůsobilo NeXTSTEP, aby se stal Mac OS X, který se později proměnil v macOS, iOS, watchOS a tvOS, které známe dnes.

I po všech těch letech, když se podíváte pod pokličku, původ platforem Apple zůstává jasně evidentní. Názvy tříd objektů, které Apple ve svém kódu používá, začínají písmeny „NS“ pro „NeXTSTEP“.

Ale teď díky SwiftUI, Apple se začíná zbavovat tohoto posledního zbytku NeXT. NSObject a podobné věci by mohly být brzy zapsány do historie. Toto je také první rozhraní Apple API, které není přístupné z Objective-C od spuštění OS X, což by mohlo znamenat začátek konce tohoto úctyhodného programovacího jazyka.

Příchod SwiftUI opravdu znamená konec jedné éry a začátek něčeho nového. Ale o co jde? A co je důležitější, co to znamená pro koncové uživatele Apple?

Co je SwiftUI?

Až do tohoto týdne museli vývojáři používat AppKit a UIKit k vytváření aplikací pro Mac a iOS. Tato rozhraní API poskytují nástroje, které vývojáři potřebují k vytváření prvků uživatelského rozhraní, jako jsou tlačítka, rolovací seznamy a vstupní pole. Protože jejich původ sahá až do NeXTSTEP, tato API začínají ukazovat svůj věk.

Jak software stárne, získává to, čemu technici říkají „technický dluh„“, Což znamená, že i když to může být snadné a známé, bude lepší investovat čas potřebný k přechodu na lepší a modernější přístup. A právě o tento druh přepínače SwiftUI jde.

Když Apple v roce 2014 na WWDC představil Swift, nástupce Objective-C, byl účtováno jako bytí "Úplně nativní jak pro Cocoa [AppKit], tak pro Cocoa Touch [UIKit]." A díky Cupertinově technickému kouzlu to bylo. Tak nějak.

Apple byl vždy skvělý při plynulém přechodu z jedné technologie na druhou. Když společnost přešla na OS X, zahrnovala rámce Classic a Carbon, takže staré aplikace zůstaly kompatibilní. Podobně s přechodem z čipů PowerPC na Intel je Systém Rosetta bezproblémově přeložené pokyny ze starého na nový čip.

Podobně Cupertino skvěle odvedl kompatibilitu aplikací AppKit a UIKit se Swift. Můžete však říci, že rozhraní API jsou stará a blíží se datu vyprodání.

SwiftUI umožňuje společnosti Apple zbavit se dědictví NeXTSTEP jednou provždy a od základu jej nahradit novým, nativním API pro vývoj Swift.

Co je na SwiftUI tak skvělého?

Může to být nové a jiné, ale co je na SwiftUI opravdu tak skvělého? Vývojářům se na tom může hodně líbit. Ale pro běžné zákazníky Apple, jako jste vy a já, můžeme očekávat tři hlavní výhody: více aplikací, lepší aplikace a lepší podporu pro Mac a Apple Watch.

1. Další aplikace: Přilákání nové generace vývojářů

SwiftUI přináší společnosti Apple aktuální informace o aktuálních trendech v programování. Může se pochlubit a deklarativní syntaxe, styl programování, který je již populární mezi webovými vývojáři, kteří používají JavaScript. To znamená, že to bude okamžitě známé široké škále techniků, kteří jsou ve způsobu práce Apple noví. Díky tomu, že je pro nové vývojáře snazší dostat se na rychlost, by SwiftUI mohl na platformu přilákat zcela nové plemeno vývojářů.

2. Skutečné nativní aplikace: Povzbuzení vývojářů, aby se zbavili rozhraní API pro různé platformy

Facebook nabízí nástroj pro vytváření aplikací s názvem Reagovat Nativní. Stala se velmi populární, protože umožňuje vývojářům vytvářet aplikace v JavaScriptu a poté je kompilovat jako nativní aplikace pro běh na zařízeních iOS i Android. To je všechno velmi dobré, ale aplikace vytvořené pomocí nástrojů napříč platformami, jako je tato, jen zřídka fungují stejně jako skutečné nativní aplikace.

Proč? Protože k jejich fungování vyžadují spoustu dalšího kódu ve formě knihoven třetích stran. V důsledku toho bývají větší, pomalejší a náročnější na systémové prostředky a baterii než aplikace vytvořené pomocí nástrojů Apple. Málokdy se cítí jako skutečné nativní aplikace.

Díky SwiftUI dává Apple vývojářům o důvod méně, proč se uchýlit k rozhraním API napříč platformami. Je to hodně rychleji a snadněji se vyvíjí a díky deklarativní syntaxi je pro vývojáře React snazší přijmout.

3. Lepší podpora pro Mac a Apple Watch: Umožnění vývojářům používat kód napříč platformami

Vývojáři mohli vždy znovu použít kód na platformách Apple, protože všichni podporují Objective-C a Swift. Ale až do tohoto týdne nemohli znovu použít kód uživatelského rozhraní. Důvodem je, že každá platforma má pro to svůj vlastní rámec. Mac používá AppKit, iOS používá UIKit a watchOS používá WatchKit. Aby aplikace fungovala na všech třech platformách, musí vývojář vytvořit tři samostatné verze kódu uživatelského rozhraní.

SwiftUI slibuje, že to všechno změní, protože stejný framework je nativní na všech platformách Apple. V praxi je nepravděpodobné, že by to bylo tak jednoduché, protože každá platforma má své rozdíly. Aplikace optimalizovaná pro rozsáhlou obrazovku iPadu Pro by se snadno nepřizpůsobila malým rozměrům Apple Watch.

Nicméně tím, že umožní vývojářům znovu použít více kódů uživatelského rozhraní napříč platformami, v dlouhodobém horizontu se SwiftUI může ukázat jako stejně důležité jako Projektový katalyzátor v povzbuzení vývojářů, aby přijali všechny produkty Apple.

Kdy můžeme očekávat, že uvidíme aplikace postavené v SwiftUI?

Právě teď, SwiftUI je v beta verzi jako součást Xcode 11. Vývojáři si s tím budou pohrávat a kopat do pneumatik několik měsíců, než v něm skutečně začnou stavět skutečné aplikace.

Xcode pravděpodobně vyjde z beta verze v září s uvedením iOS 13. A právě tehdy bude vývoj SwiftUI skutečně zahájen. I přesto je možné, že rámec nebude kompletní, což znamená, že se vývojáři mohou i nadále spoléhat na AppKit a UIKit, pokud v SwiftUI dosud nejsou k dispozici potřebná rozhraní API.

Přepnutí může také trvat dlouho, než vývojáři velkých a složitých aplikací, jako je Photoshop. AppKit a UIKit se tedy na nějakou dobu budou pohybovat.

Nicméně není pochyb o tom, že SwiftUI je začátkem důležité nové kapitoly pro Apple. V dlouhodobém horizontu můžeme očekávat, že uvidíme výhody nejen pro vývojáře, ale pro každého, kdo používá produkty Apple. Tento týden by se mohl zapsat do historie jako velmi významný mezník pro Apple. Něco, co si za 10 let náš vlastní Luke Dormehl zapamatuje v „Dnes v historii Apple" pošta.

Poslední příspěvek na blogu

| Kult Mac
October 21, 2021

Počkejte, až se iPhone 12 protáhne, protože Apple zpožďuje výrobu o měsícZapomeňte na své v září.Foto: ConceptsiPhonePodle pondělní zprávy společno...

| Kult Mac
October 21, 2021

Jak nastavit upozornění na hluk na Apple WatchVěci mohou být hlasité.Fotografie: Jonny Caspari/UnsplashV systému watchOS 6 mohou vaše hodinky Apple...

Jak Apple II dal hlasu Stephenovi Hawkingovi
October 21, 2021

Dříve dnes Tim Cook vyjádřil poctu zesnulému profesorovi Stephenovi Hawkingovi, který zemřel 14. března ve věku 76 let. "Vždy se budeme inspirovat ...