De ce SwiftUI ar putea fi cel mai mare lucru care va ieși din WWDC

Bug WWDC 2019 măr a produs atenție pe toate platformele sale la WWDC anul acesta. Am primit chiar și o primă privire la noul Mac Pro. Dar un alt anunț, care nu a atras atât de multe titluri, s-ar putea dovedi a fi cel mai important lucru care va ieși din conferința pentru dezvoltatori din acest an: SwiftUI.

SwiftUI promite să schimbe fundamental modul în care dezvoltatorii creează aplicații pentru produsele Apple. Și nu trebuie să fii un tehnician pentru a aprecia de ce este o afacere atât de mare.

Cu SwiftUI, Apple renunță la una dintre ultimele moșteniri ale lui Steve Jobs

Inainte de se alătură Apple în 1997, Steve Jobs a fost CEO al unei companii numite Următorul, care a produs un sistem de operare de ultimă generație numit Urmatorul pas. Aplicațiile pentru NeXTSTEP au fost dezvoltate într-un limbaj de programare numit Obiectiv-C.

Apple a achiziționat NeXT pentru că avea nevoie de un sistem de operare strălucitor, de nouă generație, care să înlocuiască vechiul System 7 pe care îl rulau Mac-urile în acel moment. Cupertino a adaptat NeXTSTEP pentru a deveni Mac OS X, care ulterior s-a transformat în macOS, iOS, watchOS și tvOS pe care le cunoaștem astăzi.

Chiar și după toți acești ani, dacă aruncați o privire sub capotă, originea platformelor Apple rămâne evident. Numele claselor de obiecte utilizate de Apple în codul său încep cu literele „NS”, pentru „NeXTSTEP”.

Dar acum, datorită SwiftUI, Apple începe să scape de această ultimă rămășiță NeXT. NSObject și altele asemenea ar putea fi în curând destinate istoriei. Acesta este și primul API Apple care nu este accesibil de la Objective-C de la lansarea OS X, care ar putea marca începutul sfârșitului pentru acest venerabil limbaj de programare.

Apariția SwiftUI este într-adevăr sfârșitul unei ere și începutul a ceva nou. Dar despre ce este vorba? Și, mai important, ce înseamnă pentru utilizatorii finali Apple?

Ce este SwiftUI?

Până în această săptămână, dezvoltatorii au trebuit să folosească AppKit și UIKit pentru a crea aplicații pentru Mac și iOS. Aceste API oferă instrumentele de care dezvoltatorii au nevoie pentru a produce elemente ale interfeței utilizatorului, cum ar fi butoane, liste de derulare și câmpuri de introducere. Datorită originii lor care se întoarce până la NeXTSTEP, aceste API-uri încep să-și arate vârsta.

Pe măsură ce software-ul îmbătrânește, dobândește ceea ce tehnicienii numesc „datorii tehnice”, Ceea ce înseamnă că, deși poate fi ușor și familiar de utilizat, ar fi mai bine să investiți timpul necesar pentru a trece la o abordare mai bună și mai modernă. Și acest tip de comutator este exact ceea ce înseamnă SwiftUI.

Când Apple a introdus Swift, succesorul Objective-C, în 2014 la WWDC, a fost facturat ca fiind „Complet nativ atât pentru Cocoa [AppKit], cât și pentru Cocoa Touch [UIKit].” Și datorită vrăjitorilor tehnici ai lui Cupertino, a fost. Un fel de.

Apple a fost întotdeauna excelent în tranziția ușoară de la o tehnologie la alta. Când compania a făcut saltul la OS X, a inclus cadrele Classic și Carbon, astfel încât aplicațiile vechi au rămas compatibile. La fel, cu trecerea de la PowerPC la cipurile Intel, Sistemul Rosetta instrucțiuni traduse perfect de la vechiul la noul cip.

În mod similar, Cupertino a făcut o treabă excelentă făcând AppKit și UIKit compatibile cu Swift. Dar puteți spune că API-urile sunt vechi și se apropie de data de expirare.

SwiftUI permite Apple să elimine moștenirea NeXTSTEP odată pentru totdeauna, înlocuind-o de la capăt cu un nou API nativ pentru dezvoltarea Swift.

Ce este atât de grozav la SwiftUI?

Poate fi nou și diferit, dar ce este cu adevărat atât de grozav la SwiftUI? Există multe posibilități pentru dezvoltatori să le placă. Dar pentru clienții obișnuiți Apple ca tine și mine, există trei avantaje principale la care ne putem aștepta: mai multe aplicații, aplicații mai bune și un suport mai bun pentru Mac și Apple Watch.

1. Mai multe aplicații: atragerea unei noi rase de dezvoltatori

SwiftUI aduce Apple bang la curent cu tendințele actuale în programare. Se mândrește cu un sintaxă declarativă, un stil de programare deja popular printre dezvoltatorii web care folosesc JavaScript. Asta înseamnă că va fi familiar instantaneu pentru o gamă largă de tehnicieni care sunt noi în modul de a face lucrurile Apple. Prin simplificarea dezvoltării noilor dezvoltatori, SwiftUI ar putea atrage o platformă complet nouă de dezvoltatori.

