The OpenNET Project / Index page

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

15.03.2016 21:58  В Firefox, Chromium и Edge добавлена экспериментальная поддержка WebAssembly

Объявлено о начале тестирования в ночных сборках Firefox, в Chromium/Chrome Canary и в Microsoft Edge технологии WebAssembly (WASM), предоставляющей не зависящий от браузера универсальный низкоуровневый промежуточный код для выполнения в браузере приложений, скомпилированных из различных языков программирования. Для демонстрации производительности WebAssembly, в сравнении с Asm.js, подготовлен специальный вариант игры Angry Bots на базе движка Unity.

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

До повсеместного внедрения WebAssembly остаётся стабилизировать бинарный формат, стандартизировать кодирование текстур, подготовить финальный инструментарий с компилятором и отладчиком, стабилизировать JavaScript API для доступа к объектам WASM. В будущем возможности WebAssembly планируется расширить поддержкой многопоточности, динамического связывания, сборки мусора и полноценной интеграции с DOM. В настоящее время для включения WebAssembly в Firefox Nightly в about:config необходимо установить переменную javascript.options.wasm, а в Chrome (начиная с Canary 51.0.2677.0) включить опцию "chrome://flags#enable-webassembly".

Для формирования WebAssembly можно использовать компилятор Binaryen, созданный на основе наработок Emscripten. В состав Binaryen входит интерактивная оболочка для выполнения модулей на WebAssembly, компилятор asm.js в WebAssembly, декомпилятор WebAssembly в asm.js, LLVM-бэкенд для компиляции произвольного кода в WebAssembly и wasm.js, порт Binaryen на JavaScript.

  1. Главная ссылка к новости (https://hacks.mozilla.org/2016...)
  2. OpenNews: В JavaScript-движок V8 добавлена поддержка WebAssembly
  3. OpenNews: В Firefox 45 появится WebExtensions, совместимый с Chrome интерфейс разработки дополнений
  4. OpenNews: Анонсирован WebAssembly, обеспечивающий запуск скомпилированного кода в браузерах
Лицензия: CC-BY
Тип: К сведению
Ключевые слова: webassembly
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Линейный вид | Ajax | Показать все | RSS
 
  • 1.1, Аноним, 22:06, 15/03/2016 [ответить] [смотреть все]
  • +/
    Uh-oh WebAssembly isn t enabled in this browser To get an early preview of thi... весь текст скрыт [показать]
     
     
  • 2.3, Аноним, 22:18, 15/03/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • +29 +/
    Молодец какой, научился копировать и вставлять!
     
     
  • 3.24, Аноним, 02:09, 16/03/2016 [^] [ответить] [смотреть все]  
  • +7 +/
    Молодец какой, научился копировать и вставлять!
     
     
  • 4.35, Анонн, 09:05, 16/03/2016 [^] [ответить] [смотреть все]  
  • –9 +/
    Молодец какой, научился копировать и вставлять
     
     
  • 5.41, Аноним, 10:47, 16/03/2016 [^] [ответить] [смотреть все]  
  • +17 +/
    А тебе ещё нужно подучиться, чтоб знаки препинания не терять.
     
  • 5.51, Аноним, 14:43, 16/03/2016 [^] [ответить] [смотреть все]  
  • +/
    Молодец какой, научился копировать и вставлять!
     
  • 4.40, Аноним, 10:36, 16/03/2016 [^] [ответить] [смотреть все]  
  • +/
    Молодец какой, научился копировать и вставлять!
     
     
  • 5.68, Баян, 23:10, 17/03/2016 [^] [ответить] [смотреть все]  
  • +2 +/
    Молодец какой, научился знаки препинания не терять!
     
     
  • 6.74, Ан, 13:31, 20/03/2016 [^] [ответить] [смотреть все]  
  • +/
    езать умею. Я ещё выр
     
  • 1.2, Аноним, 22:15, 15/03/2016 [ответить] [смотреть все]  
  • +5 +/
    Мало того что сейчас всё больше сайтов состоят из нечитаемого JS, который в посл... весь текст скрыт [показать]
     
     
  • 2.4, Andrey, 22:21, 15/03/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • +9 +/
    Это всё не про opennet.ru
     
     
  • 3.70, уупс, 15:00, 18/03/2016 [^] [ответить] [смотреть все]  
  • +/
    Это такая стратегия отвлечения ресурсов конкурирующих групп на ненужные технолог... весь текст скрыт [показать]
     
  • 2.5, Anonim, 22:35, 15/03/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • +9 +/
    Есть функционал, а есть исходники. И это разные вещи. Доступность исходников - вопрос нравов людей.
    А вот технически - код должен быть как можно более быстрым. И тут бинарь выигрывает у текста JS
     
     
  • 3.12, Аноним, 23:21, 15/03/2016 [^] [ответить] [смотреть все]  
  • +6 +/
    Я не вижу особого смысла в веб приложениях. К примеру меня например целиком бы утраивала возможность скачать видео одной программой, а смотреть другой. Документы редактиовать в нативном редакторе. А так получается куча слоёв, где чем больше, тем медленнее.
     
     
  • 4.20, Crazy Alex, 00:31, 16/03/2016 [^] [ответить] [смотреть все]  
  • +2 +/
    Ну да. Но по отношению к JS WebAssembly ситуацию не ухудшает совершенно.
     
  • 4.23, dev, 01:51, 16/03/2016 [^] [ответить] [смотреть все]  
  • +1 +/
    >Я не вижу особого смысла в веб приложениях.

    Кроссплатформенность?

     
     
  • 5.37, Аноним, 09:53, 16/03/2016 [^] [ответить] [смотреть все]  
  • +1 +/
    У разработчиков нативных приложений морока с кроссплатформенностью, у веб-разраб... весь текст скрыт [показать]
     
  • 5.44, Аноним, 11:59, 16/03/2016 [^] [ответить] [смотреть все]  
  • +3 +/
    Ответ неправильный Один поддерживаемый браузер строго последней версии и ещё дв... весь текст скрыт [показать]
     
  • 4.32, Илья, 06:13, 16/03/2016 [^] [ответить] [смотреть все]  
  • +2 +/
    >Я не вижу особого смысла в веб приложениях.

    продавать подписку в облаках

     
  • 3.31, Илья, 06:12, 16/03/2016 [^] [ответить] [смотреть все]  
  • +/
    > бинарь

    универсальный низкоуровневый промежуточный код

     
  • 3.33, цупцпцуп, 07:04, 16/03/2016 [^] [ответить] [смотреть все]  
  • +/
    и как в этом бинаре рекламу резать?
     
     
  • 4.34, Аноним, 07:16, 16/03/2016 [^] [ответить] [смотреть все]  
  • +/
    как резали в разметке - так и режьте с другой стороны, как резать рекламу в за... весь текст скрыт [показать]
     
  • 4.56, Аноним, 16:51, 16/03/2016 [^] [ответить] [смотреть все]  
  • –1 +/
    Ну вот так Всегда можно придумать новый способ показа рекламы, который не берут... весь текст скрыт [показать]
     
  • 2.9, Crazy Alex, 22:56, 15/03/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • +2 +/
    Оно декомпилируется до текстового представления открытым общедоступным софтом Р... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.38, Аноним, 10:11, 16/03/2016 [^] [ответить] [смотреть все]  
  • +/
    Не только над кодом, но и, в некотором смысле, данными нативное приложение можн... весь текст скрыт [показать]
     
     
  • 4.63, Ano, 18:03, 16/03/2016 [^] [ответить] [смотреть все]  
  • +/
    А ваше нативное приложение где находится Если у разработчиков сервиса, то чем ... весь текст скрыт [показать]
     
     
  • 5.66, Crazy Alex, 20:32, 17/03/2016 [^] [ответить] [смотреть все]  
  • +/
    Есть такое понятие - экосистема Вот веб-приложение поставить себе, да ещё так... весь текст скрыт [показать]
     
  • 2.36, Аноним, 09:11, 16/03/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • –1 +/
    Здравсвтуй, новый дивный мир!
     
  • 2.73, Ан, 13:29, 20/03/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    ещё веб сервер установи
     
  • 1.6, Аноним, 22:40, 15/03/2016 [ответить] [смотреть все]  
  • +2 +/
    Они изобрели JVM?
     
     
  • 2.10, Crazy Alex, 22:56, 15/03/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    И близко не оно. Для понимания - сравнивай наборы опкодов.
     
  • 2.14, anonymous, 23:24, 15/03/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Весь javascript - это с самого начала попытка изобрести JVM, проходящая под лозу... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.18, Crazy Alex, 00:23, 16/03/2016 [^] [ответить] [смотреть все]  
  • –1 +/
    Оно к джаваскрипту имеет примерно такое отношение, как Си - к Питону WebAssembl... весь текст скрыт [показать]
     
     
  • 4.26, h31, 02:51, 16/03/2016 [^] [ответить] [смотреть все]  
  • –1 +/
    Эм, что Java-байткод - это почти ассемблер, только для абстрактной виртуальной... весь текст скрыт [показать]
     
     
  • 5.28, Crazy Alex, 03:32, 16/03/2016 [^] [ответить] [смотреть все]  
  • +2 +/
    Java-байткод оперирует объектами, ссылками, массивами и прочим высоким уровнем ... весь текст скрыт [показать]
     
     
  • 6.30, Аноним, 05:30, 16/03/2016 [^] [ответить] [смотреть все]  
  • –2 +/
    Ок, у JVM и WebAssembly разные процессоры , и Что из этого следует кроме того,... весь текст скрыт [показать]
     
     
  • 7.39, Аноно, 10:12, 16/03/2016 [^] [ответить] [смотреть все]  
  • +3 +/
    Следует то, что кроме переполнения там реализуется ещё и очистка неиспользуемой ... весь текст скрыт [показать]
     
  • 7.49, Crazy Alex, 14:36, 16/03/2016 [^] [ответить] [смотреть все]  
  • +1 +/
    Следует то, что у WebAssembly более низкий уровень абстракций, о чём я и говорил... весь текст скрыт [показать]
     
  • 2.47, None, 13:41, 16/03/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    они изобрели НЕОТКЛЮЧАЕМЫЙ JVM, флэш и всё прочее в одном флаконе При том, что ... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.57, Аноним, 16:54, 16/03/2016 [^] [ответить] [смотреть все]  
  • +/
    Почему же неотключаемый Ставишь uMatrix какой-нибудь Если даже не умеет - скор... весь текст скрыт [показать]
     
  • 1.7, Аноним, 22:40, 15/03/2016 [ответить] [смотреть все]  
  • +2 +/
    Вы этим бинарником моделировать что-то собрались Нет Ах, да, Вы решили купить ... весь текст скрыт [показать]
     
  • 1.8, EuPhobos, 22:47, 15/03/2016 [ответить] [смотреть все]  
  • +2 +/
    Гугол хром завис, крикнул пару раз, что скрипт на странице жрёт и жрёт и его надо прибить, что и было сделано, но asmjs в режиме fallback заработал.
    В файрфоксе всё заработало, и WebAssembly и asmjs, первый раз вижу встраиваемый Unity3D под линуксами:
    https://youtu.be/QdG3-XrJjBo
     
     
  • 2.17, Dragonic, 23:56, 15/03/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Это вариант на WebGL, без плагина, которого без костылей не было под линукс... весь текст скрыт [показать] [показать ветку]
     
  • 1.11, Семен, 23:17, 15/03/2016 [ответить] [смотреть все]  
  • –2 +/
    Это же суперкруто. Скоро не будет программулин под Винду и/или Линукс.
    Конец всем спорам.

    Хотя... А можно браузер под браузером в браузере запустить?)

     
     
  • 2.13, Аноним, 23:23, 15/03/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • +2 +/
    А так же супермедленно.
     
     
  • 3.19, Crazy Alex, 00:30, 16/03/2016 [^] [ответить] [смотреть все]  
  • +5 +/
    Чего ради Оно стаически типизированное и отлично компилируется в машинный код ... весь текст скрыт [показать]
     
  • 3.27, Аноним, 02:57, 16/03/2016 [^] [ответить] [смотреть все]  
  • +1 +/
    Не факт что сильно медленнее кода на java или net исполняемого тоже виртуальной... весь текст скрыт [показать]
     
     
  • 4.29, Crazy Alex, 03:35, 16/03/2016 [^] [ответить] [смотреть все]  
  • +1 +/
    Быстрее - там, по факту, и виртуальной машины-то нет толком, просто промежуточно... весь текст скрыт [показать]
     
     
  • 5.58, ОШИБКА Отсутствуют данные в поле Name, 16:56, 16/03/2016 [^] [ответить] [смотреть все]  
  • +/
    Теперь еще нормальный комплект компиляторов и сокеты, хотя-бы после подтверждени... весь текст скрыт [показать]
     
  • 2.15, анонко, 23:29, 15/03/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    ну так запустили же вынь95 в браузере ... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.22, Нимано, 01:16, 16/03/2016 [^] [ответить] [смотреть все]  
  • +/
    Опоздали http bellard org jslinux http bellard org jslinux news html ... весь текст скрыт [показать]
     
     
  • 4.59, Аноним, 17:00, 16/03/2016 [^] [ответить] [смотреть все]  
  • –1 +/
    Очень тормозной, у меня на ARM малохольном линукс быстрее грузится чем это на ог... весь текст скрыт [показать]
     
  • 2.16, rshadow, 23:51, 15/03/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • –1 +/
    Так их и сейчас нету. Вопрос только в используемых тулкитах и либах.
     
     
  • 3.21, pavlinux, 00:31, 16/03/2016 [^] [ответить] [смотреть все]  
  • +/
    Как запустить SolidWorks AutoCAD под Linux ... весь текст скрыт [показать]
     
     
  • 4.60, Аноним, 17:05, 16/03/2016 [^] [ответить] [смотреть все]  
  • +/
    Установить вайн и запускаешь А чтобы нарисовать деталь в DXF, которую потом выр... весь текст скрыт [показать]
     
  • 1.43, Асушник, 11:39, 16/03/2016 [ответить] [смотреть все]  
  • +/
    > Среди основных задач WebAssembly выделяется обеспечение переносимости между браузерами,

    Вообще-то подобные проблемы решаются стандартизацией, а не еще одной технологией, "которая-то уж точно будет всеми реализована 100% соответственно спекам, без своих дополнений и особенностей". Так бы сразу и сказали, что просто с веб-бинарей тяжелее будет рекламу вырезать ))

     
     
  • 2.46, Никто, 13:36, 16/03/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Тут нет противоречия Ведь не сказано, что технология разрабатывается только для... весь текст скрыт [показать] [показать ветку]
     
  • 2.50, Crazy Alex, 14:41, 16/03/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Один хрен реклама вырезается либо на этапе загрузки из сети либо из DOM, в этом ... весь текст скрыт [показать] [показать ветку]
     
  • 1.45, Аноним, 13:26, 16/03/2016 [ответить] [смотреть все]  
  • +/
    Textual encoding will be standardized before stable release это про кодировку ... весь текст скрыт [показать]
     
  • 1.48, Аноним, 14:01, 16/03/2016 [ответить] [смотреть все]  
  • +/
    Не терпится воткнуть вычисление факториала на Haskell.
     
  • 1.52, Онаним, 15:31, 16/03/2016 [ответить] [смотреть все]  
  • +1 +/
    Думаю скоро JavaScript перестанет быть "родным языком браузера", будет куча равноправных языков, компилируемых в этот WASM или что-то аналогичное.
     
  • 1.53, anonchik, 15:49, 16/03/2016 [ответить] [смотреть все]  
  • –1 +/
    наконец-то можно будет выкинуть это недоразумение (javascript) и писать на нормальном c++ для браузера
     
     
  • 2.54, Аноним, 16:27, 16/03/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • –1 +/
    Тогда уязвимостей связанных с управлением памятью станет ещё больше.
     
     
  • 3.61, Аноним, 17:09, 16/03/2016 [^] [ответить] [смотреть все]  
  • +/
    Если код в VM хочет сам себя хакнуть - он и с JS это может, document write же ес... весь текст скрыт [показать]
     
  • 2.55, dimykus, 16:36, 16/03/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    но зачем?
     
     
  • 3.62, Аноним, 17:10, 16/03/2016 [^] [ответить] [смотреть все]  
  • +/
    Затем что JS хорош только для совсем мелких проектов А захочешь например игру н... весь текст скрыт [показать]
     
  • 3.64, anonchik, 18:29, 16/03/2016 [^] [ответить] [смотреть все]  
  • –1 +/
    в настоящее время, плюсы — единственный адекватный язык программирования
     
     
  • 4.65, _, 12:45, 17/03/2016 [^] [ответить] [смотреть все]  
  • +1 +/
    Думаю уже нет. Появились более удобные языки Rust, D, Swift.

    по поводу WASM: у RUST очень хорошие шансы стать самым подходящим для этой задачи:
    на нём будет новый файрфокс(Servo), Luke Wagner, один из соавторов формата, разработчик mozilla Research


     
     
  • 5.67, Аноним, 22:10, 17/03/2016 [^] [ответить] [смотреть все]  
  • –1 +/
    И где на них всех хоть 1 крупный проект, размером с современный 3D движок какой-... весь текст скрыт [показать]
     
  • 5.71, Аноним, 23:15, 18/03/2016 [^] [ответить] [смотреть все]  
  • –1 +/
    > более удобные языки Rust, D, Swift

    Nim рвёт их все.

     
     
  • 6.72, Led, 23:52, 18/03/2016 [^] [ответить] [смотреть все]  
  • +/
    > Nim рвёт их все.

    И от чего ж его так рвёт?

     
  • 1.69, Аноним, 11:55, 18/03/2016 [ответить] [смотреть все]  
  • +/
    Ура! Многопоточность на клиенте )))
     
  • 1.75, loskiq, 19:47, 24/03/2016 [ответить] [смотреть все]  
  • +/
    Пойду, предложу разработчикам Ruby WASM
     

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


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