Firefox 47

Прежде чем пытаться заглянуть в будущее, обратим внимание на текущую стабильную 47-ю версию «огненного лиса». Она была выпущена ещё на прошлой неделе и слегка обновила механизм работы закладок в браузере.

Раньше клик по значку в виде звёздочки всегда сохранял выбранную страничку в папку «неподшитые закладки». Чтобы изменить папку пользователю постоянно приходилось ещё раз кликать по тому же значку с целью отобразить интерфейс, где можно было поменять каталог. Начиная с Firefox 47 лишнего клика делать больше не приходится, так как диалог теперь открывается сам при первом же нажатии по «звёздочке» и мгновенно исчезает, если вы, допустим, переключитесь на другой таб.

Firefox 48 Beta

В Firefox 48, который сейчас прибывает в качестве Beta-версии, Mozilla решила подкорректировать другой весьма базовый элемент интерфейса: изменён будет вид подсказок, выпадающих из адресной строки. Так они выглядят в текущей редакции браузера:

А вот их вид в Firefox 48:

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

Вдобавок интерфейс адресной строки отныне раскрывается на всю ширину окна, благодаря чему вмещает в себя гораздо больше информации:

Релиз Firefox 48 намечен на 2 августа нынешнего года. Помимо обновлённого UI подсказок в адресной строке, эта версия улучшит защиту от случайной загрузки вредоносных файлов и традиционно принесёт ряд улучшений, интересных разработчикам веб-сайтов.

Firefox ESR

ESR расшифровывается как Extended Support Release – выпуск с расширенной (по времени) поддержкой. В ESR канал попадает каждое седьмое крупное обновление Firefox. Эта инициатива стартовала в 2012 году с Firefox 10, потом перешла на Firefox 17 и так далее. Сейчас основа ESR-канала обновлений – Firefox 52.

Эти версии (10, 17, 24, 31, 38, 45, 52) получали и получают гораздо более длительную поддержку, чем остальные. К примеру, когда вышла версия Firefox 53, все пользователи обычной Firefox 52 были автоматически обновлены на неё, ну или перестали обновляться. А вот пользователи Firefox 52 ESR начали получение обновлений 52.x.

Обычные версии прекращают получение обновлений, закрывающих баги и уязвимости, почти сразу после выхода более новых. ESR-билды Firefox обслуживаются Mozilla более года. Версии, в которых долгое время ничего сильно не меняется, но при этом исправно закрываются проблемы, критически важны для корпоративных пользователей.

После выхода Firefox Quantum, что принёс новый интерфейс и несовместимость с расширениями, Firefox ESR стала интересной ещё и для всех тех, кому Quantum создал неудобства. Так как ESR в данный момент, повторимся, базируется на Firefox 52, там всё ещё интерфейс Australis. Но главное: совместимость почти со всеми XUL-расширениями (как раз те, с которыми попрощался Quantum).

См.также — Как добавить сайт в закладки Firefox

Впрочем, вечно держаться за Firefox 52 ESR-канал обновлений не будет. Обновление 52.8 выйдет в мае 2020, после чего основной версией в ESR станет 59.

Firefox 49 Developer Edition

Главным изменением в Firefox 49, который на момент написания этой статьи находится на канале обновлений Developer Edition, станет режим чтения. Эта функция – одна из тех, которые отличают Firefox от Chrome и Opera. Mozilla, очевидно, решила её подчеркнуть, добавив несколько новых особенностей.

Так выглядит интерфейс настройки режима чтения сейчас, в Firefox 47:

А вот его вариант из Firefox 49 Developer Edition:

Нетрудно заметить, что появились две новые группы настроек. Первая позволяет уменьшать или увеличивать ширину текста. Вторая группа отвечает за межстрочный интервал.

Кроме того, появилась новая кнопка, откуда можно активировать режим прочтения текста и там же настроить темп, с которым электронный голос возьмётся за поставленную задачу. В Developer Edition, впрочем, чтец воспринимает только английский:

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

В официальном расписании разработчиков выход Firefox 49 назначен на 13 сентября. Ещё эта версия принесёт пункты зацикливания и ускорения на 25% в контекстные меню HTML5-мультимедиа. Также оптимизирована производительность воспроизведения видео на девайсах без аппаратного ускорения, но с CPU, поддерживающим инструкции SSSE3.

Достоинства Mozilla Firefox

