The OpenNET Project / Index page

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

Для GCC представлен бэкенд c реализацией WebAssembly

05.03.2017 09:36

Для развиваемого проектом GNU инструментария (binutils, gcc, glibc) подготовлен рабочий прототип бэкенда с поддержкой новой архитектуры - WebAssembly. Бэкенд позволяет использовать GCC для компиляции исходных текстов на языках C/C++ в промежуточный код WebAssembly для последующего выполнения в web-браузере или JavaScript Shell. В binutils добавлена поддержка генерации модулей в формате объектных файлов WebAssembly и упаковки/обработки блоков WebAssembly в исполняемых файлах в формате ELF.

Реализована поддержка трёх целевых платформ: asmjs (JavaScript с расширениями Asm.js), wasm32 (WebAssembly с 32-разрядной целочисленной арифметикой) и wasm64 (WebAssembly с 64-разрядной арифметикой с плавающей запятой). На начальной стадии разработки бэкенда были использованы некоторые наработки проекта Emscripten (компилятор биткода LLVM в JavaScript), но в текущем виде бэкенд не привязан к Emscripten, и все заимствованные из него компоненты заменены на штатные возможности GCC и glibc. В частности, компиляция осуществляется с использованием штатного фронтэнда GCC, предоставляющего все имеющиеся оптимизации, а также специально подготовленного бэкенда, транслирующего внутренний байткод GCC в промежуточный код WebAssembly.

