REKLAMA

Rzut oka na Swift - nowy język programowania od Apple

Programujący dla urządzeń spod marki Apple twórcy oprogramowania od 20 lat używali Objective-C. Ten stworzony w latach 80-tych język powstał początkowo jako obiektowe rozwinięcie języka C. Pod koniec dekady został wybrany przez firmę NeXT, (założoną przez Steve'a Jobsa po opuszczeniu przez niego firmy Apple) jako język rozwoju systemu operacyjnego NeXTstep. Po nabyciu NeXT przez Apple w 1996 roku, Objective-C pozostał jako główny i w praktyce jedyny język rozwoju oprogramowania dla MacOS a następnie OS X.

Rzut oka na Swift – nowy język programowania od Apple
REKLAMA

Wczoraj na konferencji dla programistów WWDC Apple postanowiło ogłosić zmiany. Od tego momentu programiści używający środowiska XCode służącego do rozwijania aplikacji na OS X oraz iOS mają do dyspozycji nowy język programowania - Swift.

REKLAMA
swift1

W czasie otwarcia konferencji nie poświęcono mu zbyt wiele czasu - mimo, że jest to "Developers Conference", to Apple zdaje sobie sprawę, że nie może umieszczać zbyt wiele technicznych szczegółów w otwierającej prezentacji. Jednak równocześnie umieszczono informacje o języku na strona internetowych Apple dla twórców oprogramowania (developers.apple.com), a w sklepie z książkami iBooks znalazł się już podręcznik do języka.

speed_swift

Przejrzenie dostępnych informacji oraz przekartkowanie podręcznika "The Swift Programming Language" pozwala powiedzieć jedno: Apple obniżyło barierę wejścia dla programistów. Nowy język jest tym, do czego przyzwyczajeni są młodsi programiści, z wysokopoziomowymi strukturami wbudowanymi w język i wieloma ułatwieniami.

Jest jednak haczyk: umieszczać w App Store oraz Mac App Store aplikacje napisane w Swift będzie można dopiero, gdy ukaże się oficjalnie iOS 8 oraz OS Yosemite, a więc jesienią.

Czym charakteryzuje się Swift?

  • Język może być pierwszym, który poznaje programista. A jeśli programista zna Pythona lub C#, nie będzie w ogóle zagubiony, odnajdzie się bez problemu
  • Język kompilowany o dużej wydajności, z kompilatorem typu LLVM (Low Level Virtual Machine) - dzięki czemu zawiera znany z Objective C menadżer obiektów Automatic Reference Counting
  • Oferuje dużo nowoczesnych i wysokopoziomowych struktur i cech języka takich jaki typy generyczne czy protocols (odpowiednik interfejsów w innych językach). Również iteracja po wartościach w kolekcji danych jest ułatwiona
  • Oferuje funkcje wspomagające programowanie: Assert, która może się przydać do tworzenia testów jednostkowych, strukturę zwaną closure, co jest odpowiednikiem funkcji lambda w innych językach, lub tzw. optional chaining umożliwiający bezpieczne docieranie do zagnieżdżonych pól w obiektach.
  • Jest elastyczny jeśli chodzi o typy, np. metoda może zwracać wiele typów wartości równocześnie lub posiadać opcjonalne parametry. Wspiera również swoją strukturą paradygmat programowania funkcyjnego.

Biblioteki pisane w Objective-C, C oraz Swift będą mogły być częścią tej samej aplikacji. Swift ma dostęp do tych samych API Cocoa i Cocoa Touch, co kod w Objective-C.

swift-screenshot

Programiści, którzy ściągną wersję beta środowiska XCode 6, zauważą, że dzięki Swiftowi otrzymali kilka opcji, które wzbogacają proces pisania aplikacji. Funkcje te wcześniej były dostępne w innych środowiskach, więc na pewno powitają je z radością.

Funkcje te to dla przykładu:

  • Środowisko REPL (Read, Eval, Print, Loop), czyli interaktywna konsola pozwalająca programować "linijka po linijce", szczególnie przydatne w przypadku nauki języka i prototypowania nowych rozwiązań.
  • Środowisko Playgrounds służące do eksperymentów z nowymi fragmentami kodu, z wbudowanym interaktywnym debugerem.

Swift na pewno zdobędzie popularność i obniży poprzeczkę, jaką dotychczas mieli przed sobą programiści mający doświadczenie w innych, nowocześniejszych niż Objective-C, językach. Próbując pisać dla iOS czy OS X musieli przygotować się psychicznie na pamiętanie o rzeczach, które inne środowiska programistyczne pozwalały im zapomnieć.

REKLAMA

Dzięki Swiftowi łatwiejsza może być adaptacja do pisania aplikacji dla systemów operacyjnych Apple.

REKLAMA
Najnowsze
REKLAMA
REKLAMA
REKLAMA