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-2017 by Maxim Chirkov  
    ДобавитьРекламаВебмастеруГИД  
    Hosting by Ihor TopList