Торік поняття «позабраузерний JavaScript» найчастіше означало движок Node.js (а не, припустимо, Rhino або SpiderMonkey, що сильно поступаються йому в популярності в цій області) або який-небудь підсумок його вбудовування (наприклад, node-webkit).
У нинішньому році в гру вступають форки Node (наприклад, io.js), і їх також починають вбудовувати - наприклад, проект node-webkit перейменувався в nw.js, тому що тепер він використовує не Node, а io.js (та й не WebKit, а Blink - з тих давніх пір, як Chromium перейшов на цей движок).
Для програмістів це означає, зокрема, що може відвалитися (або, навпаки, з'явитися) підтримка тієї чи іншої операційної системи. Давайте поговоримо про це.
Які операційні системи перестають підтримуватися?
По-перше, перші версії io.js не можна було встановити на Windows XP, не можна було встановити і на Windows 2003. Ще в середині січня здавалося, що з цим нічого не можна вдіяти: пояснення «io.js компілюється в Visual Studio 2013 Windows Desktop Edition, тому що движок V8 став покладатися на можливості C + 11» сприймалося як вирок - проте потім розробники поправили справу, так що у файлі CHANGELOG.md гілки v1.x можна прочитати, що підтримка цих версій системи Windows повернулася в io.js, починаючи від версії.
Подібно колам по воді, ці зміни пройшли по всій екосистемі движків; наприклад, в nw.js версії 0.12.0-alpha3 на підтримку ще можна сподіватися (хоча особисто я ще не встиг поганяти цю версію на Windows XP), а в попередніх альфа-версіях її точно немає (тому що вони засновані на більш ранніх версіях io.js).
По-друге, KaneUA 19 лютого згадав, що io.js не підтримує тридцятидвухбітні версії OS X, на відміну від Node.
Підтримка яких операційних систем може з'явитися?
По-перше, розробляється система Node OS (NodeOS, node-os) на ядрі Linux з використанням npm в ролі менеджера пакетів і з використанням движка Node в якості основного рантайму.
По-друге, група розробників Nubisa більше року займається створенням движку JXcore - крос-платформенного і багатопоточного аналога Node, забезпеченого вбудованою підтримкою SQLite (на основі модуля node-sqlite3 компанії Mapbox, до якого руки доклали більше дюжини розробників). На сторінці завантаження JXcore можна з незадоволенням прочитати про відмову від підтримки Windows XP і Windows 2003 (подібну відмову ви бачили вище на прикладі ранніх версій io.js). У його README-файлі (а також і в FAQ на сайті jxcore.io, що відрізняється від jxcore.com) неважко дізнатися про прагнення розробників підтримувати SpiderMonkey (а не тільки V8) як засіб виконання скриптів. Найбільш же багатообіцяючим є повідомлення про намір випустити аналог движку Node для популярних мобільних операційних систем - для Android і для iOS.
Якщо цей намір виповниться, то я передбачаю сильні зміни в можливостях засобів віботехнологічного підходу до розробки крос-платформенного софту для мобільників. Раніше у движка Apache Cordova і у різних обгорток навколо нього (Adobe PhoneGap, наприклад) єдиною виконавчою крос-платформною частиною був браузер мобільного пристрою (і трохи менше восьмисот плагінів, більш-менш крос-платформенних), а тепер до нього раптом додасться Node-подібний движок і більше сотні тисяч готових npm-пакетів, що на ньому працюватимуть. Вибухове зростання можливостей.