Swoje specjalne wydarzenie miało wczoraj Apple. W Steve Jobs Theatre w Cupertino zaprezentowano między innymi nową usługę VOD, agregator wiadomości, kartę płatniczą, ale także nową wersję iOS-a, w którym załatano 50 podatności. Nieco w cieniu tych efektownych premier było wydanie nowej wersji języka programowania Apple – co nowego przygotowano dla deweloperów w Swifcie 5?
Swift 5 – co nowego?
Według Apple Swift 5 to kamień milowy w rozwoju tego języka. Najważniejszą nowością jest osiągnięcie stabilności interfejsu binarnego aplikacji, co przełoży się na kompatybilność aplikacji i bibliotek, niezależnie od wersji kompilatora. Słowem – aplikacje napisane w Swifcie 5 mają zapewnioną kompatybilność z kolejnymi wersjami wszystkich systemów operacyjnych Apple.
Ponadto na systemach macOS, iOS, tvOS i watchOS domyślnie są teraz dostępne biblioteki uruchomieniowe, co zmniejszy wielkość samych programów. Apple deklaruje także, że oprogramowanie napisane w Swifcie będzie na wszystkich systemach tej korporacji uruchamiać się i działać sprawniej, a także zużywać mniej RAM-u.
Nowości pojawiły się również w kwestii obsługi kompilatorów. Dotąd niemożliwe było wykorzystanie bibliotek, jeśli wersja ich kompilatora nie była taka sama, jak wersja kompilatora, który budował aplikację. Konieczność zachowania tej zgodności udało się w Swifcie 5 wyeliminować. Teraz twórcy mogą wykorzystywać biblioteki bez względu na wersję kompilatora, przygotowując odpowiednie nagłówki.
Zobacz też: Jeśli pisać aplikacje, to na iOS-a. Programiści zarobili w App Store 120 mld dolarów
W Swificie 5 wprowadzono także opcjonalną tzw. ewolucję bibliotek, co oznacza po prostu, że po tym, jak dojdzie do zmiany w samej bibliotece, nie będzie konieczności ponownego kompilowania programów. Zmieniono także preferowane kodowanie ASCII z UTF-16 na UTF-8, co według Apple może się przełożyć na sięgające 50% spadek zapotrzebowania na RAM.
Sporo nowości pojawiło się także w samej składni Swifta, z ich pełną listą można zapoznać się w dokumentacji Xcode’a 10.2. Swift 5 jest kompatybilny z Swiftem 4 4.1 i 4.2, dostępne jest także narzędzie automatyzujące migrację kodu. Szczegółowe informacje na temat Swifta 5 znaleźć można na oficjalnym blogu.