The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги ]

18.06.2015 10:49  Анонсирован WebAssembly, обеспечивающий запуск скомпилированного кода в браузерах

Бренден Айк (Brendan Eich), создатель языка JavaScript, представил проект WebAssembly, совместно развиваемый ведущими производителями браузеров под эгидой организации W3C. В рамках проекта планируется подготовить унифицированный низкоуровневый промежуточный код для выполнения в браузере приложений, скомпилированных из различных языков программирования, фокусируясь на начальном этапе в основном на языках С и С++, но не ограничиваясь ими.

По своим задачам WebAssembly во многом напоминает PNaCl (Portable Native Client) и Asm.js. Основное отличие от Asm.js состоит в том, что WebAssembly является бинарным форматом, не завязанным на исходных текстах JavaScript и позволяющим выполнять в браузере низкоуровневый промежуточный код. При этом, в отличие от PNaCl промежуточный код не является машинным кодом и не изолирован в отдельной виртуальной машине, а выполняется с похожим на JavaScript уровнем изоляции и реализован на уровне штатных движков JavaScript (по сути предлагается технология компиляции JavaScript-приложений, с возможностью доступа к объектам JavaScript, DOM и Web API).

Для генерации кода WebAssembly планируется подготовить специальный бэкенд к clang/LLVM, который сможет быть использован в том числе для генерации кода уже существующими проектами, такими как Emscripten и PNaCl. Т.е. вместо генерации JavaScript и собственного байткода, Emscripten и PNaCl смогут генерировать универсальный код WebAssembly. В настоящее время для экспериментов предлагаются рабочие прототипы кодировщика и декодировщика. Для изучения кода WebAssembly и отладки предусмотрена возможность преобразования промежуточного бинарного кода в наглядное текстовое представление.

Среди основных задач WebAssembly выделяется обеспечение переносимости между браузерами, предсказуемость поведения и идентичности выполнения кода на разных платформах. Использование WebAssembly также позволит существенно сократить размер приложений, благодаря компактному промежуточному коду, и увеличить скорость декодирования. В частности, текущий прототип WebAssembly демонстрирует в 20 раз более высокую скорость декодирования промежуточного кода по сравнению с JavaScript и генерирует на 45% более компактное представление кода по сравнению с минимизированным кодом Asm.js, сжатым при помощи gzip.

По мере развития проекта, его планируется расширить поддержкой таких возможностей, как динамическое связывание, полное управление памятью (mmap, shared memory), низкоуровневый доступ к структурам сборщика мусора, JIT-компиляция, многопроцессный режим выполнения, SIMD API, асинхронные сигналы, расширенные целочисленные операции и т.п.