Данный браузер обладает рядом преимуществ перед существующими на данный момент конкурентами, благодаря чему он собрал внушительную пользовательскую базу.

Основные преимущества Firefox следующие:

  • Достаточно низкие требования к ресурсам системы, благодаря чему он хорошо работает на тех компьютерах, на которых другие браузеры сильно тормозят.
  • Огромное количество сторонних плагинов и расширений. По данному параметру Firefox превосходит всех своих конкурентов.
  • Хорошая защита от интернет-угроз, способных навредить другим программам на компьютере. Большинство угроз будет заблокировано ещё на стадии открытия заражённой интернет-страницы.
  • Отсутствие привязки к ненужным сервисам, чем грешат большинство других браузеров. Ненужные сервисы не будут висеть в фоне и загружать оперативную память, которой и так не всегда хватает для открытия современных сайтов.
  • Возможность синхронизации настроек браузера на разных устройствах, не зависимо от версий программы и установленной операционной системы.
  • Неактивные вкладки через некоторый промежуток времени перестают занимать место в оперативной памяти, что положительно сказывается на потреблении ресурсов компьютера.
  • Регулярный выход обновлений, добавляющих новый функционал и исправляющих различные ошибки в работе программы.
  • Возможность не устанавливать вышедшее обновление. Это бывает полезно в случаях, когда обновление добавляет много ошибок, из-за которых будет неудобно работать в интернете.
  • Гибкость в настройке, программу можно буквально настроить под собственные нужды.

Firefox 50 Nightly

Тестирование Firefox 50 стартовало совсем недавно. Сейчас эта версия доступна на Nightly-канале обновлений. Этот канал, равносильный пре-альфа версиям, является наиболее нестабильным и, соответственно, наименее рекомендованным для повседневной работы простого пользователя.

В свою очередь, энтузиасты, напротив, любят его больше всего, так как именно здесь в первую очередь обкатывают все новые особенности, которые только потом переходят из Nightly в Developer Edition, потом в Firefox Beta и уже только потом в стабильные (финальные) релизы.

Так как Firefox 50 ещё только в самом начале своего пути (выход финальной версии состоится 8 ноября), то информации о новшествах в нём ещё фактически нет, тем более разработчики вполне могли просто не успеть добавить что-то из запланированного на юбилейную версию «огненного лиса». Однако одну любопытные новинку энтузиасты приметили сразу, она касается встроенного поиска по страницам, вызываемым нажатием Ctrl+F.

Так он выглядит сейчас:

А так, если планы разработчиков не изменятся, будет выглядеть в Firefox 50:

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

Подобный стиль раньше использовался в классической Opera, а ныне доступен только в Apple Safari. В Firefox 50 обновлённый поиск по странице работает ещё не очень гладко, однако за долгие месяцы, по прошествии которых эта версия дойдёт до обычных пользователей, разработчики должны устранить недочёты.

Обновлённый внешний вид и анимация – не единственные новшества в поиске Ctrl + F. Например, кнопка «Подсветить все» (Highlight All) теперь всегда нажата уже по умолчанию и вам не придётся делать лишний клик. Кроме того, увеличен лимит, после достижения которого встроенный в поиск счётчик перестаёт сообщать точное количество результатов. Прежде он был равен ста:

Теперь же лимит был поднят до тысячи:

Это отличная новость, если поиск по странице вы используете для подсчёта чего-либо.

Однако, заметим: хоть все описанные выше небольшие новшества уже внесены в Firefox Beta, Developer Edition и Nightly, остаётся небольшая вероятность, что что-то из запланированного может перенестись на более поздний срок или вообще не быть реализовано.

К примеру, два года назад разработчики добавили в Nightly-сборки возможность комфортно выделять текст посреди ссылок прямо как в классической Opera. Однако части пользователей, для которых перетаскивание ссылок важнее, чем выделение, такое решение не понравилось, они написали ряд гневных отзывов, и разработчикам пришлось отказаться от своей затеи (перешедшим на Firefox поклонникам Opera Presto, впрочем, на выручку может прийти расширение Select like a Boss).

На этот раз, правда, создатели Firefox действуют аккуратнее. Например, в about:config уже добавлены параметры findbar.modalHighlight и findbar.highlightAll, которые вернут поиск в прежнее состояние тем, кому не понравится его новый вариант.

Mozilla Firefox 80.0

