Szabad szoftver lett a Swift
Teljesítette ígéretét az Apple, kinyitotta a Swift programozási nyelvhez kapcsolódó fejlesztéseit. Az elérhetővé tett csomag roppant gazdag, dokumentációtól a fordítóig minden együtt van. A meglepetés a Linux-kompatibilitás és az új fejlesztésű csomagkezelő.
Elérhetővé tette a Swift forráskódját az Apple, ezzel a cég teljesítette a júniusi fejlesztői konferenciáján, a WWDC-n tett ígéretét. A vállalat akkor jelentette be, hogy nyílt forráskódúvá teszi a Swiftet és szabad szoftverré annak implementációját. Az ígért lépést az Apple most megtette, a teljes forráskód elérhető a cég GitHub oldalán, Apache 2.0 licenc alatt.
Maga a Swift tavaly jelent meg, jelenleg a 2.1-es kiadásánál tart, a nyelvet pedig hosszabb távon az OS X és az iOS (illetve az Apple tévés és okosórás platformjának) standard programozási nyelvévé szeretné a cég emelni, az Objective-C mellett (de nem helyette). Ahogy a gyors verziószám-növekedésből is látszik, a nyelv, a futtató- és fordítókörnyezet, a kapcsolódó könyvtárak jelenleg is aktív fejlesztés alatt vannak, ennek sebessége a jövőben várhatóan csillapodik majd kissé.
A forráskód ugyan a GitHubon van fenn, a szabad szoftveres projekt otthona azonban nem ez, hanem a Swift.org lesz, ezt az Apple külön erre hozta létre. Az elérhető projekt a fordítót, az LLDB debuggert, a REPL parancssoros környezetet, a standard és a core könyvtárakat tartalmazza, valamint néhány kiegészítő szoftver kódja is elérhető. A meglepetést a Swift Package Manager jelenti, amely a swiftes csomagok kezelését nyújtja, és a Swift build rendszerével integráltan képes letölteni, fordítani és összekapcsolni a függőségeket, ezzel a Cocoapods ütős (swiftes) alternatíváját nyújtja - az első tapasztalatokról itt egy jó bejegyzés. Az SPM-et egyébként a Homebrew csomagkezelő fejlesztője, Max Howell készítette, természetesen Swiftben.
Ahhoz, hogy Swiftben programozzunk, immár nincs is szükség Mac-re, az anyag az OS X mellett az Ubuntu legfrissebb és LTS kiadásával is alapból kompatibilis, más platformokra, így Windowsra külön portolásra lesz majd szükség.
A Gitlab mint DevSecOps platform (x) Gyere el Radovan Baćović (Gitlab, Data Engineer) előadására a november 7-i DevOps Natives meetupon.
A nyitással együtt az Apple a Swift következő kiadásának irányát is megszabta, a kiadott dokumentumban részletezi a nyelv fejlődésének következő mérföldkövét. A Swift 3.0 lesz a következő jelentős kiadás, amely várhatóan 2016 őszén érkezik majd. Ebben stabil bináris interfészt szeretne az Apple elérni, amely biztosítja majd, hogy a nyelv korábbi kiadásaival készült binárisok kompatibilisek maradnak a nyelv későbbi kiadásaival. Szintén célkitűzés a generikusok implementációjának kiteljesítése és a szintaxis koherensebbé tétele - a részletes leírás itt érhető el.
Miért nyílt ki? És miért most?
Feltevődik a kérdés, hogy miért nyitotta meg a nyelvet az Apple - és miért pont most? Craig Federighi, az Apple szoftverfejlesztését felelős vezetője szerint a cég célja a Swiftet a nagy programozási nyelvek közé emelni, amelyet a fejlesztők operációs rendszerek és alkalmazások írására használnak - ez pedig lehetetlen egy zárt nyelvvel. A kérdés második felére a frappáns válasz: most lett készen. A tavaly bemutatott Swift 1.0 és a következő alverziók között a nyelv rendkívül gyorsan változott és alakult, a változás sebessége most csökkent arra a szintre, hogy immár külső fejlesztőket is érdemes lehet bevonni.
Federighi egyébként arról számolt be, hogy a Swift iránt meglepően nagy lelkesedést tapasztalt az Apple, a független fejlesztők mellett a nagy partnerek (például az IBM) is kifejezte érdeklődését. Így nem elrugaszkodott gondolat, hogy a Swift hamarosan egy platformfüggetlen nyelvvé váljon, és például a kliensoldal mellett a szerveroldalon is gyökeret eresszen.
Az Apple természetesen a szabad szoftveres nyitás ellenére megtartja a projekt irányítójának szerepét, így a jövőben is abba az irányba fejlődik majd a Swift, amerre az Apple érdeke diktálja. A lépés azonban megadja a lehetőséget arra is, hogy a közösség saját forkot készítsen, és adott esetben létrehozzon egy Apple-mentes Swift klónt, amely eltérő útvonalat követ - ahogy ez a node.js esetében is lejátszódott az elmúlt évben.
Mi lesz az Objective-C-vel?
Az Apple deklarált célja az Objective-C-t és a Swiftet párhuzamosan fejleszteni, Federighi szerint a cég hosszú távon tervez az Objective-C-vel, azt a jövőben is támogatni fogja. Míg az új, az Apple platformjaival most ismerkedő fejlesztőknek az Apple már egyértelműen a Swiftet ajánjla, az Objective-C-ben programozó fejlesztőknek semmi okuk nem lesz a váltásra - mármint a Swift modernebb voltát leszámítva.
A cég hozzáállása érthető, az Apple saját szoftverei gyakorlatilag 100 százalékban Objective-C nyelven készültek, az operációs rendszerektől a különböző alkalmazásokig, ezek a jövőben is ezen a nyelven készülnek majd. Hogy hosszú távon hogyan alakul a két nyelv együttélése, erre valószínűleg az Apple sem tudja még a határozott választ, de az egyelőre bizonyos, hogy a Swift még hosszú ideig nem lesz egyeduralkodó az Apple-ökoszisztémán belül sem.
A Swifttel a HWSW és az IT Factory december 10-én induló iOS-képzésén is elkezdünk majd ismerkedni, az Objective-C mellett néhány alkalmat az új programozási nyelvnek is szentelünk majd. A tanfolyamra még lehet jelentkezni.