Színre lépett az IO.js
Elégedetlen volt a Node-ot fejlesztő csoport egy része a Joyent-féle kormányzással, előreszaladnak az IO.js (született Node Forward) projekttel.
A szakítás oka szinte tipikus a szabad szoftveres körökben: a projektet 2010 óta irányító cég, a Joyent, és a fejlesztés nagy részét végző tagok között egyre feszültebbé vált a viszony, sokan érezték úgy, hogy lassú a kiadási ütem, a Node sokkal gyorsabban is mozoghatna. Ezért Node Forward néven saját projektet indítottak, ennek célja a korai stádiumban lévő fejlesztések elkészítése, tesztelése, a Joyenttől függetlenül. Mivel a Node név a Joyent védjegye, változtatni kellett az elnevezésen, így lett a projekt új neve: IO.js.
Az IO.js a Node.js forkja (elágaztatása), ezt a Node szabad szoftveres licencfeltételei természetesen lehetővé teszik. A készítők szerint a két keretrendszer jelenleg kompatibilis, és a jövőben is az marad. Ez azt jelenti, hogy az npm Node-modulok használhatóak IO.js platformján is, valamint a fejlesztéseket az eredeti Node.js-be is igyekeznek visszaportolni. A cél tehát nem egy új szerveroldali JavaScript-platform létrehozása, hanem a Node fejlődési ütemének felgyorsítása. Versenytárs termékről szó sincs, ezt jól jelzi, hogy az IO.js-t vezető fejlesztők továbbra is tagjai a Node.js tanácsadói bizottságának (advisory board), ahogy Isaac Schlueter posztjában el is magyarázza.
Ü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 két platform különbségére az egyik legjobb példa, hogy a JavaScript kód futtatására mindkettő a Google-féle V8 motort használja. Azonban míg a Node a 3.26.33-as motort célozza, az IO.js előreszalad és a 3.31.71.4-en fut. Az eltérés jelentős, az újabb motor ugyanis az ES6 (a JavaScript következő generációja) újabb funkcióinak támogatását építi be, ezzel pedig a platform is gazdagabb képességekből válogathat. Az ES6 (ECMAScript 6) funkciói közül az IO.js már támogatja a block scope-ot, kollekciókat, generátorokat, ígéreteket (promises) és az új string metódusokat. Ha ennél is többre vágyik a fejlesztő, az es_staging paraméterrel további (kísérleti) funkciók is előhúzhatóak.
Jobb, mint az eredeti?
A Node.js egy forradalminak bizonyult kezdeményezés a szerveroldali alkalmazások fejlesztésére. A szabad szoftveres platform gyorsan nagyon népszerűvé vált, nagyon jó futtatókörnyezetet biztosít ugyanis a skálázódó szerveroldali alkalmazások számára. A gyors növekedésre számító induló cégek, startupok ezért előszeretettel választják a Node-ot például a mobilos alkalmazásokat kiszolgáló backendek fejlesztéséhez. A cloud-szolgáltatók mindegyikénél platformként is elérhető a Node.js, ami szintén nagyot lökött a környezet népszerűségén.
Azt érdemes megjegyezni, hogy az 1.x verzió nem jelenti azt, hogy az IO.js "készen" lenne, a kiadást továbbra is "unstable" (nem stabil) jelzővel illetik a készítők, magyarán éles bevetésre egyelőre nem alkalmas, fejlesztői platformként, kísérletezésre azonban már igen. Rövidtávú cél ugyanakkor, hogy az IO.js önmagában is stabil, használható platformmá váljon, amely a fejlett képességeket és új funkciókat hamarabb kapja meg, mint a Joyent-féle Node.js.