Małe trzęsienie ziemi, czyli Swift 2 od Apple
W trakcie zeszłorocznej Worldwide Developers Conference firma Apple pokazała język programowania Swift. Nowy język, mający składnię nieco podobną co używanego w .NET języka C#, miał przyciągnąć nowych programistów do środowiska Apple i obniżyć nieco poprzeczkę wejścia na ten rynek programistom nie znającym Objective C.
Swift zdobył przez rok całkiem sporą popularność i został faktycznie zaadoptowany jako narzędzie wspomagające tworzenie aplikacji, najczęściej na etapie prototypowania. W App Store w tej chwili jest około 15 tysięcy aplikacji, używających Swift w większym lub mniejszym stopniu. Dlatego właśnie Apple w czasie tegorocznej konferencji WWDC postanowił iść za ciosem i ujawniła nową wersję języka i jego narzędzi: Swift 2.
Czym różni się Swift od Swift 2? Przede wszystkim drobnymi, ale znaczącymi dla programistów detalami takimi jak:
- usprawnienia składni języka
- nowy mechanizm obsługi błędów
- mechanizm sprawdzania dostępności usług w środowisku uruchomieniowym.
Jednak największe zmiany są nie w samym języku programowania, ale w sposobie jego dystrybucji.
Firma Apple postanowiła udostępnić narzędzia języka na zasadzie open source. Ma to nastąpić jeszcze w tym roku. Inną dużą zmianą jest udostępnienie środowiska uruchomieniowego dla systemów linuksowych. Oczywiście ten fakt, w połączeniu z otwartością kodu spowoduje, że wkrótce będziemy mieli dostęp do narzędzi tego języka na innych systemach operacyjnych.
Należy podkreślić że nie oznacza to, iż będziemy mogli na Linuksie pisać aplikacje np. na OS X.
Swift nie stał się kompilatorem skrośnym (cross compilerem), jednak będziemy mogli w nim pisać aplikacje które zostaną uruchomione na Linuksie. Ułatwi to pisanie aplikacji wieloplatformowych, jednak nadal będzie wymagać dotychczasowego środowiska Apple, aby stworzyć program dla iOS lub OS X.
Zmiany w Swift 2, choć interesujące, zostały w trakcie keynote jedynie wspomniane. Więcej szczegółów uzyskają przebywający na konferencji programiści, których czeka ponad 100 sesji na szczegółowe tematy dotyczące rozwijania aplikacji.