Podczas inauguracji tegorocznej odsłony WWDC ogłoszeń kierowanych stricte do deweloperów było stosunkowo niewiele, te pojawią się podczas prelekcji w kolejnych dniach konferencji. Obok opisanego już przez nas Project Catalyst drugą najważniejszą nowością dla programistów ogłoszoną wczorajszego wieczoru była premiera frameworka SwiftUI.
SwiftUI to nowy framework Apple służący do przygotowywania interfejsów aplikacji w Swifcie według paradygmatu deklaratywnego. W praktyce oznacza to, że Apple chce, by programiści definiowali stany interfejsu aplikacji, zaś SwiftUI zautomatyzuje cały proces ich uzyskiwania, przechodzenia z jednego w drugi. Trzeba przyznać, że podczas prezentacji możliwości SwiftUI robiły duże wrażenie.
Zobacz też: Project Catalyst na WWDC – aplikacje mobilne zawitają ma macOS-a
W kilka minut z Hello World udało się uzyskać ilustrowaną listę pionową, wszystko w trybie graficznym, kod w Swifcie opisujący konkretne stany generował się zaś automatycznie. SwiftUI zadba także o to, aby pomiędzy kolejnymi ekranami wyświetlały się odpowiednie animacji tak, aby programista mógł poświęcić całość uwagi na definiowaniu stanów interfejsu. Framework sam ma rozpoznawać aktualny stan i adekwatnie aktualizować podgląd po prawej stronie.
SwiftUI jest składnikiem Xcode, jego dwukolumnowy interfejs składa się edytora kodu oraz interaktywnej makiety. Modyfikacje wprowadzane w jednej z kolumn automatycznie znajdują odpowiednik w drugiej. Nie będzie przesady w twierdzeniu, że podczas keynote zaprojektowanie prostego interfejsu w SwiftUI bardziej przypominało przygotowanie prezentacji multimedialnej niż pracę z kodem.
Zobacz też: Apple uśmierci iTunes, iOS i macOS zmierzają w stronę pełnej konwergencji
Dzieje się tak między innymi za sprawą wielu gotowych komponentów dostarczanych przez Apple – za pomocą paru kliknięć można dodać funkcje związane z ułatwieniami dostępu, obsługę systemów zapisów od prawej do lewej czy nowego ciemnego motywu, jaki trafi do iOS-a 13. Słowem – wszystko, czego implementacja wymagałaby bez SwiftUI wielu godzin żmudnej pracy. Można także oczekiwać integracji z UIKit.
Za pomocą frameworka będzie można przygotować interfejs aplikacji na iOS-a, macOS-a, tvOS-a i watchOS-a. Premiery SwiftUI spodziewamy się jesienią, wraz z udostępnieniem nowej wersji Xcode oraz macOS-a Catalina.