swift-cover

Bemutatkozik a Swift és a Metal – WWDC fejlesztői szemmel

#HÍREK
2014. 06. 10.
Sokaknak feltűnhetett, hogy az idei WWDC legnagyobb tapsát nem az OS X és az iOS újításai kapták, hanem a Swift, – a két platform új programozási nyelve -, és a Metal API, amit az OpenGL ES leváltására szántak. Lássuk miért is olyan nagy dolog ez a bejelentés.

1996-ban az Apple felvárásolta a Steve Jobs álltal vezetett NeXT-et. Az aukció célja elsősorban a NeXT álltal fejlesztett technológiák (programozási nyelvek, szoftverek, könyvtárak, fordítók) és a NeXTSTEP operációs rendszer megszerzése volt, amikre a későbbi OS X-ek épültek. Ekkor került az Apple-hez az Ojective-C nevű programozási nyelv is, ami egészen a legutóbbi WWDC-ig az OS X és az iOS elsőszámú nyelve volt. Az Objective-C-t az évek során folyamatosan fejlesztették és a tavalyi WWDC workshop-ok 60-70%-a az Objective-C új bővítéseiről szólt. Ezért is meglepő, hogy most előálltak a Swift-el, aminek a fejlesztése és bevezetése valószínűleg évek óta folyik. A Swift egy több paradigmájú nyelv, azaz különbőző feladatokhoz különböző stílusban lehet/érdemes benne programozni. A modern szemlélet alapján megalkotott nyelv számos egyszerűsítést tartalmaz ami a fejlesztési idő csökkenését hivatott szolgálni, illetve belepakoltak rengeteg gyakori programozási hibát kiküszöbölő feature-t. Úgy néz ki, hogy tanultak az elmúlt 30-40 év programozási nyelveinek gyengéiből, és egy igen erős és használható nyelvet alkottak. A Swift főbb tulajdonságai:

Függvény pointerek egyesítve closure-ökkel
– Tuple-k és több mint egy visszatérési érték
– Generikus tárolók
– Gyors,tömör és hatékony iteráció minden tárolón
– Struct típus, melynek lehetnek függvényei, bővítményei és protokoljai
– Funkcionális programozási minták

BrbI3Tt

A Swift mellé kidobtak egy Playground nevű Xcode bővítményt, amivel valós ídőben lehet vizsgálni egyes változók értékét, függvények visszatérési értékét, magyarán tökéletes eszköz hibakeresésre és algoritmus fejlesztésre. A Swift még önmagában nem teljesen használható iOS/OS X fejleszésre, hanem szorosan együttműködik az Objective-C-vel vagy akár C++-al, de véleményem szerint pár éven belül leválthatja őket. Nagyon hasznos újítás még, hogy az Interface Builder (iOS appok felhasználói felület tervezője) immáron valós időben jeleníti meg a kézzel kódolt UI elemeket, és mostmár robbantott rajzon is láthatjuk az UI egyes rétegeit.

wwdc_metal

Hosszú évek óta két szabvány uralja a számítógépes és mobilos grafika világát. A DirectX, ami a Microsoft alacsony szintű grafikai könyvtára, és az OpenGL, amit minden más, főleg UNIX alapú operációs rendszerek használnak. Mindeddig az OS X és az iOS grafikai megjelenítéséért egyaránt az OpenGL felelt, de ez a múlt heti WWDC óta megváltozni látszik, ugyanis Craig Federighi lerántotta a leplet az Apple saját megoldásáról, a Metal-ról. A Metal keretrendszer elsődleges prioritása a GPU-gyorsított korszerű 3D grafikai renderelés és az adat-párhuzamos számítási terhelés elosztása. Azért volt szükség saját grafikai API bevezetésére, mert ahogy az előadás grafionjain is látszik, az OpenGL multiplatform lévén fölöslegesen “vastag” kódbázissal rendelkezik, és nem szolgálja ki elég hatékonyan az A7 chipet. Az eredmény magáért beszél, a Metal-al mért rajzolási sebesség 10-szerese az OpenGL-el mérthez képest. Érdemes megnézni az Epic Games iPad-es Zen Garden demóját, garantáltan leesik az áll. A Metal sajnos egyelőre csak iOS játék fejlesztéshez használható, de szerintem hamarosan újraírják vele a két platform grafikai hátterét is.

Úgy gondolom, hogy valóban ez a két bejelentés volt az idei WWDC legfontosabbika, hiszen a fejlesztők emlékeztetőt kaptak arról, hogy nem feledkeztek meg róluk, és ki lett jelölve számukra egy új irányvonal. Tudják az Apple-nél, hogy a fejlesztők kedvében kell járni, mivel az iOS egyik legjelentősebb előnye a konkurenciához képest még mindig a minőségi appok száma. Mégis a legfontosabb: Az Apple ismét megmutatta, hogy nem álltak meg az innovációval, hosszú távra terveznek, és mindíg fognak tudni hová fejlődni még ha időbe telik is. Összefoglalva, a fejlesztök kaptak egy rakás új eszközt, amellyel immáron kényelmesebbé és élvezetesebbé válik a szoftverfejlesztés, a felhasználók pedig örülhetnek a végletekig kihegyezett 3D-s appoknak, ez egy win-win szituáció.