Название программы: Firefox Версия программы: 80.0 Разработчик: Mozilla Язык интерфейса: English / Русский ОС: Windows

Описание: Mozilla Firefox — это популярный бесплатный браузер, работающий на движке Gecko, имеет открытый исходный код и создается большим сообществом разработчиков, что в итоге дает значительное преимущество перед прочими браузерами. Высокая скорость работы, поддержка всех необходимых технологий, стабильность работы, безопасность, расширяемость за счет дополнительных модулей и целый ряд дополнительных функций. Значительным преимуществом Firefox является мощнейшая система расширений, благодаря которым можно значительно повысить функционал браузера, добавив множество самых разнообразных возможностей (именно Firefox явился первым браузером поддерживающим расширение функциональности за счет дополнительных модулей). Поддержка большинства востребованных www-стандартов, удобный интерфейс, стабильная работа, высокая скорость и расширяемость — это тот список характеристик, благодаря которым Firefox имеет полное право считаться лучшим выбором.

Основные возможности: • Блокировка всплывающих окон • Поддержка вкладок (несколько страниц в одном окне) • Встроенная панель поиска в поисковых машинах и словарях • Живые закладки — механизм интеграции RSS-потоков • Широкие возможности по настройке поведения и внешнего вида • Встроенные инструменты для веб-разработчика • Поддержка множества расширений, обновление расширений… • начиная с версии Firefox Nightly 28.0a1 build 5070 новый пользовательский интерфейс Australis.

Портативная версия: Программа не требует инсталляции, распаковать в любом месте, запускать через FirefoxPortable.exe, сборка Portable Apps.

• версия Firefox 29.0 новый пользовательский интерфейс Australis. • версия Firefox 33.0a1 Nightly новый интерфейс настроек, как в Chrome. • версия Firefox 34.0a1 Nightly чтобы включить Flash меняем user-agent на Firefox ниже версией или Opera 12.14 Presto, IE 11 или * неизвесный.

• версия Firefox 34.0a1 build-5326 Nightly добавили функцию разговора.

• начиная с версии 35.0a1 Nightly довавили возможность переключить в многопроцессорный режим как в Chrome

• Firefox Developer Edition заменит собой уже существующий канал разработки Firefox Aurora. — версия Developer будет использовать отдельный пользовательский профиль, что позволит запускать его одновременно с Firefox, — обновленный интерфейс, ускоряющий доступ к средствам разработчика, по умолчанию включена темная тема оформления, c возможностью переключения на стандартную тему и установку сторонних тем и расширений. — переключение темы в developer tools (клавиша F12)

• версия 38.0 — отключены сессии, обновление, история, язык локали ru и en-us — Clear.exe для очистки профиля, удалить если не используете — доработал расширение Minimize Addon-Bar, теперь сворачивает при клике панель дополнений

— для просмотра PDF-файлов плагин SumatraPDF 3.1.0

• версия EME-free 38.0 в которой нет поддержки воспроизведения DRM (Digital Rights Management)

через EME (Encrypted Media Extensions) на поддерживаемых системах (Windows Vista и выше), без поддержки плагинов для защиты контента Adobe Primetime CDM (Content Decryption Module)

• версия 40.0 — поисковые плагины больше не работают из browsersearchplugins, только из %папка_профиля%searchplugins и отключено по умолчанию, т. к. по умолчанию теперь поисковики берутся из omni.ja (user_pref («browser.search.loadFromJars», true);)

• версия 42.0 — тема Silvermel и Charamel версия 1.6.1 некорректно работает, пришлось отключить.

• версия 43.0.4 — отключил проверку адонов в about:config xpinstall.signatures.required false — если необходимо убрать индикатор звука на вкладках browser.tabs.showAudioPlayingIcon false

• версия 44.0 — не работает Quick Translator, заменил на S3.Google Переводчик, — перестал работать The Addon Bar (Restored), заменил на New Add-on Bar и переделал под него Minimize Addon-Bar — добавил YouTube™ Flash-HTML5 для вкл. Flash на YouTube.

• версия 48.0 Add-on-Devel — без обязательной проверки цифровой подписи дополнений • SHA1: версия с поддержкой SHA1

• для версии 48 или выше, можно включить многопроцессорный режим, в адресной строке about:config не все расширения совместимы и могут блокировать, для адонов откл. extensions.e10sBlockedByAddons false включить многопроцессорный режим browser.tabs.remote.autostart true изменить количество процессов для вкладок к примеру 2 dom.ipc.processCount 2 больше процессов — больше потребление памяти, перзапустить браузер, проверить можно на странице about:support

