Мы уже видели насколько WebAssembly быстро компилируется, ускоряет js библиотеки и генерирует более компактные бинарники. У нас даже есть общее представление как наладить взаимодействие не только между сообществами Rust и JavaScript, но и с сообществами других языков. В прошлой статье мы упоминали специальный инструмент wasm-bindgen и сейчас я бы хотел остановиться на нем более подробно.
Рубрика «webassembly» - 6
От JavaScript к Rust и обратно: рассказ о wasm-bindgen
2018-04-10 в 16:06, admin, рубрики: bindings, javascript, Rust, wasm, wasm-bindgen, webassembly, Разработка веб-сайтовСкриптуем на WebAssembly, или WebAssembly без Web
2017-12-08 в 16:47, admin, рубрики: binaryen, C, c++, Rust, webassembly, Анализ и проектирование систем, больше кода на хабре, Компиляторы, скрипты
Представлять WebAssembly не нужно — поддержка уже есть в современных браузерах. Но технология годится не только для них.
WebAssembly — кроссплатформенный байткод. Значит, этот байткод можно запустить на любой платформе, где есть его виртуальная машина. И для этого вовсе не нужен браузер и Javascript-движок.
Далее — проверка концепции на прочность, инструментарий и первый скриптовый модуль.
Сайты-майнеры научились прятать браузер на компьютерах пользователей
2017-11-30 в 14:56, admin, рубрики: Cryptonight, Monero, webassembly, windows, информационная безопасность, Криптовалюты, майнинг, СофтВсё бóльшую популярность у злоумышленников получает партнёрская программа Coinhive по майнингу криптовалюты в браузерах пользователей (и другие JS-майнеры). Ничего не подозревающие юзеры заходят на сайт — и не обращают внимания, что у них резко возрастает нагрузка на CPU (Coinhive майнит Monero на алгоритме CryptoNight, который создаёт большой блок в памяти и предотвращает внутренний параллелизм, поэтому майнинг исключает использование ASIC и наиболее эффективен именно на CPU).
Злоумышленники продолжают взламывать сайты и размещать скрипты для майнинга. То же самое продолжается с расширениями для браузеров. Недавно они внедрили майнер CryptoLoot даже в скрипт CookieScript.info, который помогает другим сайтам показывать предупреждение об использование кукисов по требованию Евросоюза — это самый популярный бесплатный сервис такого рода, его используют тысячи других сайтов, иначе им грозит штраф от Евросоюза до $500 000.
На деятельность злоумышленников можно было смотреть с усмешкой: ну сколько они там сгенерируют за две минуты, которые пользователь проводит на сайте? Эфемерная природа майнинга в браузере оставалась главным недостатком такого рода зловредов. Но специалисты Malwarebytes Labs отмечают, что владельцы «майнинг-ботнетов», к сожалению, сумели устранить этот недостаток. Теперь майнинг на компьютерах пользователей продолжается и после того, как они покинули заражённый сайт. И даже после закрытия браузера.
Читать полностью »
Как работает JS: особенности и сфера применения WebAssembly
2017-11-30 в 11:21, admin, рубрики: javascript, webassembly, Блог компании RUVDS.com, разработка, Разработка веб-сайтовСегодня мы представляем вам шестую часть серии материалов, которые посвящены особенностям работы всего того, что связано с JavaScript. Здесь мы поговорим о WebAssembly. А именно, детально проанализируем эту технологию, рассмотрим особенности её работы, а так же то, как она соотносится с обычным JavaScript в плане производительности. Речь пойдёт о времени загрузки кода, о скорости выполнения программ, о сборке мусора, об использовании памяти, о доступе к API платформы, об отладке, о многопоточности и о переносимости WebAssembly-кода. Эта технология, хотя и находится сейчас в самом начале своего развития, уже начала менять взгляды на разработку веб-приложений. Если разработчику нужна высочайшая производительность браузерного кода, ему просто необходимо познакомиться с WebAssembly.
Знакомство с WebAssembly
2017-11-12 в 17:43, admin, рубрики: c++, javascript, webassembly, Разработка веб-сайтов
Эта статья основана на моём выступлении на ITSubbotnik, прошедшем в Рязани 14 октября 2017 года. На русском пока что довольно мало материала на эту тему, надеюсь что статья будет вам полезна.
Disclaimer: Автор не является экспертом ни в WebAssembly, ни в JavaScript. Данная статья есть компиляция мыслей и идей, полученных из выступлений других людей на данную тему, плюс эпизодического опыта изучения WebAssembly в течение нескольких месяцев.
Раскрываем тему WebAssembly с Бренданом Айком
2017-04-11 в 21:07, admin, рубрики: Asm.js, Brendan Eich, Firefox, IT-стандарты, javascript, webassembly, Компиляторы(Прим. перев.: технологии asm.js и WebAssembly ещё не вышли в практическую плоскость, о них регулярно идут сдержанные сигналы с самых верхов Олимпа разработки веб-технологий (Mozilla, Microsoft, Google), но многие об их состоянии знают мало. Значит, самое время — узнать о них сейчас.
Представлено интервью Брендана Айка, сделанного 31 марта 2017 года Оно — на 1.5 часа, но 2-я половина — про проект Brave, не относится к компиляторам JS, поэтому опущена), создателя Javascript и журналистов из SE Daily (у них убедительно поясняется, почему полезно слушать такие подкасты — на сайте есть много интересного). Мы сами знаем, что рассказов о сложных идеях на уровне «слушания в автобусе» — очень мало. Текст — понятный, конечно, для программистов. Интервьюировал Caleb Meredith (CM), а редактор сайта Jeff Meyerson (JM) в основном, рекламу вставлял (её перевод опущен).
Читать полностью »
Пробуем делать web-frontend на Rust (WebAssembly)
2017-03-28 в 8:12, admin, рубрики: chrome, Firefox, javascript, Rust, wasm, webassembly, Клиентская оптимизация, Разработка веб-сайтовНедавно вышла новость про то, что webassembly теперь включен в firefox 52 из коробки. А потом еще и chrome 57 подтянулся (правда, там вроде бы были какие-то баги с запуском). Я решил, что обязательно надо попробовать.
Для тех, кто не знает, что такое webassembly краткая информация: webassembly (или wasm) — это низкоуровневый язык, который понимают браузеры, и в который можно будет скомпилировать программы, написанные на популярных языках. Это гораздо более выгодно по скорости парсинга и выполнения, чем компилировать эти языки в чистый javascript или какой-нибудь asm.js.
Wasm задумывался в основном для c/c++, но, на удивление, уже все готово, чтобы скомпилировать программу на rust. Давайте сделаем небольшое приложение и посмотрим, что получится. Все это будем компилировать на Ubuntu. Без теоретических деталей, просто "пощупаем".
Краткая история JavaScript. Часть 3
2017-03-27 в 5:29, admin, рубрики: ECMAScript, javascript, web-разработка, webassembly, Блог компании Лайв Тайпинг, браузеры, Разработка веб-сайтов, стандартизацияТретья и заключительная часть перевода статьи из блога сервиса Auth0 A Brief History of JavaScript. Ключевые моменты: транспайлеры и ECMAScript 2015, немного о новом процессе подготовки обновлений, чего ждать в будущем и как на него повлияют Asm.js и WebAssembly. Перевод подготовлен отделом фронтенд-разработки компании Лайв Тайпинг.
Краткая история JavaScript. Часть 1
Краткая история JavaScript. Часть 2
Вышел Firefox 52 c поддержкой WebAssembly
2017-03-08 в 19:41, admin, рубрики: Asm.js, javascript, Native Client API, wasm, webassembly, ассемблер, браузеры, веб-платформа, игры, Программирование, метки: веб-платформа
3D-рендеринг демки Zen Garden в браузере Firefox 52 c поддержкой WebAssembly
Mozilla выпустила Firefox 52, последнюю версию браузера с поддержкой операционной системы Windows XP. Сделан ряд важных изменений: упрощено подключение к хотспотам, где нужно сначала залогиниться в браузере, появились предупреждения об опасности, если страница запрашивает пароль по небезопасносму соединению (не HTTPS), исчезла поддержка плагинов NPAPI (кроме Flash, а в билде ESR останется полная поддержка), закрыто 28 уязвимостей.
Но ничто это не сравнится с главным и фундаментальным нововведением — поддержкой низкоуровневого языка программирования WebAssembly (wasm) типа ассемблера, который называют одной из самых значительных инноваций веб-платформы за последнее десятилетие. Это то, чего не хватало JavaScript.
Читать полностью »
WebAssembly – путь к новым горизонтам производительности
2017-01-18 в 9:59, admin, рубрики: javascript, webassembly, Блог компании RUVDS.com, Веб-разработка, Разработка веб-сайтовЕсли вы – из тех программистов, которые в новогоднюю ночь пообещали себе писать более быстрый код, сегодня у вас есть шанс это обещание выполнить. Мы поговорим о том, как ускорить работу веб-решений с использованием технологии WebAssembly (сокращённо её называют wasm). Технология это очень молодая, сейчас – пора её становления, однако, она вполне может оказать серьёзное влияние на будущее разработки для интернета.
Здесь я расскажу о том, как создавать модули WebAssembly, как с ними работать, как вызывать их из клиентского кода в браузере так, будто это модули, написанные на JS. Мы рассмотрим два набора реализаций алгоритма поиска чисел Фибоначчи. Один из них представлен обычными JavaScript-функциями, второй – написан на C и преобразован в модуль WebAssembly. Это позволит сравнить производительность wasm и JS при решении схожих задач.
Читать полностью »