+88 голосов |
JavaScript становится нашим всем. С веб-приложениями все уже понятно, но HTML5/CSS/JS постепенно начинает играть все более заметную роль и как платформа для традиционного ПО. Примеры - webOS или Metro из Windows 8. А раз так, то возникает закономерный вопрос: насколько серьезные и сложные задачи можно решать на этом языке, который изначально задумывался чуть ли не как игрушка?
Есть, конечно, всякие тесты, где используется и криптография, и обработка сигналов, но они, понятное дело, оторваны от реальности. Даже для казуальных веб-игр разработчики в массе все еще предпочитают Flash, который потом сами же и ругают. Но вот в Mozilla решили замахнуться на... H.264. Что, вообще говоря, странновато, т.к. официально Mozilla не поддерживает данный стандарт. Тем не менее, Майкл Бебенита и Алон Закай получили задание создать соответствующий декодер именно средствами JS.
Правда, сразу изобретать велосипед они не стали - взяли за основу открытые исходные коды из проекта Android (на С), слегка упростили и перекомпилировали с помощью Emscripten в JS. Так получился проект Broadway. Естественно, в текущем состоянии декодер совершенно не пригоден для реального использования, хотя Бебенита и сообщает о достижении 30 fps на каком-то (на самом деле это важно, на каком именно) примере. С ужасом представляю загрузку CPU на более-менее сложных роликах.
Предстоит большая работа по оптимизации Broadway, в частности, предполагается реализовать параллельную обработку и аппаратное ускорение через WebGL, что пригодится и на мобильных платформах (а у Mozilla здесь между прочим имеются кое-какие планы). Одновременно ведется работа над написанием декодера более или менее с нуля, что позволит получить более эффективный код, чем при перекомпиляции.
Но если средствами JS удастся реализовать H.264 с приемлемой производительностью, то это будет важным сигналом. Хотя в данном случае важен, конечно, не только результат, но и процесс его достижения - он поможет вскрыть текущие слабые места JS и улучшить JIT-компиляторы. А вообще разработчики не стесняются замахиваться на великое, называя своей целью "сравняться с кодом на С".
Ready, set, buy! Посібник для початківців - як придбати Copilot для Microsoft 365
+88 голосов |
Учитывая возможность использования джава классов напрямую, JS давным давно уже никакая не игрушка. А, фактически, стандарт де-факто для всяких встраиваемых скриптовых приложений. Абсолютно безотносительно к браузерам и WEB.
Мелко копают. С вот этого нужно начинать:
http://bellard.org/jslinux/