для отключения этого режима необходимо проделать все действия наоборот.

• версия 53.0 — корректное копирование URL с кириллицей browser.urlbar.decodeURLsOnCopy true • версия 55.0.2 — при переносе или переименовании папки с браузером, запустить для очистки Clear.exe или вручную в профиле удалить файл dataextensionsextensions.json иначе не подхватит значки расширений.

• версия 62.0 исправили портабельность, теперь нельзя удалять extensions.json расширения отключаются, при переносе или переименовании папки с браузером, для исправления запустить Clear.exe замена в extensions.json абсолютного пути для всех «path»:»D:\Firefox\data\…» на относительный «path»:»..\Firefox\data\…»

• версия 66.0 Beta 3 теперь нельзя удалять в профиле папку …profilestoragedefault • версия 67.0a1 разрешение и блокировка автоматического проигрывания медиа

• версия 67.0 при переносе или переименовании папки с браузером отключаются расширения или браузер не будет запускаться, для исправления удалить в прфиле файл addonStartup.json.lz4 или запустить del-addonStartup.bat и два раза перезапустить браузер. • версия 68.0 Beta 14 исправили портабельность, при переносе или переименовании папки с браузером не отключаются расширения.

• версия 68.0 отключить рекомендуемые расширения extensions.htmlaboutaddons.recommendations.enabled false • версия 69.0 Nightly для возвращения обработки userChrome.css и userContent.css в about:config вкл. toolkit.legacyUserProfileCustomizations.stylesheets true • вариант нативного портабла через tmemutil.dll от tete009 требуется поддержка sse2 — папка профиля dataprofile настройки в tmemutil.ini — папка с плагинами browserplugins Скачать: Firefox | x64 exe Русский • AllAndroidiOS • Изменения • Все версии

80.0 | EME-free exe (32-bit) Русский

80.0 | EME-free exe (64-bit) Русский • ESR | x64 exe • All • релизы с длительным сроком поддержки. • 78.2.0 ESR | x64 exe Русский

68.12.0 ESR | x64 exe Русский

60.9.0 ESR | x64 exe Русский

52.9.0 ESR | SHA1 | x64 exe Русский • версия для XP • Beta | x64 exe • AllAndroid81.0b1 Beta exe (32-bit) Русский • 81.0b1 Beta exe (64-bit) Русский

Developer | x64 exe • AllNightly | x64 exe • AllAndroid82.0a1 Nightly exe • zip (32-bit) Русский • 82.0a1 Nightly exe • zip (64-bit) Русский

Портабельная версия: English / Русский • Firefox Quantum • вариант портабла через portable*.dll Firefox 80.0 Portable | x64 7z • зеркало x86 | x64

• при переносе или переименовании папки браузера, перед запуском запустить del-addonStartup.bat и два раза перезапустить браузер. • вариант портабла через portable*.dll Firefox 81.0b1 Portable | x64 7z Developer • зеркало x86 | x64

• версия Developer исправили портабельность. Firefox 82.0a1 Portable | x64 7z Nightly (24.08.2020) • зеркало x86 | x64

• при переносе или переименовании папки браузера, перед запуском запустить del-extensions.bat и два раза перезапустить браузер. Старые Portable версии: English / Русский • Firefox Quantum • вариант портабла через portable*.dll Firefox 79.0 Portable | x64 7z Firefox 78.0.1 Portable | x64 7z Firefox 77.0.1 Portable | x64 7z Firefox 77.0 Portable | x64 7z Firefox 76.0.1 Portable | x64 7z Firefox 75.0 Portable | x64 7z Firefox 74.0.1 Portable | x64 7z Firefox 70.0 Portable | x64 7z

Архив | x64Mega | x64 • Unbranded версия Firefox 79.0 Portable | x64 7z • зеркало x86 | x64

Firefox 80.0b2 Portable | x64 7z Beta • зеркало x86 | x64 Firefox 78.0.2 Portable | x64 7z

• при переносе или переименовании папки браузера, перед запуском запустить del-extensions.bat • Developer версия Firefox 80.0b8 Portable | x64 7z Developer Firefox 80.0b3 Portable | x64 7z Developer Firefox 79.0b7 Portable | x64 7z Developer Firefox 79.0b4 Portable | x64 7z Developer Firefox 78.0b9 Portable | x64 7z Developer Firefox 77.0b8 Portable | x64 7z Developer