WebAssembly позиционируется как совместный проект, развиваемый всеми ведущими производителями браузеров. В основную команду, которая будет развивать WebAssembly, вошли разработчики PNaCl и движка V8 из Google, представители Microsoft и Mozilla, а также разработчики Emscripten и WebKit. Внедрение WebAssembly даст возможность воплотить в жизнь создание новых продуктов, работающих в браузере, в том числе высокопроизводительных игр, систем редактирования видео/звука/изображений, P2P-систем, САПР, средств разработки и коммуникации, в том числе упоминается возможность запуска локального web-сервера в браузере и эффективная упаковка web-фреймворков.

  1. Главная ссылка к новости (https://brendaneich.com/2015/0...)
  2. OpenNews: Релиз Firefox 22 с поддержкой Asm.js
  3. OpenNews: В Firefox 22 появится Asm.js, низкоуровневое высокопроизводительное подмножество JavaScript
  4. OpenNews: Для Firefox представлен API для задействования в web-приложениях инструкций SIMD
  5. OpenNews: Представлен Portable Native Client для запуска платформонезависимых C/C++ программ в браузере
  6. OpenNews: Выпуск web-браузера Chrome 31 с реализацией технологии Portable Native Client
Лицензия: CC-BY
Тип: Интересно / К сведению
Ключевые слова: webassembly
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Линейный вид | Ajax | Показать все | RSS
 
  • 1.1, Gallardo994, 11:28, 18/06/2015 [ответить] [смотреть все]    [к модератору]
  • +9 +/
    то есть теперь устраивать ботнеты и воровать данные будет еще проще?
     
     
  • 2.2, A.Stahl, 11:35, 18/06/2015 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]
  • +3 +/
    Да вроде нет С чего бы Просто вместо текстового ЖС будет байткодный блоб Прав... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.3, bav, 11:43, 18/06/2015 [^] [ответить] [смотреть все]     [к модератору]  
  • +5 +/
    динамическое связывание, полное управление памятью mmap, shared memory , низкоу... весь текст скрыт [показать]
     
     
  • 4.8, Alexey, 11:47, 18/06/2015 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Ну это все-таки еще мечталки В текущем виде это больше похоже на упакованный и ... весь текст скрыт [показать]
     
  • 4.9, A.Stahl, 11:50, 18/06/2015 [^] [ответить] [смотреть все]     [к модератору]  
  • +1 +/
    Ну вот и будет эта программа возиться с такими же привилегиями как и яваскрипт и... весь текст скрыт [показать]
     
     
  • 5.24, 1, 14:17, 18/06/2015 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    биткойны чужие обсчитывать... весь текст скрыт [показать]
     
     
  • 6.25, A.Stahl, 14:37, 18/06/2015 [^] [ответить] [смотреть все]     [к модератору]  
  • +1 +/
    Но ведь ничего не мешает и сейчас это делать Хоть биткойны считай, хоть поведен... весь текст скрыт [показать]
     
  • 5.43, bav, 23:29, 18/06/2015 [^] [ответить] [смотреть все]     [к модератору]  
  • +2 +/
    Прямой доступ к памяти несколько выходит за эти рамки ... весь текст скрыт [показать]
     
  • 2.42, vn971, 23:27, 18/06/2015 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • –1 +/
    заодно ещё больше усложним написание назависимых браузеров в ныне существующ... весь текст скрыт [показать] [показать ветку]
     
     ....нить скрыта, показать (8)

  • 1.4, Школьник, 11:44, 18/06/2015 [ответить] [смотреть все]    [к модератору]  
  • +26 +/
    >в том числе упоминается возможность запуска локального web-сервера в браузере

    Ну ладно веб-сервер, а нормальный браузер-то внутри браузера можно будет запустить? Такого, чтобы памяти много не жрал?

     
  • 1.5, Аноним, 11:44, 18/06/2015 [ответить] [смотреть все]    [к модератору]  
  • –1 +/
    Классная задумка, однако. Лишь бы реализация не подкачала.
     
     
  • 2.31, Аноним, 16:04, 18/06/2015 [^] [ответить] [смотреть все] [показать ветку]    [к модератору]  
  • –1 +/
    То, чем не стал X11.
     
     
  • 3.57, Алоним, 18:16, 01/07/2015 [^] [ответить] [смотреть все]    [к модератору]  
  • +/
    Это реинкарнация Flash.
     
  • 2.45, Анончег, 01:20, 19/06/2015 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • +4 +/
    Срочно шлите Айку телеграмму Такие браузеры уже есть ТЧК Они называются операци... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.47, анон, 06:25, 19/06/2015 [^] [ответить] [смотреть все]    [к модератору]  
  • +/
    >Такие браузеры уже есть ТЧК

    ActiveX

     
     
  • 4.51, Анончег, 01:46, 20/06/2015 [^] [ответить] [смотреть все]    [к модератору]  
  • +/
    > ActiveX

    Да, второе пришествие.


     
  • 1.10, омномномнимус, 12:00, 18/06/2015 [ответить] [смотреть все]    [к модератору]  
  • +6 +/
    когда-то я был искренне рад, что некоторые десктопные задачи переносятся в браузер. Но сейчас меня пугает это стремление все перенести в браузер.
     
  • 1.11, Аноним, 12:03, 18/06/2015 [ответить] [смотреть все]    [к модератору]  
  • +7 +/
    еще activx не додох до конца...
     
  • 1.12, none7, 12:04, 18/06/2015 [ответить] [смотреть все]    [к модератору]  
  • +6 +/
    Новость конечно хорошая, но как бы разработчики не начали по старой памяти тянуть различные фреймворки вроде Qt или .NET. Сколько будет весить средний сайт 50Мб? Или 100Мб?
     
     
  • 2.19, Crazy Alex, 13:10, 18/06/2015 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • +1 +/
    Если у них хватит мозгов сделать библиотеки с манифестами и кросс-сайтное кэшир... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.22, none7, 14:07, 18/06/2015 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Даже если это добавят в стандарт, мало кто этим будет пользоваться Вроде именно... весь текст скрыт [показать]
     
     
  • 4.27, Crazy Alex, 14:58, 18/06/2015 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Ну так понятно, что версию а то и контрольную сумму надо фиксировать И при вы... весь текст скрыт [показать]
     
  • 2.37, Аноним, 18:08, 18/06/2015 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • +2 +/
    Так Qt уже можно тянуть используя Emscripten http vps2 etotheipiplusone com 3... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.38, none7, 18:58, 18/06/2015 [^] [ответить] [смотреть все]     [к модератору]  
  • +1 +/
    Я ведь боюсь не за игры, а за типичные хомпаги, блоги и т д Если на Qt с кучей ... весь текст скрыт [показать]
     
     
  • 4.50, Crazy Alex, 23:37, 19/06/2015 [^] [ответить] [смотреть все]    [к модератору]  
  • +/
    ну не будет посетителей у такого дебила, делов-то
     
  • 1.13, anonymous, 12:06, 18/06/2015 [ответить] [смотреть все]    [к модератору]  
  • +1 +/
    это они своеобразный Джавовский байт-код для браузеров изобретают?
     
     
  • 2.14, none7, 12:13, 18/06/2015 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • +4 +/
    У Java свободного управления памятью нет, это больше похоже на IL-код, но с изол... весь текст скрыт [показать] [показать ветку]
     
  • 2.15, Anonymus, 12:25, 18/06/2015 [^] [ответить] [смотреть все] [показать ветку]    [к модератору]  
  • +/
    Нет, это они REBOL изобретают.
     
  • 1.16, Аноним, 12:48, 18/06/2015 [ответить] [смотреть все]    [к модератору]  
  • +/
    Надеюсь это будет отключаемо, иначе придется юзать старые браузеры
     
  • 1.17, правдоруб, 13:04, 18/06/2015 [ответить] [смотреть все]    [к модератору]  
  • +/
    Весь JavaScript - это такая же дыра в безопасности, как и автозапуск с CD/флэшек.
     
  • 1.18, Crazy Alex, 13:08, 18/06/2015 [ответить] [смотреть все]    [к модератору]  
  • +/
    Непонятно, что будет с PNaCl. Он, во-первых, быстр а во-вторых не ограничен, как браузер - к примеру, pthreads  в нём доступны.
     
  • 1.20, Crazy Alex, 13:17, 18/06/2015 [ответить] [смотреть все]    [к модератору]  
  • +2 +/
    Впрочем, уход от JS в любом случае будет прорывом.
     
     
  • 2.26, jOKer, 14:45, 18/06/2015 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • +3 +/
    Crazy, это, ИМХО, уход не в ту сторону Сейчас дело обстоит так, что любой скри... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.28, Crazy Alex, 15:05, 18/06/2015 [^] [ответить] [смотреть все]     [к модератору]  
  • +2 +/
    Либо ты, либо я что-то не так прочёл То, что они предлагают, никак не увеличива... весь текст скрыт [показать]
     
     
  • 4.34, jOKer, 16:57, 18/06/2015 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Возможно Сейчас более углубленно прочту материалы на английском, - пока я их то... весь текст скрыт [показать]
     
  • 1.21, Аноним, 13:44, 18/06/2015 [ответить] [смотреть все]     [к модератору]  
  • +1 +/
    Понятно - это такой заговор проприетариев Типа Мы прорпиетары Сопротивлени... весь текст скрыт [показать]
     
  • 1.29, ram_scan, 15:24, 18/06/2015 [ответить] [смотреть все]    [к модератору]  
  • +4 +/
    А не проще вместо этих танцев с саблями прям из браузера сразу виртуальное гостевое окружение на аппаратной виртаулизации такой хрени давать ? И дыр меньше будет, и работать будет нормально.

    Изобрести сперва скриптовый язык сомнительной красоты, чтобы изобрести потом под него компилятор "на лету" и виртуальную машину, чтобы на этой всей херне потом накодить через одно место эмулятор таргет платформы на которой это вся эта матрешка ощемта нативно крутится. При наличии нативных же средств изоляции на нативной платформе это жыр ващще.

     
     
  • 2.30, Crazy Alex, 15:38, 18/06/2015 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • +1 +/
    Учитывая, что даже NaCl не прошёл - вряд ли виртуальное гостевое окружение прока... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.32, jOKer, 16:48, 18/06/2015 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Нативный контролируемый пользователем софт плохо подходит под концепцию ПО ка... весь текст скрыт [показать]
     
     
  • 4.35, Crazy Alex, 17:01, 18/06/2015 [^] [ответить] [смотреть все]     [к модератору]  
  • +1 +/
    Ну да, сошлись интересы - одни не хотят урпавлять и разбираться, другие хотят им... весь текст скрыт [показать]
     
  • 4.40, Kodir, 23:17, 18/06/2015 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    неа Это ХОТЯТ чтобы так было, но реально-то кто код пишет МЫ Не захотим - и... весь текст скрыт [показать]
     
     
  • 5.41, Crazy Alex, 23:24, 18/06/2015 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Ты же понимаешь, что так поступит очень мало людей Не то чтобы это было ужасно ... весь текст скрыт [показать]
     
  • 4.52, DFX, 04:30, 20/06/2015 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    В сфере IT должно быть иначе , потому что в сфере IT мы пока можем давать отпор... весь текст скрыт [показать]
     
     
  • 5.53, jOKer, 05:34, 20/06/2015 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Фу, ну что за детский максимализм Если подумать, то мы ведь радоваться этому до... весь текст скрыт [показать]
     
     ....нить скрыта, показать (7)

  • 1.33, lucentcode, 16:51, 18/06/2015 [ответить] [смотреть все]    [к модератору]  
  • +/
    Наконец-то кто-то додумался до правильного решения. Браузер должен уметь выполнять промежуточный код, в который можно будет компилировать код на разных ЯП(C, C++, JS, да на Lua или Python).
     
     
  • 2.36, Crazy Alex, 17:03, 18/06/2015 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • +4 +/
    Вообще-то правильным решением было бы выполнять 99 9 этого кода не в браузере, ... весь текст скрыт [показать] [показать ветку]
     
  • 1.39, Kodir, 23:11, 18/06/2015 [ответить] [смотреть все]    [к модератору]  
  • +5 +/
    Такое ощущение, что когда изобретают очередной велосипед, его создатели будто прилетают с марса. Java? Bytecode? MSIL? Не, не слышал!
    Фактически, нам В ТРЕТИЙ раз пытаются навязать какие-то плюхи, исполняемые из браузера. Вопрос: зачем?? Браузер - это программа просмотра гипертекста! Такая же равноправная, как калькулятор и косынка. Почему никто не встраивает JS в калькулятор? Или просматривает Web через WinAmp? Да потому, что это бред!
    Хотите межплатформенные приложения - займитесь наконец уже стандартами! А лучше реализацией - тот же .NET давно уже можно было поддержать на всех мобилах, что в свою очередь сразу бы дало возможность запускать любые .NET приложения на любой платформе. Но нет, мы же ещё не достигли апогея идиократии! Возьмём самый бестолковый, опасный язык и залепим из него "клепатель веб приложений"! Вау. Разбудите, когда всё это дерьмо пройдёт и придумают байткод в четвёртый раз.
     
     
  • 2.58, Виктор, 10:56, 25/12/2015 [^] [ответить] [смотреть все] [показать ветку]    [к модератору]  
  • +/
    После того, как язык стал тьюринг-полным, бестолковым может быть только кодер с кривыми руками.
    Неумение - повод не кричать, а идти учится =)
     
  • 1.44, Аноним, 01:12, 19/06/2015 [ответить] [смотреть все]    [к модератору]  
  • +/
    Смысл какой?
     
  • 1.46, Мимопроходил, 06:20, 19/06/2015 [ответить] [смотреть все]    [к модератору]  
  • +/
    Хм... Я не ахти какой программист, скорее инфоархивариус, потому припомнил проект Juice 20-летней давности, который делал почти то же самое, но лучше.
    Мда... Ничто не ново.
     
  • 1.48, manster, 13:03, 19/06/2015 [ответить] [смотреть все]     [к модератору]  
  • +/
    Выступление автора было еще в апреле Хорошо бы все-таки послушать синхронный пе... весь текст скрыт [показать]
     
  • 1.49, z, 14:53, 19/06/2015 [ответить] [смотреть все]    [к модератору]  
  • +1 +/
    Я наверное чего-то не понимаю... Но разве такой штуки уже нет? Которая называлась бы Java?
     
     
  • 2.54, manster, 20:48, 20/06/2015 [^] [ответить] [смотреть все] [показать ветку]    [к модератору]  
  • –1 +/
    Это Java для Javascript ;)
     
  • 1.55, Аноним, 09:04, 21/06/2015 [ответить] [смотреть все]    [к модератору]  
  • +/
    это фича чтоб адблочеров забородить, и тянуть деньгу, че тут не понятного
     
  • 1.56, Amerigo, 07:41, 27/06/2015 [ответить] [смотреть все]    [к модератору]  
  • +/
    Ещё очередная попытка взять компы хомяков под удалённый контроль. Еще один велосипед под видом новшества, где будут опробоваться новые варианты, которые диктует новое время.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:


      Закладки на сайте
      Проследить за страницей
    Created 1996-2018 by Maxim Chirkov  
    ДобавитьПоддержатьВебмастеруГИД  
    Hosting by Ihor