Утилита "GNU as" может применяться для создания объектного файла в формате ELF, в который при необходимости можно поместить отладочную информацию в формате DWARF. Компоновщик "GNU ld" может быть использован для связывания объектных файлов в исполняемый ELF-файл, который при помощи утилиты wasmify-wasm32 может быть преобразован в формат модуля WebAssembly, пригодного для загрузки в браузере.

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

  1. Главная ссылка к новости (https://sourceware.org/ml/binu...)
  2. OpenNews: Технология WebAssembly признана готовой для включения в браузерах по умолчанию
  3. OpenNews: Chrome, Firefox и Edge перешли на новый этап тестирования технологии WebAssembly
  4. OpenNews: В Firefox, Chromium и Edge добавлена экспериментальная поддержка WebAssembly
  5. OpenNews: Анонсирован WebAssembly, обеспечивающий запуск скомпилированного кода в браузерах
  6. OpenNews: Основанные на GCC проекты JIT-компилятора и расширения, использующего GPU для вычислений
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/46136-gcc
Ключевые слова: gcc, webassembly
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (77) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, mma (?), 09:47, 05/03/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +36 +/
    WASM звучит ностальгически)
     
  • 1.2, Sabakwaka (ok), 09:49, 05/03/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    В Хроме-то WebAssembly от Asm.js по скорости отстаёт.
     
     
  • 2.24, Crazy Alex (ok), 14:49, 05/03/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Насколько? И как насчёт скорости загрузки?
     
     
  • 3.58, Sabakwaka (ok), 21:15, 05/03/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Субъективно — весь геймплей медленнее процентов на 30-40.

    Зайдите в демки WebAssembly и попробуйте самостоятельно.

    Может мне OpneCL не хватает или еще какие особенности системы.

     

  • 1.3, Аноним (-), 10:22, 05/03/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Поясните, теперь есть возможность собрать QML приложение?
     
     
  • 2.5, Аноним (-), 11:05, 05/03/2017 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Она и раньше была, Qt и QML уже работают в связке с Emscripten, другое дело, что если вы ожидаете, что QML будет работать "нативно", то это не так, для этого надо отдельно проделать массу работы.
     
     
  • 3.13, Аноним (-), 11:48, 05/03/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Интересно средствами GCC, а не Emscripten.
     
  • 3.72, Аноним (-), 09:44, 06/03/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Именно, ожидаю нативной работы, уж очень ненавистен мне html, поскорее бы...
     
     
  • 4.81, Аноним (-), 14:34, 06/03/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Взгляните на Qt for Native Client https://www.opennet.dev/opennews/art.shtml?num=43039
    Ну и Wt (https://www.webtoolkit.eu/wt/ru/) уже давно работает.
     

  • 1.4, Аноним (-), 10:59, 05/03/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А в сокеты и треды оно умеет?
     
     
  • 2.9, Джо (?), 11:37, 05/03/2017 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Сокеты - нет (только то API что доступно JavaScript), поддержка тредов для javascript уже есть в некоторых бразуерах, но по умолчанию отключена (смотреть дополнительно можно отсюда и по ссылкам https://kripken.github.io/emscripten-site/docs/porting/pthreads.html)
     
  • 2.11, Аноним (-), 11:43, 05/03/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Если оно умеет в сокеты, тогда придётся браузер держать в отдельной зафайерволенной виртуалке, чтоб ничего кроме 80 и 443 не позволялось.
     
     
  • 3.18, Аноним (-), 12:31, 05/03/2017 [^] [^^] [^^^] [ответить]  
  • +3 +/
    При чём тут сокеты? Сокет это просто программная абстракция.

    К.О.

     
     
  • 4.27, Аноним (-), 15:27, 05/03/2017 [^] [^^] [^^^] [ответить]  
  • –4 +/
    webgl тоже программная абстракция, к вопросу "оно умеет webgl" ты тоже придерешься?
     
     
  • 5.33, Crazy Alex (??), 16:38, 05/03/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    WebGL - это интферфейс вполне себе к железу, если ты не знал
     
  • 5.89, Аноним (-), 09:12, 12/03/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Оно вполне может не уметь webgl. Это же для c++ интерфейс.
     
  • 4.46, Аноним (-), 18:08, 05/03/2017 [^] [^^] [^^^] [ответить]  
  • +/
    мб он про WebSockets на которые с http0.9/1.0/1.1/2.0 все никак не мигрируют пользователи и дизайнеры веб-а ? (отчасти из TCP-like первого, возможно и латентности в целом завышенной. да и масштабируемости пока неидеальной для multicore/manycore в 70% реализаций)
     
     
  • 5.75, Аноним (-), 11:12, 06/03/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Я имел ввиду BSD Socket. Т.е. загрузится вместе со страничкой какая-нибудь хрень, откроет на прослушивание обычный сокет и будет ждать команд от управляющего сервера.
     
     
  • 6.83, Crazy Alex (??), 14:42, 06/03/2017 [^] [^^] [^^^] [ответить]  
  • +3 +/
    то, что сейчас она может это делать поллингом или (последние лет семь) через вебсокеты - вас устраивает? Или в чём разница, не пойму
     
  • 3.41, Аноним (-), 17:45, 05/03/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Если оно умеет в сокеты,

    Ты не поверишь, что умеют современные ОСи^W браузеры.


     
  • 2.49, Аноним (-), 18:24, 05/03/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > А в сокеты и треды оно умеет?

    Web сокеты и Web треды :-)

     
     
  • 3.90, Аноним (-), 14:41, 12/03/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Компилируя Web компилятором по Web браузер,
    а пользоваться можно только Web пользоватлям
     
  • 2.71, Аноним (-), 09:36, 06/03/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    это и javascript умеет.
     

  • 1.6, Аноним (-), 11:22, 05/03/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    После добавления DOM API и других в WASM можно будет, допустим, переписать React и другие классные либы на C++ и потом также делать import этих либ в JS-коде?
     
     
  • 2.8, Аноним (-), 11:32, 05/03/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Здравая мысль.
     
  • 2.12, Аноним (-), 11:46, 05/03/2017 [^] [^^] [^^^] [ответить]  
  • +12 +/
    А зачем тогда вообще JS, если можно всё на C++ ?
     
     
  • 3.15, Джо (?), 11:56, 05/03/2017 [^] [^^] [^^^] [ответить]  
  • +26 +/
    Будут тогда беспорядки во многих городах из-за восстаний безработных JavaScript разработчиков.
     
  • 3.16, Аноним (-), 11:59, 05/03/2017 [^] [^^] [^^^] [ответить]  
  • +4 +/
    А зачем вообще другие языки, если всё можно на си++?
     
     
  • 4.26, Аноним (-), 15:25, 05/03/2017 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Да бездельники напридумывали языков, вместо того чтобы работать
     
     
  • 5.91, Аноним (-), 14:43, 12/03/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > Да бездельники напридумывали языков, вместо того чтобы работать

    Ну да лучше что бы они на JavaScript понаписали уйму сайтов продажи часов

     
  • 4.73, Аноним (-), 09:50, 06/03/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Прокрастинация. Когда человек делает всё, что угодно, лишь бы не писать на с++, даже разрабатывает новый язык.
     
  • 3.21, IB (?), 13:14, 05/03/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    На Хаскеле же
     
  • 3.34, Crazy Alex (??), 16:40, 05/03/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Потому что писать на плюсах вместо JS - это дорого и долго для "простых вебстраничек". Для сложного софта - наоборот.
     
     
  • 4.47, Аноним (-), 18:13, 05/03/2017 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > Потому что писать на плюсах вместо JS - это дорого и долго
    > для "простых вебстраничек". Для сложного софта - наоборот.

    это "дорого" только в плане первичных вложений, особенно стоимость Найма/Поиска сепциалиста реально Способного написать оное в формате расширения веб-сервера+udf/t-squl и подобных(те связка расширения веб-морды с логикой веб-приложения бегающего внутри SQL-сервера(или распределенной БД) а не на веб-серваке, "как обычно".).
    в долгосрочной - очень себя окупает. и по деньгам и по деньгам за счет большей масштабируемости и секьюрности и надежности.
    плюс если не наравится C++ можно все это собирать на Любых ОП, поддерживающих сборку оных модулей под веб-морду/сервер (ДБ сервак Сам компилит свое, обычно).


     
     
  • 5.59, Аноним (-), 21:16, 05/03/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    То есть вы правда считаете, что умеете считать деньги лучше всех этих корпораций, делающие свои продукты на питонах/рельсах/пхп/nodejs, а не на с++?
     
     
  • 6.64, НяшМяш (ok), 22:04, 05/03/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Корпорации поэтому и делают деньги, потому что на разработку тратят три копейки, а продают за три рубля. В отличие от продвинутого Васи++, который разрабатывает за 2 рубля, а продаёт за 2.5, чтобы хоть как-то покупали.

    ЗЫ. В опросе CPP vs JS отдам голос за CPP - хоть и мало довелось писать на + и относительно много на JS.

     
     
  • 7.92, Аноним (-), 14:50, 12/03/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > Корпорации поэтому и делают деньги, потому что на разработку тратят три копейки,
    > а продают за три рубля. В отличие от продвинутого Васи++, который
    > разрабатывает за 2 рубля, а продаёт за 2.5, чтобы хоть как-то
    > покупали.

    А что Вам не нрвиться в этих языках. Воспринимайте их как расширение для C++. Просто какой-то фреймворк на подобии apr только с поддержкой конфигов определенного синтаксиса. Я вот всегда так думаю когда пишу на языках отичных от си.

     
  • 5.67, Crazy Alex (ok), 00:41, 06/03/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Я даже представить не могу, в каких случаях такая стрёмная архитектура может себя окупить. Осмысленный вариант делается ровно наоборот - пачка слабо связанных модулей, в каждом из которых вообще пофигу на чём написаны и где находятся все остальные, густо пересыпанная кэшами. А ты предлагаешь зачем-то даже MVC отменить и ляпать монолит.
     
  • 5.69, Илья (??), 03:54, 06/03/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ваша идея кошмарна.
     
  • 4.68, Наркоман (?), 02:22, 06/03/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >писать на плюсах вместо JS - это дорого и долго

    пральна, надо на питоне!

     
     
  • 5.93, Аноним (-), 14:51, 12/03/2017 [^] [^^] [^^^] [ответить]  
  • +/
    >>писать на плюсах вместо JS - это дорого и долго
    > пральна, надо на питоне!

    как там в питоне то синхронизация и гил уже разрешился

     
  • 3.65, Отражение луны (ok), 23:53, 05/03/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Потому что JS лучше CPP
     
  • 2.17, Аноним (-), 12:06, 05/03/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Да, нашёл ответ. http://webassembly.org/getting-started/js-api/
     
  • 2.77, Аноним (-), 12:14, 06/03/2017 [^] [^^] [^^^] [ответить]  
  • +/
    можно, только в этом нет никакого смысла. Бутылочное горлышко в реактах с ангулярами - не javascript, а трансформации DOM дерева
     
  • 2.82, Аноним (-), 14:38, 06/03/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Можно. Вообще, это уникальная возможность получить единый апи для любых библиотек написанных на любых языках. Только представьте: идеальная интероперабельность, никаких костыльных биндингов.
     
     
  • 3.94, Аноним (-), 14:56, 12/03/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > Можно. Вообще, это уникальная возможность получить единый апи для любых библиотек написанных
    > на любых языках. Только представьте: идеальная интероперабельность, никаких костыльных
    > биндингов.

    Как показывает опыт последних лет 20 как-то все выходит боком. Все не совместимо и простые операции вроде линий, канвасов и т.д. не работал со звуком и сокетами, но и там я так понимаю протокола одного нет.

     

  • 1.14, Аноним (-), 11:51, 05/03/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А фронтэнд для Rust в GCC будет?
     
     
  • 2.42, нонон (?), 17:49, 05/03/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    В расте уже есть таргет wasm32-unknown-emscripten
     

  • 1.20, IB (?), 13:13, 05/03/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Годнота.
    Когда уж JS отомре
     
     
  • 2.22, Аноним (-), 13:55, 05/03/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Даешь больше дыр в браузер!
     
     
  • 3.48, Аноиним (?), 18:15, 05/03/2017 [^] [^^] [^^^] [ответить]  
  • –3 +/
    > Даешь больше дыр в браузер!

    не, как раз WebAssembly - снижает эксплоитируемость "из интернета" и ощутимо.
    надо туда еще помимо JS запилить бидон и перл, как самые популярные из "перманентно уязывимых" и еще какую-нить хрень "из числа модных"(лисп ? руби? и прочую хрень. хаскель, эрланг, что угодно).

     
     
  • 4.79, Lain_13 (ok), 13:31, 06/03/2017 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Можно подробнее почему WASM безопаснее JS? Ну кроме того, что у него сейчас нет доступа ко многим API, к которым есть доступ у JS, и что, вроде как, собираются исправить.
     
  • 3.84, Аноним (-), 15:10, 06/03/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Из Web assembly доступны все те же апи что и js, не больше, не меньше.
     

  • 1.25, Аноним (-), 15:24, 05/03/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Так теперь emscripten не нужен, я правильно понял?
     
     
  • 2.95, Аноним (-), 14:58, 12/03/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > Так теперь emscripten не нужен, я правильно понял?

    Будет нужен как минимум еще лет 10 для всяких там майкросовтов я думаю

     

  • 1.28, Аноним (-), 16:12, 05/03/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Чё-то я не понял, а это как объяснить? Где тут промежуточный код WebAssembly?

    >The GitHub sources include support for using asm.js instead of wasm

     
     
  • 2.35, Crazy Alex (??), 16:43, 05/03/2017 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Это вообще сбоку. Перевод - "мы умеем генерировать не только wasm, но и asm.js"
     
     
  • 3.36, Аноним (-), 17:02, 05/03/2017 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Правильный перевод - "Исходники на gihub включают поддержку использования asm.js ВМЕСТО wasm". В новости же говориться, что - "Бэкенд позволяет использовать GCC для компиляции исходных текстов на языках C/C++ в промежуточный код WebAssembly".

    Может кому-то всё же стоит выучить английский?

     
     
  • 4.37, Crazy Alex (??), 17:09, 05/03/2017 [^] [^^] [^^^] [ответить]  
  • +2 +/
    А голову включить? Речь о том, что можно (используя asmjs-virtual-asmjs-gcc) генерировать asm.js вместо wasm. А можно - взяв wasm32-virtual-wasm32-gcc - генерировать собственно wasm.
     
     
  • 5.38, Аноним (-), 17:12, 05/03/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Здесь телепатов нет, написано чётко и ясно, что это бекэнд только для asm.js.

    Точно так же, как ты я мог утверждать, что это бекэнд для генерации webGL или для web sockets. Ну, а чё это же любому понятно хоть нигде и не написано.

     
     
  • 6.55, Аноним (-), 19:29, 05/03/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Здесь телепатов нет, написано чётко и ясно, что это бекэнд только для
    > asm.js.
    > написано чётко и ясно
    >> The GitHub sources include support for using asm.js instead of was

    Четко и ясно тут только, что включена поддержка использования asm.js вместо wasm.

     
  • 6.62, Ordu (ok), 21:24, 05/03/2017 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Если ты не можешь в телепатию, то читай тексты целиком, а не случайно выдранные оттуда фразы.
     
  • 4.43, Аноним (-), 17:52, 05/03/2017 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >>The GitHub sources include support for using asm.js instead of wasm, and some rudimentary support for simulating a 64-bit machine using wasm.
    > Правильный перевод - "Исходники на gihub включают поддержку использования asm.js ВМЕСТО
    > wasm". В новости же говориться, что - "Бэкенд позволяет использовать GCC
    > для компиляции исходных текстов на языках C/C++ в промежуточный код WebAssembly".

    Рукалицо.

    > Может кому-то всё же стоит выучить английский?

    Разрешаю приступать.


     
     
  • 5.45, Аноним (-), 18:03, 05/03/2017 [^] [^^] [^^^] [ответить]  
  • –4 +/
    >and some rudimentary support for simulating a 64-bit machine using wasm

    Слова rudimentary и simulating сам переведёшь или ссылку на гугол транслейт дать?
    В новости написано - "Бэкенд позволяет использовать GCC для компиляции исходных текстов на языках C/C++ в промежуточный код WebAssembly". По факту же была представлена ЗАЧАТОЧНАЯ поддержка СИМУЛЯЦИИ 64 битной машины. Ни о какой компиляции в промежуточный код в оригинале сообщения не говорится вообще.

     
     
  • 6.51, Crazy Alex (??), 18:55, 05/03/2017 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Ну ты хоть разок как-то вникни в вопрос прежде чем постить.  Или на ключевые слова только реагируешь? Там ДВА бакэнда для wasm: 32-bit и 64-bit. О чём в новости ясно написано.

    32-bit поддерживаются идущим в релиз в браузерах WebAssembly и этим компилятором. 64-bit не релизится в браузерах и недопилен в этом компиляторе.

    С гитхаба: "wasm64 support is severely outdated (and simulates 64-bit operations as 32-bit ones anyway; the wasm MVP will probably not contain 64-bit support)." Остальные пруфы гугли сам.

     

  • 1.56, Аноним (-), 19:39, 05/03/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    coreutils уже можно им собрать?
     
  • 1.57, Аноним (-), 20:43, 05/03/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Это что, теперь можно сайт написать на С/С++ и бинарником послать в браузер!? Если это так, то это просто отвратительно ...
     
     
  • 2.60, Аноним (-), 21:21, 05/03/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Это что, теперь можно сайт написать на С/С++ и бинарником послать в
    > браузер!? Если это так, то это просто отвратительно ...

    Не сильно "бинарнее", чем обфусцированный яваскрипт, в плане того, что вы сможете понять. Бинарник, да, но есессно не нативный. Декомпилироваться должен неплохо, байт-код очень высокоуровневый.

     
     
  • 3.70, Аноним (70), 04:35, 06/03/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Декомпилируется он на самом деле паршиво, впрочем как и asm.js код. Информации о размерах и типах структур нет. Но есть информация по количеству параметров функций, но это не поможет отличить int32,char*,int*. Ну и при желании можно все параметры запихнуть в стек и понять можно будет лишь наличие возвращаемого значения.
     
  • 2.66, Crazy Alex (ok), 00:35, 06/03/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Уже года три как можно в виде asm.js :-) В WebAssembly просто его косяки реализации убрали
     

  • 1.61, Michael Shigorin (ok), 21:22, 05/03/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Это вместо gcj?
     
  • 1.74, Kodir (ok), 11:04, 06/03/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    Очередной маразм а-ля java applets, только теперь "не в прямоугольничке". Поиграются, потратят силы и выкинут!
     
     
  • 2.80, Аноним (-), 14:17, 06/03/2017 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Выкинуть будет очень не просто. Обычно от стандартов отказываются, когда есть лучшая альтернатива или спрос ушел в 0. Здесь ни того, ни другого не предвидится.
     
  • 2.85, Аноним (-), 15:19, 06/03/2017 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Нет, это то, что надо было сделать с самого начала, встроить в браузеры виртуальную машину исполняющую универсальный байткод, а не фронтенд специального языка специально для web - JavaScript.
    В отличие от плагинов java и флеш, webasm использует тот же апи, что и js. Исполняется с теми же правами что и js.
     
     
  • 3.96, Аноним (-), 15:03, 12/03/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Итак, изначально мы берем одного разработчика и он фигачит и на HTML и JavaScrip... большой текст свёрнут, показать
     
     
  • 4.97, Аноним (-), 15:07, 12/03/2017 [^] [^^] [^^^] [ответить]  
  • +/
    >[оверквотинг удален]
    > т.д.
    > А теперь нужно заморочиться и создать проект туда нафигарить кода для сайта
    > еще и дизайн для сайта сделать, так как элементарно нужно будет
    > хотя бы ID как-то указывать.
    > То есть если раньше порог вхождения в сайты был простой, то теперь
    > порог вхождения стал гораздо больше, а ... а результат точно такой
    > же.
    > Почему результат такой же все просто код JavaScript все равно на стороне
    > клиента будет откомпилирован в байт код. Короче говоря толку мало а
    > возни полным полно

    Дизайн* = architecture

     

  • 1.88, Аноним (-), 18:53, 10/03/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Я не понял, мода на javascript прошла? Возвращаемся в нативному c++? Колесо сделало очередной оборот?
     

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



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

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