• версия Developer исправили портабельность.

Dev | x64Mega | x64 • ESR Quantum версия • вариант портабла через portable*.dll Firefox ESR 78.2.0 Portable | x64 7z • зеркало x86 | x64

Firefox ESR 78.1.0 Portable | x64 7z Firefox ESR 78.0.1 Portable | x64 7z • ESR 68.x Firefox ESR 68.12.0 Portable | x64 7z • зеркало x86 | x64

Firefox ESR 68.11.0 Portable | x64 7z Firefox ESR 68.10.0 Portable | x64 7z Firefox ESR 68.2.0 Portable | x64 7z • при переносе или переименовании папки браузера, перед запуском запустить del-addonStartup.bat и два раза перезапустить браузер.

ESR 68 | x64Mega | x64 • вариант нативного портабла через tmemutil.dll от tete009 Firefox 66.0.5 Portable | x64 7z Firefox 66.0.3 Portable | x64 7z Firefox 66.0.2 Portable | x64 7z Firefox 65.0.2 Portable | x64 7z Firefox 65.0 Portable | x64 7z Firefox 64.0.2 Portable | x64 7z Firefox 57.0.4 Portable | x64 7z • версия EME-free • Unbranded версия Firefox 66.0.3 Portable | x64 7z • зеркало x86 | x64 Firefox 60.0.2 Portable | x64 7z • ESR Quantum версия Firefox ESR 60.8.0 Portable | x64 7z • Архив | x64ESR | x64MediaFire | x64ESR | x64

• версия Add-on-Devel Firefox 55.0.4 Portable | x64 7z [1503742639] Firefox 55.0.3 Portable | x64 7z [1503351989] Firefox 54.0.1 Portable | x64 7z [1497382534] Firefox 53.0.4 Portable | x64 7z [1495206500] Firefox 52.0.3 Portable | x64 7z [1491732920] Firefox 51.0.2 Portable | x64 7z [1486087028] Firefox 49.0.2 Portable | x64 7z [1481680441]

Архив | x64MediaFire | x64 • версия EME-free Firefox 56.0.1 Portable | x64 7z Firefox 55.0.3 Portable | x64 7z Firefox 55.0.2 Portable | x64 7z Firefox 54.0 Portable | x64 7z Firefox 53.0.3 Portable | x64 7z Firefox 52.0.2 Portable | x64 7z Firefox 51.0 Portable | x64 7z Firefox 47.0.2 Portable | x64 7z

Архив | x64MediaFire | x64 • ESR версия Firefox ESR 52.9.0 Portable | x64 7z

Архив | x64

• вариант портабла Portable Apps • версия EME-free Firefox 54.0 Portable | x64 7z

Архив | x64 • ESR версия Firefox ESR 52.9.0 Portable | x64 7z Firefox ESR 45.9.0 Portable | x64 7z Firefox ESR 38.8.0 Portable 7z Firefox ESR 31.8.0 Portable 7z Firefox ESR 24.4.0 Portable 7z

Архив | x64 Firefox 81.0a1 Portable | x64 7z Nightly (22.08.2020) Firefox 81.0a1 Portable | x64 7z Nightly (04.08.2020) Firefox 80.0a1 Portable | x64 7z Nightly (14.07.2020) Firefox 80.0a1 Portable | x64 7z Nightly (05.07.2020) Firefox 79.0a1 Portable | x64 7z Nightly (01.06.2020) Firefox 78.0a1 Portable | x64 7z Nightly (09.05.2020)

• версия 69.0 Nightly при переносе или переименовании папки с браузером отключаются расширения, для исправления удалять extensions.json в папке профиля или запустить del-extensions.bat и два раза перезапустить браузер.

Nightly | x64

Многопроцессный режим

Рассказывая про новшества в грядущих версиях Firefox, было бы глупо не упомянуть одно из самых крупных изменений «под капотом» браузера – многопроцессный режим. Впрочем, как вы заметили, в этой статье мы не привязали его ни к одной версии, так как вводиться данная функция будет постепенно. В Firefox 48 она будет включена в экспериментальных целях для очень мизерного процента пользователей. Мы в этот процент, очевидно, сходу не вошли, так как соответствующий новый пункт в настройках у нас даже не был активен:

