Является ли этот JavaScript последним шагом к мировому господству? Webkit — это мощный промышленный движок для рендеринга HTML — и угадайте, что же такое webkit.js, только это программа на JavaScript. Так кому нужен браузер?
Хорошо, я признаю, что webkit.js на самом деле не является «промышленной силой» на данный момент, но это еще один пример того, что вы можете делать, если мыслите нестандартно. Метод прост — возьмите текущий код WebKit и пропустите его через компилятор Emscripten C ++ / C в JavaScript, а остальное — заставить его работать. В этом случае «остальное» — это довольно большая работа.
В настоящее время многое не работает, и код является скорее доказательством концепции, чем чем-либо практическим. Однако он может отображать некоторые теги на поверхности WebGL в Chrome.
На данный момент это работа одного программиста, Тревора Линтона, поэтому, если вы чувствуете, что проблема, посетите сайт GitHub, чтобы узнать, что вы можете сделать. Цели проекта:
Создайте средство визуализации на чистом JavaScript, которое поддерживает отображение в контекстах WebGL / Canvas.
Разработайте фреймворки для захвата изображений / веб-страниц и автоматического веб-тестирования (аналогично PhantomJS).
Разработайте платформу для создания прототипов фильтров CSS, элементов и атрибутов HTML.
Экспериментальная оснастка для повышения производительности рендеринга на чистом javascript.
Разработайте браузер на основе javascript в nodejs (просто для удовольствия)
Обратите внимание на конечную цель — браузер JavaScript, работающий под node.js. Да, теоретически вы могли бы обойтись без «браузера», на 100% состоящего из JavaScript. Не было бы механизма рендеринга HTML, только движка JavaScript, а все остальное было бы кодом JavaScript.
Есть ли в этом какие-то преимущества?
Наиболее очевидным является то, что JavaScript очень легко взаимодействует с JavaScript, поэтому, возможно, исчезнет разрыв между кодом, составляющим браузер, и кодом на веб-странице.
Частично это относится к механизму компоновки Firefox Gecko, где HTML-подобная разметка, XUL, предоставляет пользовательский интерфейс, то есть хром, а XPCOM разрешает доступ JavaScript. Но движок рендеринга на чистом JavaScript может обеспечить другой уровень взаимодействия «хром-клиент».
Когда вы думаете об этом, механизм создания макетов JavaScript HTML имеет большой смысл.