18 520
Tesztek Android Google Apple Microsoft Samsung Huawei Nokia Linux Biztonság Tudomány Facebook Videojáték Film
https://lh3.googleusercontent.com/-IyhYFAA4F2o/UGqe-rf-JiI/AAAAAAAAKA8/isgQQoHo8Bw/s800/5732.image8.png
Kattints ide  ➜

TypeScript ‑ A Microsoft válasza a Google Dart‑ra

Fazekas László2012.10.02. 10.35
https://lh3.googleusercontent.com/-IyhYFAA4F2o/UGqe-rf-JiI/AAAAAAAAKA8/isgQQoHo8Bw/s800/5732.image8.pngA Microsoft tegnap jelentette be TypeScript nevű új programozási nyelvét, ami tulajdonképpen a JavaScript továbbgondolása, így a Google Dart nyelvének egy lehetséges alternatívája.

A Microsoft TypeScript-je tulajdonképpen a JavaScript kiterjesztése olyan lehetőségekkel, mint modulok létrehozása, osztályok definiálása, öröklés, típusellenőrzés és még sok más olyan képesség, ami a JavaScriptből eddig hiányzott. Noha a JavaScript napjainkra az egyik leginkább elterjedt programozási nyelv (a GitHub statisztikáit a JavaScript vezeti), és mostanra szinte bármi megvalósítható JavaScript segítségével, maga a nyelv nagyon lassan fejlődik. Jó példa erre, hogy a JavaScirptben nincs lehetőség "klasszikus" objektum orientált kód írására, és a JavaScript következő verziójának ajánlásában már szerepel a class kulcsszó, de például öröklődés már nincs, opcionális típus ellenőrzés támogatása pedig nem is várható. Azt lehet mondani, hogy a jelenlegi komplex JavaScript alkalmazások már jócskán túlhaladták a JavaScript mint nyelv kereteit. Kellő modularitás, és strukturált felépítés hiányában ezek a kódok nagyon nehezen karbantarthatóak, vagy átláthatóak. Ezek az igények hívták életre a Google Dart nyelvét, és a TypeScriptet is. Ha hirtelen, egy mondatban össze kellene foglalni, akkor valahogy úgy fogalmazhatnánk, hogy a TypeScript úgy viszonyul a Dart-hoz, mint a C# a Java-hoz. Ugyanazt a területet célozzák meg, de kicsit eltérő filozófiával.

A Dart fejlesztésekor a Google úgy gondolta, hogy teljesen szakít a JavaScript-el, és egy alapjaiban új nyelvet fog kialakítani, az elkészült kódot pedig saját virtuális gép futtatja majd. Az, hogy a Dart JavaScript-re fordítható, tulajdonképpen kényszermegoldás, mivel nem várható, hogy minden böngésző beépítve tartalmazza a Dart virtuális gépet. Ez rá is nyomja bélyegét a nyelvre, mivel így a Dart-kód csak mindenféle kerülőutakon tud kommunikálni a JavaScript-el, mivel a koncepció szerint elkülönül a két futtatókörnyezet, még akkor is, ha Dart-ból JavaScript-et fordítunk, és így igazából csak két JavaScript betétnek kell kommunikálnia. Ezzel nehézkessé válik ugyan a jól bevált JavaScript könyvtárak alkalmazása, viszont a natív Dart VM miatt jobb a futtatott kód sebessége, és elérhető néhány olyan képesség (párhuzamos szálak, processzek kezelése, stb.), ami JavaScriptben nem.


A TypeScript ezzel szemben nem ugrik ekkorát, mindössze a JavaScript meglévő eszközkészletét egészíti ki új lehetőségekkel. Nem is tartozik hozzá saját virtuális gép, az elkészült kódot minden esetben JavaScript-re fordítja le. Ennek megfelelően egy meglévő JavaScript kód egyben TypeScript kód, és minden TypeScript kód fordítás után JavaScript lesz. Így például egy TypeScript objektum metódusait ugyanolyan egyszerűen hívhatjuk meg JavaScriptből, mint ha az eleve JavaScript-ben íródott volna. És persze ugyanígy használható is minden meglévő JavaScript eszköz a TypeScript kódunkból. Ez az a tulajdonság, ami szerintem a TypeScriptet igazán erőssé teszi, hogy nem kell lemondanunk a már meglévő JavaScript kódok (pl. jQuery, AngularJS, template rendszerek, stb.) használatáról, amivel Dart-nál számolni kell.

A TypeScript egyébként teljesen nyílt forráskódú, Apache 2.0 licenc alatt fut, hasonlóan a Dart-hoz, ami annyit jelent, hogy bárki felhasználhatja akár nyílt, akár zárt forrású projektekben, és szabadon módosíthatja. Tehát a Microsoft semmilyen szempontból nem "ült rá" a nyelvre, teljesen nyitott az út bárki számára, bármilyen fejlesztést illetően.
Kattints ide  ➜