В Firefox 49 многопроцессный режим включат для всех пользователей, которые не используют расширения. Дальнейшие шаги Mozilla определит уже по отзывам юзеров на эти две версии. Ключевое преимущество многопроцессного режима заключается в производительности, так как программа наконец-то получит возможность на полную задействовать возможности современных ПК с многоядерными CPU.

Главная проблема, тормозящая внедрение нововведения – расширения. Они в многопроцессной версии Firefox могут оказаться неработоспособными. Часть разработчиков судя по этому списку уже внесли необходимые изменения для обеспечения совместимости. В их число входят авторы таких модулей, как Adblock Plus, Tab Mix Plus и FireGestures. Однако совместимость большинства других расширений до сих пор под вопросом. Именно поэтому Mozilla пока включит по умолчанию новый режим только тем, кто совсем не использует расширения.

Безусловно, самый большой страх пользователей относительно многопроцессности касается того, не превратится ли Firefox в Chrome с его уймой процессов, забивающих оперативку. К счастью, Mozilla здесь идёт другим путём. В отдельный процесс будут выведены ВСЕ вкладки разом (отдельно от основного процесса браузера), а не каждая по отдельности, как в Chrome. То есть, по сути, перед нами во многом иной вариант, нежели тот, что используют Google, Microsoft и Apple.

Вышел Firefox 52 c поддержкой WebAssembly

3D-рендеринг демки Zen Garden в браузере Firefox 52 c поддержкой WebAssembly

Mozilla выпустила Firefox 52, последнюю версию браузера с поддержкой операционной системы Windows XP. Сделан ряд важных изменений: упрощено подключение к хотспотам, где нужно сначала залогиниться в браузере, появились предупреждения об опасности, если страница запрашивает пароль по небезопасносму соединению (не HTTPS), исчезла поддержка плагинов NPAPI (кроме Flash, а в билде ESR останется полная поддержка), закрыто 28 уязвимостей.

Но ничто это не сравнится с главным и фундаментальным нововведением — поддержкой низкоуровневого языка программирования WebAssembly (wasm) типа ассемблера, который называют одной из самых значительных инноваций веб-платформы за последнее десятилетие. Это то, чего не хватало JavaScript.


Разработчики объясняют, почему возникла необходимость в создании WebAssembly. Дело в том, что JavaScript был изначально задуман как легковесный язык для простеньких скриптов. Никто не предполагал, во что он разрастётся и как его начнут применять. Его придумали для новичков в программировании — для несложных вещей типа написать форму на веб-странице.

С тех пор многое изменилось. Современные веб-приложения — это сложные компьютерные программы с клиентским и серверным кодом, большая часть которого написана на JavaScript. Несмотря на прогресс в развитии самого JavaScript и все попытки разработчиков создать эффективные движки для быстрого выполнения JavaScript, ничего не вышло, это просто физически невозможно. У JavaScript есть неотъемлемые ограничения. Браузер просто не может выполнять этот код хотя бы примерно так быстро, как нативный код в операционной системе.

Mozilla первой созрела до разработки своеобразной виртуальной машины в браузере, где можно запускать низкоуровневый код — и несколько лет назад в качестве демонстрации выпустила asm.js (Google экспериментировала с Native Client API). Подъязык asm.js проявил себя настолько хорошо, что стало ясно: нужно объединять усилия со всеми крупнейшими компаниями-разработчиками для совместного проекта, который двинет веб вперёд.

Низкоуровневый язык WebAssembly может работать в связке с JavaScript и позволит веб-приложениям выполняться с гораздо большей производительностью — почти как нативные приложения в операционной системе.

Теперь в браузере можно запускать с высокой производительностью 3D-игры, системы автоматизированного проектирования (САПР), видеоредакторы, графические редакторы, научные визуализации, ресурсоёмкие вычисления, кодировать видео — что угодно.

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

В отличие от других подходов типа Flash, которые требуют установки плагина в браузере, чтобы выполнять приложения на скорости, сравнимой с нативными приложениями, WebAssembly полностью вписывается в стандартную веб-платформу. Это открытый и совместимый стандарт, интегрированный в браузеры. Значит, разработчики могут интегрировать библиотеки WebAssembly для CPU-интенсивных вычислений (компрессия, определение лиц, физика) прямо в существующие веб-приложения, где используется JavaScript.

