The OpenNET Project / Index page

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

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

15.03.2016 21:58

Объявлено о начале тестирования в ночных сборках 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
Тип: К сведению
Короткая ссылка: https://opennet.ru/44051-webassembly
Ключевые слова: webassembly
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение (73) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (-), 22:06, 15/03/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Uh-oh! WebAssembly isn't enabled in this browser. To get an early preview of this experimental technology, at your own risk:

        on Chrome Canary, open chrome://flags/#enable-webassembly and enable the switch.
        on Firefox Nightly, open about:config and set javascript.options.wasm to true.

    See a preview of Microsoft Edge support and follow Safari support on WebKit's feature status page.

     
     
  • 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, который в последствии добавляет элементы на страницу, хотя можно было бы без особых проблем вставлять в виде html сразу, так они теперь внедряют новый формат, в котором чтение человеком исходников затрудняется ещё сильнее.
     
     
  • 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 (ok), 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 +/
    > Кроссплатформенность?

    Ответ неправильный. Один поддерживаемый браузер строго последней версии и ещё два в режиме "работает и ладно" (и всё это максимум на 3 ОС и на 1 аппаратной платформе) это не кроссплатформенность.

    Правильный ответ - отсутствие необходимости устанавливать софт и отсутствие необходимости иметь админские права на своём компе для запуска софта. При терпимом уровне производительности.

     
  • 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 (ok), 22:56, 15/03/2016 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Оно декомпилируется до текстового представления открытым общедоступным софтом. Результат - менее страшен, чем asm.js, так как костылей вроде |0 и подобного нет.

    Но, конечно, суть любого веб-приложения - отобрать у пользователя/администратора контроль над кодом.

     
     
  • 3.38, Аноним (-), 10:11, 16/03/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > суть любого веб-приложения - отобрать у пользователя/администратора контроль над кодом

    Не только над кодом, но и, в некотором смысле, данными: нативное приложение можно изолировать от внешнего мира, бекапить что надо и когда надо, самостоятельно распоряжаясь своими данными; с веб-приложениями такое невозможно просто по определению, там всё держится исключительно на доверии к разработчикам/владельцам сервиса, которые могут втихаря делать всё, что им заблагорассудится.

     
     
  • 4.63, Ano (?), 18:03, 16/03/2016 [^] [^^] [^^^] [ответить]  
  • +/
    >> суть любого веб-приложения - отобрать у пользователя/администратора контроль над кодом
    > Не только над кодом, но и, в некотором смысле, данными: нативное приложение
    > можно изолировать от внешнего мира, бекапить что надо и когда надо,
    > самостоятельно распоряжаясь своими данными; с веб-приложениями такое невозможно просто
    > по определению, там всё держится исключительно на доверии к разработчикам/владельцам сервиса,
    > которые могут втихаря делать всё, что им заблагорассудится.

    А ваше нативное приложение где находится ? Если у разработчиков сервиса, то чем "распоряжаюсь данными" отличается от веб ? Если приложение у вас, то и веб-приложение поставьте себе и не парьтесь. Если не хотите ставить, то зачем сравнивать приложения, когда надо сравнивать среду выполнения+хранения

     
     
  • 5.66, Crazy Alex (ok), 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 (ok), 22:56, 15/03/2016 [^] [^^] [^^^] [ответить]  
  • +/
    И близко не оно. Для понимания - сравнивай наборы опкодов.
     
  • 2.14, anonymous (??), 23:24, 15/03/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Весь javascript - это с самого начала попытка изобрести JVM, проходящая под лозунгом "главное, что не джава", при том что задачи джавы всё больше пытаются решать на js. Хотя могли для скриптов взять common lisp или схемку, как это сделал GNU проект (guile), и не изобретать велосипед.

    А вебасембли - это ещё один шаг к jvm. Народ заметил, что в яваскрипт умеют компилироваться сотни языков программирования, а значит парсить сгенерированный компилятором яваскрипт - лишняя работу, пусть лучше компилятор предоставляет сразу AST.

     
     
  • 3.18, Crazy Alex (ok), 00:23, 16/03/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Оно к джаваскрипту имеет примерно такое отношение, как Си - к Питону. WebAssembly - гораздо более никоуровневая штука, чем JVM. Тем и хорошо. Ну и тем, что, в отличие от JVM, по пять лет не надо  новых фич ждать.
     
     
  • 4.26, h31 (ok), 02:51, 16/03/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > WebAssembly - гораздо более никоуровневая штука, чем JVM.

    Эм, что?
    Java-байткод - это почти ассемблер, только для абстрактной (виртуальной) машины.
    WebAssembly - это просто готовое AST в бинарном виде. По сути те же исходники, только уже распарсенные и немного обработанные.
    Грубо говоря, сравнивая с изображениями. Исходный код - это PostScript. WebAssembly - это PDF. Java-байткод - PNG. Ассемблер реальной машины - BMP.

     
     
  • 5.28, Crazy Alex (ok), 03:32, 16/03/2016 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Java-байткод оперирует объектами, ссылками, массивами и прочим высоким уровнем. вот практически первые попавшиеся из описания instruction set:

    aaload - Load reference from array
    aconst_null - Push the null object reference onto the operand stack.
    anewarray - Create new array of reference
    arraylength - Get length of array


    Для сравнения - опкоды WebAssembly:

    I32Store8 - записать int32 32 бита по 32-битному адресу
    I32StoreOff8 - записать i32 значение по i32 адресу с i32 смещением
    и так далее - их там куса похожих.

    Там существующие на уровне опкодов сущности - инты, флоаты, смещения по адресу в куче - то есть куда более низкоуровневые штуки. Собственно, поэтому в WebAssembly без особого труда ложится Си и поэтому там можно, например, реализовать какое угодно управление памятью.

     
     
  • 6.30, Аноним (-), 05:30, 16/03/2016 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Ок, у JVM и WebAssembly разные "процессоры", и? Что из этого следует кроме того, что в WebAssembly проще реализовать переполнение буфера?
     
     
  • 7.39, Аноно (?), 10:12, 16/03/2016 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Следует то, что кроме переполнения там реализуется ещё и очистка неиспользуемой памяти без глючных сборщиков мусора и оптимизация кода вручную, что как показывает практика C/C++ ускоряет программы в разы. Часто - в десятки раз.
     
  • 7.49, Crazy Alex (ok), 14:36, 16/03/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Следует то, что у WebAssembly более низкий уровень абстракций, о чём я и говорил с самого начала. Ну и всё, что из этого следует - любые модели управления памятью, отсутствие необходимости привязываться  к джавовским методам (в частности - можно иметь свободные функции) и так далее. Что означает, что туда проще портировать разнообразные языки и среды.
     
  • 2.47, None (??), 13:41, 16/03/2016 [^] [^^] [^^^] [ответить]  
  • +/
    они изобрели НЕОТКЛЮЧАЕМЫЙ JVM, флэш и всё прочее в одном флаконе.
    При том, что уже сейчас без NoScript ходить по страничкам невозможно.
     
     
  • 3.57, Аноним (-), 16:54, 16/03/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > они изобрели НЕОТКЛЮЧАЕМЫЙ JVM, флэш и всё прочее в одном флаконе.

    Почему же неотключаемый? Ставишь uMatrix какой-нибудь. Если даже не умеет - скоро научится.

    > При том, что уже сейчас без NoScript ходить по страничкам невозможно.

    Если ты разрешаешь выполнение кода - то уж разрешаешь. JS - тюринг полный, он может то же что и WASM и любой другой ЯП. Только криво, медленно и с огромным потреблением памяти.

     

  • 1.7, Аноним (-), 22:40, 15/03/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Вы этим бинарником моделировать что-то собрались? Нет? Ах, да, Вы решили купить и поиграть в игрушку, которую ленивые разработчики поленились собрать в нормальный бинарник под вашу платформу... Но это уже никого, кроме покупателя не касается.
     
  • 1.8, EuPhobos (ok), 22:47, 15/03/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Гугол хром завис, крикнул пару раз, что скрипт на странице жрёт и жрёт и его надо прибить, что и было сделано, но asmjs в режиме fallback заработал.
    В файрфоксе всё заработало, и WebAssembly и asmjs, первый раз вижу встраиваемый Unity3D под линуксами:
    https://youtu.be/QdG3-XrJjBo
     
     
  • 2.17, Dragonic (ok), 23:56, 15/03/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > первый раз вижу встраиваемый Unity3D под линуксами

    Это вариант на WebGL, без плагина, которого без костылей не было под линукс

     

  • 1.11, Семен (??), 23:17, 15/03/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Это же суперкруто. Скоро не будет программулин под Винду и/или Линукс.
    Конец всем спорам.

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

     
     
  • 2.13, Аноним (-), 23:23, 15/03/2016 [^] [^^] [^^^] [ответить]  
  • +2 +/
    А так же супермедленно.
     
     
  • 3.19, Crazy Alex (ok), 00:30, 16/03/2016 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Чего ради? Оно стаически типизированное и отлично компилируется в машинный код. Его проблемы (или преимущества - для кого как) связаны исключительно с отсутствием контроля пользователя над кодом, как и с JS. В остальном - вполне рабочий подход.
     
  • 3.27, Аноним (-), 02:57, 16/03/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Не факт что сильно медленнее кода на java или .net исполняемого тоже виртуальной машиной, и скорее всего быстрее обычного жс, пайтона и прочих скриптовых языков.
     
     
  • 4.29, Crazy Alex (ok), 03:35, 16/03/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Быстрее - там, по факту, и виртуальной машины-то нет толком, просто промежуточное представление для AOT-компилятора. По идее, скорость должна быть на уровне NaCl - то есть практически натив.
     
     
  • 5.58, ОШИБКА Отсутствуют данные в поле Name (?), 16:56, 16/03/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > - то есть практически натив.

    Теперь еще нормальный комплект компиляторов и сокеты, хотя-бы после подтверждения пользователем. Вот тогда будет огого.

     
  • 2.15, анонко (?), 23:29, 15/03/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > Хотя... А можно браузер под браузером в браузере запустить?)

    ну так запустили же вынь95 в браузере


     
     
  • 3.22, Нимано (?), 01:16, 16/03/2016 [^] [^^] [^^^] [ответить]  
  • +/
    >> Хотя... А можно браузер под браузером в браузере запустить?)
    > ну так запустили же вынь95 в браузере

    Опоздали )
    http://bellard.org/jslinux/
    http://bellard.org/jslinux/news.html
    > May 20, 2011:
    > added support for more browsers including Opera 11.11 and Internet Explorer 9
    > reduced VM RAM size from 32 MB to 16 MB

     
     
  • 4.59, Аноним (-), 17:00, 16/03/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Очень тормозной, у меня на ARM малохольном линукс быстрее грузится чем это на огроменном восьмиядернике. А ASM.js еще и файрфокс подразумевает. Не портабельно.
     
  • 2.16, rshadow (ok), 23:51, 15/03/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Так их и сейчас нету. Вопрос только в используемых тулкитах и либах.
     
     
  • 3.21, pavlinux (ok), 00:31, 16/03/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > Так их и сейчас нету. Вопрос только в используемых тулкитах и либах.

    Как запустить SolidWorks/AutoCAD под Linux?

     
     
  • 4.60, Аноним (-), 17:05, 16/03/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > Как запустить SolidWorks/AutoCAD под Linux?

    Установить вайн и запускаешь. А чтобы нарисовать деталь в DXF, которую потом вырежет лазерный резак хватит и какого-нибудь librecad'а.

     

  • 1.43, Асушник (?), 11:39, 16/03/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > Среди основных задач WebAssembly выделяется обеспечение переносимости между браузерами,

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

     
     
  • 2.46, Никто (??), 13:36, 16/03/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Тут нет противоречия. Ведь не сказано, что технология разрабатывается только для этого, а является лишь одной из основных задач.
     
  • 2.50, Crazy Alex (ok), 14:41, 16/03/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Один хрен реклама вырезается либо на этапе загрузки из сети либо из DOM, в этом плане ничего не меняется.

    Шансы на совместимость неплохие - потому что сама эта штуковина гораздо проще, чем 9/10 современных браузерных технологий. Различия, скорее всего, будут на уровне "инструкции процессора Intel vs инструкции AMD".

    А стандартизацией, как показывает практика, в вебе мало что решается.

     

  • 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 же есть, может поменять все что захочет в контексте документа, включая замену кода. А расхакать за пределами VM не позволит VM. Иначе зачем вообще VM нужна? Можно было просто качать и компилировать.

     
  • 2.55, dimykus (?), 16:36, 16/03/2016 [^] [^^] [^^^] [ответить]  
  • +/
    но зачем?
     
     
  • 3.62, Аноним (-), 17:10, 16/03/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > но зачем?

    Затем что JS хорош только для совсем мелких проектов. А захочешь например игру написать - от 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 +/
    > Думаю уже нет. Появились более удобные языки Rust, D, Swift.

    И где на них всех хоть 1 крупный проект, размером с современный 3D движок какой-нибудь игры? Почему-то игроделы дружно используют плюсы.

     
  • 5.71, Аноним (-), 23:15, 18/03/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > более удобные языки Rust, D, Swift

    Nim рвёт их все.

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

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

     

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

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



    Спонсоры:
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

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