TypeScriptre vált az AngularJS
Meglepte a webes fejlesztői közösséget a Microsoft és a Google közös bejelentése, a keresőóriás által karbantartott AngularJS keretrendszer következő, 2.0-s verziója a Microsoft-féle TypeScriptben készül. Ehhez a nyelvnek is módosulnia kellett. Összefogtak a nagyok.
Igazi bombát robbantott a Google és a Microsoft, a két cég ugyanis tegnap az ng-conf rendezvényen bejelentette, hogy az Angular következő, 2.0-s főverziója TypeScriptben íródik majd. Ez utóbbi a Microsoft által fejlesztett, JavaScripten alapuló és annak kiterjesztésével született nyelv, erős típusossággal és objektumorientált filozófiával. A bejelentés komoly meglepetésnek számít, eddig a két cég JavaScript-stratégiája párhuzamos nyomvonalon futott, most azonban a Google támogatásával a TypeScript lett a legesélyesebb JavaScript-kihívó.
A Google még tavaly októberben jelentette be, hogy az Angular fejlesztése a jövőben egy új, AtScript nyelven folytatódik. Az eredeti előterjesztés szerint az AtScript a TypeScriptre épülő, azt kiterjesztő nyelv, amelyet az Angularhoz hasonlóan a Google gondozott volna. Az akkor bejelentett koncepció szerint a TypeScript nagyon jó irány, azonban az Angularhoz nem elegendő, így további kiterjesztésre van szükség - ez lett volna az AtScript. A tegnapi bejelentés ezt célozza, a további fragmentációt megelőzendő a Google és a Microsoft fejlesztői a TypeScript és az AtScript konvergenciájáról állapodtak meg.
Kétirányú együttműködés
A kooperáció keretében tehát a TypeScript több új képességet kap, így alkalmassá válik az új feladatra. A Microsoft blogbejegyzése szerint az együttműködés első eredményei már a TypeScript soron következő, 1.5-ös kiadásában jelentkeznek majd, a nyelv ugyanis több olyan képességgel gazdagodott, amely az Angular 2-höz hasonló, dinamikus könyvtárakat használó környezetekben tisztább, egyszerűbb kódot eredményez. Például az osztálydeklarációkhoz immár metaadatok fűzhetőek, amelyek konfigurációs információkat vagy fordítási feltételeket tartalmazhatnak.
Másik újdonság, hogy futás közben is lekérhetőek a típusra vonatkozó információk (type introspection), eddig a nyelv ezt a képességet nem támogatta. A funkció lehetővé teszi, hogy a kód helyességét futás közben is lehessen ellenőrizni. Dinamikus könyvtárakat használva pedig lehetőség van dependency injectionre (függőségi befecskendezés), a típus lekérdezése alapján.
Machine recruiting: nem biztos, hogy szeretni fogod Az AI visszafordíthatatlanul beépült a toborzás folyamatába.
S. Somasegar, a Microsoft fejlesztői divízióját vezető alelnök külön blogposztban vázolta, hogy az együttműködés hogyan illeszkedik a TypeScript-stratégiába. A nyelv az Angular-megállapodástól függetlenül is folyamatosan fejlődik, az ECMAScript 6 megszilárdulásával az újdonságokat a Microsoft fokozatosan bevezeti a TypeScriptben is. Sőt, a készülő ECMAScript 7-ből is került már be képesség, az async/await az aszinkron futó kód írását egyszerűsíti drámaian.
A cég bejelentése szerint a TypeScript 1.5 bétája a következő hetekben válik elérhetővé, természetesen az azt támogató programozói eszköztárral együtt.
JavaScript, TypeScript, ECMAScript, AtScript?
A döntés remélhetőleg rövidre zárja az AngularJS kálváriáját. A keretrendszer korábban egyszerű JavaScriptben, a Google-féle, JS-utódnak kikiáltott Dartban, illetve ősz óta AtScriptben is készült. A Microsoft és a Google együttműködésével várhatóan hosszabb időre kiköt a framework a TypeScript mellett, a nyelv készítői is nagy lehetőségként tekintenek a kooperációra.
A TypeScript-bejelentést ugyanakkor nem fogadta egyöntetű lelkesedés a független fejlesztők körében. Többen azt kifogásolták, hogy immár a TypeScript ismerete elengedhetetlen lesz az AngularJS módosításához illetve a hibakereséshez és -elhárításhoz.
A TypeScript koncepcióját itt, a Dartét itt mutattuk be részletesebben.