2. Aplicații native reale: încurajarea dezvoltatorilor să renunțe la API-uri pe mai multe platforme

Facebook oferă un instrument de creare a aplicațiilor numit Reactive native. A devenit foarte popular, deoarece permite dezvoltatorilor să construiască aplicații în JavaScript și apoi să le compileze ca aplicații native pentru a rula atât pe dispozitivele iOS, cât și pe cele Android. Totul este foarte bine, dar aplicațiile construite folosind instrumente multiplataforma de acest fel rareori au performanțe la fel de bune ca și aplicațiile native adevărate.

De ce? Deoarece necesită o mulțime de coduri suplimentare, sub formă de biblioteci terțe, pentru a le face să funcționeze. Drept urmare, acestea tind să fie mai mari, mai lente și mai exigente în ceea ce privește resursele sistemului și bateria decât aplicațiile construite folosind instrumentele Apple. Rareori se simt ca adevărate aplicații native.

Cu SwiftUI, Apple oferă dezvoltatorilor un motiv mai puțin pentru a recurge la API-uri multiplataforma. Este mult mai rapid și mai ușor de dezvoltat și, cu sintaxa sa declarativă, este mai ușor pentru dezvoltatorii React adopta.

3. Asistență mai bună pentru Mac și Apple Watch: permițând dezvoltatorilor să utilizeze cod multiplataforma

Dezvoltatorii ar putea reutiliza întotdeauna codul pe platformele Apple, deoarece toți acceptă Objective-C și Swift. Dar până săptămâna aceasta, nu au putut reutiliza codul interfeței utilizatorului. Asta pentru că fiecare platformă are propriul cadru pentru asta. Mac folosește AppKit, iOS utilizează UIKit, iar watchOS folosește WatchKit. Pentru ca o aplicație să funcționeze pe toate cele trei platforme, dezvoltatorul trebuie să producă trei versiuni separate ale codului interfeței cu utilizatorul.

SwiftUI promite să schimbe toate acestea, deoarece același cadru este nativ pe toate platformele Apple. În practică, este puțin probabil să fie atât de simplu, deoarece fiecare platformă are diferențele sale. O aplicație optimizată pentru ecranul extins al unui iPad Pro nu s-ar adapta cu ușurință la dimensiunile minuscule ale unui Apple Watch.

Cu toate acestea, permițând dezvoltatorilor să refolosească mai multe coduri de interfață utilizator pe platforme, pe termen lung SwiftUI s-ar putea dovedi la fel de important ca Catalizator de proiect încurajând dezvoltatorii să adopte toate produsele Apple.

Când ne putem aștepta să vedem aplicații încorporate în SwiftUI?

Chiar acum, SwiftUI este în versiune beta ca parte a Xcode 11. Dezvoltatorii se vor juca cu el și vor da cu pneurile câteva luni înainte să înceapă de fapt să construiască aplicații reale în el.

Xcode va apărea probabil din beta în septembrie odată cu lansarea iOS 13. Și atunci va începe cu adevărat dezvoltarea SwiftUI. Chiar și atunci, este posibil ca cadrul să nu fie complet caracteristic, ceea ce înseamnă că dezvoltatorii pot continua să se bazeze pe AppKit și UIKit dacă API-urile de care au nevoie nu sunt încă disponibile în SwiftUI.

De asemenea, ar putea dura mult timp ca dezvoltatorii de aplicații mari și complexe, precum Photoshop, să facă schimbarea. Deci AppKit și UIKit se vor schimba pentru o vreme.

Cu toate acestea, nu există nicio îndoială că SwiftUI este începutul unui nou capitol important pentru Apple. Pe termen lung, ne putem aștepta să vedem beneficii nu doar pentru dezvoltatori, ci pentru toți utilizatorii de produse Apple. Această săptămână ar putea intra în istorie ca o etapă foarte importantă pentru Apple. Ceva pe care peste 10 ani, propriul nostru Luke Dormehl îl va memora într-un „Astăzi în istoria Apple" post.

Ultima postare pe blog

| Cultul lui Mac
September 12, 2021

Noile versiuni MacBook Air arată subțiri, plate și colorateApple intenționează să lanseze noi laptopuri în culori care se potrivesc cu gama iMac.Co...

Cum să găsești fotografii Instagram cu locații frumoase din apropiere
September 11, 2021

Cum să găsești fotografii Instagram cu locații frumoase din apropiereVezi alte fotografii frumoase făcute lângă tine.Foto: Rob LeFebvre / Cult of M...

Adăugați răspunsuri personalizate la Apple Watch, par mai puțin robotizate
September 11, 2021

Adăugați răspunsuri personalizate la Apple Watch, par mai puțin robotizateNu fi un astfel de pătrat atunci când răspunzi. Foto: Rob LeFebvre / Cult...