WebAssembly — открытый стандарт, разработанный Mozilla, Google, Microsoft и Apple. Как можно заметить, эта группа представляет разработчиков четырёх наиболее распространённых браузеров, так что можно рассчитывать на становление wasm как всеобщего стандарта. Google обещает реализовать поддержку WebAssembly в следующей версии Chrome (57), Microsoft уже работает над реализацией в Edge.

Низкоуровневый язык станет своеобразным дополнением к JavaScript и в конце концов должен работать везде, где работает JS: во всех браузерах и во всех средах выполнения вроде Node.js.

Кто выиграет от использования WebAssembly? Речь идёт не только о написании новых приложений на wasm. Через компиляторы вроде Emscripten целые игры и уже готовые нативные приложения можно портировать для веба. Портируемый код C/C++ с помощью этого компилятора будет исполняться в браузере почти на той же скорости, что и нативное приложение. Кроме C/C++, для языка программирования Rust тоже реализована предварительная поддержка WebAssembly.

Для примера, можно поиграть в демку Zen Garden (требуется браузер Firefox 52, в данный момент поддерживается только десктопная версия).

Функции JavaScript будут вызывать функции WebAssembly и наоборот. То есть можно в рамках одной программы можно писать на высокоуровневом языке JavaScript и временами переходить на C/C++/Rust по мере необходимости.

Разработчики начнут распространять и повторно использовать низкоуровневые модули WebAssembly без необходимости разбираться в их устройстве, как они сейчас используют минифицированные библиотеки JavaScript.

Mozilla констатирует, что по уровню повторного использования кода и программной архитектуры стена между нативными и веб-приложениями начинает разрушаться, и это только начало. Инструменты разработчика, дебаггеры и компиляторы продолжат развиваться, также как совместимость, производительность и функциональность WebAssembly. Например, сейчас в плане Mozilla — реализовать поддержку многопоточности и параллелизма SIMD.

«В каком-то смысле WebAssembly меняет то, что значит веб-разработчиком, — пишет Дэвид Брайант (David Bryant), руководитель разработки платформ в Mozilla, — как меняет и фундаментальные свойства веба».

В самом деле, сейчас программы на C/C++ стало возможным портировать для выполнения в браузере, а в ближайшем будущем то же самое можно будет сделать для языков, на которых пишут мобильные приложения — Java, Swift, C#. Все они станут совместимыми со стандартной веб-платформой. Получается, что в каком-то смысле все программисты в итоге станут веб-разработчиками.

Mozilla Test Pilot

Напоследок, для полноты картины того, над чем работает сейчас Mozilla, стоит обратить на анонсированную ещё в прошлом месяце инициативу Test Pilot. Суть её заключается в том, что Mozilla предлагает энтузиастам протестировать некоторые функции браузера, которые в случае положительного отклика тестирующих теоретически могут быть реализованы для всех пользователей в будущем.

Пока таких функций всего три. Первая – иной вариант страницы новой вкладки со встроенной историей посещений и рядом других новых элементов. Вторая – объединённое поисково-адресное а-ля Chrome, но с несколькими дополнительными особенностями. Наконец, третье потенциальное нововведение – реализация системы боковых вкладок.

В Firefox Beta, Developer Edition и Nightly ни одной из этих функций пока нет. Протестировать их можно лишь заведя Firefox Account и установив расширение Test Pilot.

  • Об авторе
  • Недавние публикации

Raik

Игорь Андреев – автор статей для ITRew.ru и Our-Firefox.ru. Увлечен современными технологиями, рассказываю о них в своих текстах) Follow me — twitter.com

Raik недавно публиковал (посмотреть все)

  • Galaxy S20 FE против S20, S10 и S10 Lite: что лучше? — 25.09.2020
  • Все отличия Xbox Series S от Xbox One S и X по характеристикам. Что выбрать? — 23.09.2020
  • Все отличия Apple Watch 6 от Watch SE, 5 и 4 — 20.09.2020

Расскажи другим:

  • Нажмите, чтобы поделиться на Twitter (Открывается в новом окне)
  • Нажмите здесь, чтобы поделиться контентом на Facebook. (Открывается в новом окне)
  • Нажмите для печати (Открывается в новом окне)
  • Нажмите, чтобы поделиться записями на Pinterest (Открывается в новом окне)
  • Нажмите, чтобы поделиться в Telegram (Открывается в новом окне)
  • Нажмите, чтобы поделиться в WhatsApp (Открывается в новом окне)