:

Szerző: Gálffy Csaba

2011. október 10. 17:12

Elkészült a JavaScriptet leváltó Google Dart

Ma rajtolt el a Google új kezdeményezése, a webes alkalmazások motorjául szánt Dart programozási nyelv. A JavaScript kiváltására született nyelv még gyerekcipőben jár, létezése azonban fontos lökést adhat a web fejlődésének.

Elérhető a korábban beharangozott Google Dart programozási nyelv specifikációja és a hozzá kapcsolódó anyagok - jelentette be a projektet vezető Lars Bak a Dániában zajló GOTO konferencián. A várakozásoknak megfelelően a Dart egyértelműen a JavaScript vetélytársaként lép fel, amelynek hosszú távon helyére is lépne. "Ha továbbra is egyre jobbá akarjuk tenni a webet, innoválnunk kell, beleértve az új programozási nyelveket is" - jelentette ki Bak a bemutató során. Bak korábban a Chrome V8 JavaScript motorjának vezető fejlesztője volt, így járatosnak tekinthető mind a nyelvvel kapcsolatos, mind a böngészővel kapcsolatos problémákban.

A Dartot a Google a tipikus webes alkalmazások fejlődését figyelembe véve alkotta meg. Ennek megfelelően a típus megválasztása ("typing") opcionális, a fejlesztés közben migrálható a kód statikus typingra, ahogy a projekt fejlődése megkívánja. A Dart támogatja az osztályokat is, így hatékonyan definiálhatóak belső API-k, illetve könnyebben újrahasználhatóak a metódusok és adatok. A Dart támogatja a függvénykönyvtárakat, amelyek tartalma garantáltan nem változik és független alkalmazások építhetőek rá. A fejlesztői eszközök terén is pozitív változást hoz a Dart, lesznek futtatókörnyezetek és a nyelvet támogató IDE-k is, amelyek megvalósítják az "edit-and-continue" programozási módszert is.

A Dart megalkotásáért sokan kritizálták a Google-t, az iparági szereplők szerint ugyanis a keresőóriás saját fejlesztésű programnyelvet akar az internetre erőszakolni a bevett szabványalkotó fórumok megkerülésével. A kritikusok szerint ez nagyban hasonlít a Microsoft ASP .NET-stratégiájához, a zárt programozási környezetet úgy kívánta de facto szabvánnyá emelni a redmondi cég, hogy nem működött együtt partnerekkel és intézményekkel. A Google álláspontja szerint azonban első lépésben megalkotja a koherens, és a kitűzött céloknak megfelelő nyelvet, majd elkezdődhet az iparági egyeztetés annak szabvánnyá emeléséről. Bak nyilatkozata szerint fordítva nem működik a folyamat, ez ugyanis csak "sok ordibálást eredményez".

Teljesítményorientált programozás

A Google elemi érdeke, hogy a webes alkalmazások fel tudják venni a versenyt a natív alkalmazásokéval, ehhez azonban egyre nagyobb teljesítményre és mind több funkcióra van szükség. A böngészők sebességversenyének beindítása után most az új frontvonal az alkalmazások nyelve lesz, ahol hasonló logika alapján nevezi be versenyzőjét a Google.

A Dart bevezetése analóg a Chrome böngésző bevezetésével. A Google böngésző fejlesztése eredetileg egyetlen célt szolgált, a böngészők JavaScript alatti teljesítményét használható szintre gyorsítani, és kompetitív nyomást alá helyezni a nagy böngészőket. A terv sikerrel járt, mára már a Microsoft is az Internet Explorer sebességét demózza - így a Chrome részesedésétől függetlenül a Google akarata érvényesült. Ehhez hasonlóan a Dart projekt elsődleges célja nem a világuralom, hanem egy új teljesítménystandard megalkotása, amelyhez később a JavaScript is alkalmazkodni kényszerül. A Dart ugyanakkor magában hordozza annak lehetőségét is, hogy amennyiben a JavaScript nem képes megújulásra, hosszabb vagy rövidebb időn belül annak helyére lépjen.

Ünnepi mix a bértranszparenciától a kódoló vezetőkig

Négy IT karrierrel kapcsolatos, érdekes témát csomagoltunk a karácsonyfa alá.

Ünnepi mix a bértranszparenciától a kódoló vezetőkig Négy IT karrierrel kapcsolatos, érdekes témát csomagoltunk a karácsonyfa alá.

A JavaScript fejlesztéséért és szabványosításáért az Ecma International felel (ezért szokták EcmaScriptnek is nevezni). A Google még 2007-ben vitte a testület elé a JavaScriptet radikálisan megújító ES4 tervezetét, amely mögött felsorakozott a Mozilla, az Adobe és az Opera is - a javaslat azonban a Microsoft és a Yahoo ellenállásán megbukott. A széthúzás eredménye 2008-re teljes patthelyzet lett, majd 2009-re sikerült összehozni néhány inkrementális fejlesztést. A megújulás igényét minden érintett belátta, ezért létre jött a nagyobb ívű Harmony projekt, amely a JavaScript komolyabb újraírását célozta. A munka folyik, a szabvány lezárására azonban még biztosan éveket kell várni.

Házi adoptáció

A várakozásoknak megfelelően a Dart először a Chrome böngésző alatt kap támogatást. Bak elmondása szerint az első teljesítményelőnyök már akkor ki fognak ütközni: a "snapshotting" névre keresztelt technológia használatával ugyanis jelentősen lerövidül a webes alkalmazások betöltésének időtartama. A snapshotting gyakorlatilag fogja az elkészült alkalmazást és egyetlen adattömbbe csomagolja. A demo szerint egy tipikus, 55 ezer soros alkalmazás mintegy 60 ezredmásodperc alatt töltődik be így, szemben a snapshotting nélküli 640 ezredmásodperccel. Bak szerint ez utóbbi szám jellemző a JavaScript teljesítményére is, csupán induláskor tehát mintegy tízszeres gyorsulással lehet számolni.

A Dart fejlesztésének fontos eleme, hogy a Google tervbe vette a kódot JavaScriptre fordító eszköz elkészítését is, így a Dartra fejlesztők biztosak lehetnek benne, hogy alkalmazásuk minden böngészőn fut - a legnagyobb teljesítményt azonban a natív Dart virtuális gépen fogja adni majd.

A Dart 78 oldalas specifikációja letölthető a kezdeményezés weboldaláról.

a címlapról