Релиз Firefox 22 с поддержкой Asm.js
25 июня 2013 года
Проект Mozilla официально представил релиз web-браузера Firefox 22, а также мобильную версию Firefox 22 для платформы Android. В скором времени на стадию бета-тестирования перейдёт ветка Firefox 23, а также будет отделена aurora-ветка Firefox 24. В соответствии с шестинедельным циклом разработки, релиз Firefox 23 намечен на 6 августа, а Firefox 24 на 17 сентября. В ближайшие часы ожидается релиз Seamonkey 2.19, а также обновление веток с длительным сроком поддержки Firefox 17.0.7 и Thunderbird 17.0.7.
Основные особенности Firefox 22:
- Интеграция оптимизирующего модуля OdinMonkey c реализацией поддержки Asm.js - низкоуровневого подмножества языка JavaScript со строгой типизацией, позволяющего существенно увеличить производительность приложений, автоматически преобразованных в JavaScript с языков C/C++ при помощи таких инструментов, как Emscripten и Mandreel. Подмножество JavaScript, предлагаемое в Asm.js, полностью совместимо с обычным JavaScript и может выполняться в любых браузерах, так как вся дополнительная информация определяется в форме аннотаций.
Если браузер не поддерживает Asm.js, то код выполняется как обычный JavaScript, а если поддерживает - включается дополнительный оптимизирующий модуль, учитывающий добавленные в код аннотации. Наличие информации о типах позволяет использовать не только JIT, но и предварительную AOT-компиляцию, выполняемую для всего кода до начала его выполнения и генерирующую более простой и эффективный машинный код. При этом, в отличие от JIT-компиляции, Asm.js обеспечивает предсказуемую производительность и не зависит от сборщика мусора. В итоге, код с известной информацией о типах выполняется всего в два раза медленнее нативного приложения, написанного на C/C++. В то время как без Asm.js скомпилированное с использованием Emscripten приложение выполняется медленнее в 5 раз.
- Включение по умолчанию поддержки технологии WebRTC. WebRTC позволяет через специальный JavaScript API реализовать работающие в браузере Web-приложения, снабжённые средствами для аудио и видео коммуникаций в режиме реального времени. В частности, при помощи WebRTC можно создать многопользовательские web-приложения для организации видео и аудио вызовов, не требуя при этом задействования дополнительных плагинов. Кроме уже поддерживаемого API getUserMedia, предназначенного для организации доступа к локальному микрофону и web-камере, в состав также включены API PeerConnection и DataChannels для организации безопасного шифрованного P2P-соединения между браузерами, позволяющего обеспечить обмен файлами и выполнение прямых соединений из браузера одного клиента в браузер другого, без задействования внешних сервисов. В будущих выпусках поддержка WebRTC будет расширена средствами обхода NAT (технология TURN);
- В менеджер дополнений добавлен интерфейс для управления социальными сервисами;
- Возможность изменения скорости воспроизведения аудио и видео контента, доступ к которому организован через средства HTML5;
- Для платформы Windows теперь учитываются заданные в системе опции масштабирования текста, информирующие о необходимости увеличить размер символов для экранов с очень высоким разрешением;
- Для платформы Mac OS X информация о статусе загрузки теперь отображается в пиктограмме на системном лотке;
- Для увеличения производительности рендеринга WebGL задействована техника асинхронного обновления слоёв, заданных через canvas;
- Сокращено потребление памяти и время вывода на экран при отображении на странице большого числа изображений. Обеспечена поддержка многопоточного декодирования изображений;
- Текстовые файлы (text/plain) теперь отображаются с использованием переноса слов;
- Pointer Lock API(недоступная ссылка) (Mouse Lock API), позволяющий создателям игр получить более полный контроль над мышью, в частности скрыть штатный указатель мыши и обеспечить собственную обработку перемещения мыши, теперь применим не только к полноэкранным сеансам;
- Добавлена поддержка HTML5-элементов "time" и "data" для задания времени и других данных в машино-читаемом виде, а также элемента "input type=range" для организации ввода диапазонов значений;
- Реализация Web Notifications API, предназначенного для организации отображения системных уведомлений пользователю, выводимых вне контекста текущей страницы (например, в области уведомлений десктоп-окружения);
- Для обеспечения безопасности пользователей, объект Components более не доступен для обращения из web-контента;
- Новый встроенный инструмент для web-разработчиков - Font Inspector, предназначенный для инспектирования шрифтов. Например, теперь можно легко оценить какой именно шрифт отображается в каждом элементе страницы, при необходимости можно внести на лету корректировки и посмотреть результат;
- Реализация clipboardData API, предназначенного для выполнения из web-приложения на языке JavaScript типичных операций с буфером обмена, таких как вырезание, копирование и вставка;
- Включение по умолчанию поддержки CSS3-свойства Flexbox, предназначенного для упрощённой блочной компоновки элементов на странице. С использованием Flexbox разработчик легко может адаптировать свои страницы для оптимального отображения на экранах разного размера и с различным разрешением. В частности, для небольших экранов смартфонов или планшетов можно организовать автоматическое изменение размера контента и его перегруппировку, переместить наиболее важные элементы вверх и сократить число колонок;
- Обновление инструментов для web-разработчиков. Панель инструментов теперь может быть перемещена из нижней строки в боковую панель. Добавлен новый режим наглядной визуализации перерисовки, позволяющий оценить какие из частей страницы были обновлены;
- Из новшеств версии для Android отмечается поддержка автоматического скрытия строки навигации при прокрутке текущей страницы. Полноценный интерфейс Firefox для планшетных ПК теперь доступен и для планшетов с небольшими экранами.
Отдельно следует отметить, что кроме новшеств и исправления ошибок в Firefox 22 устранена серия уязвимостей, из которых несколько помечены как критические, т.е. могут привести к выполнению кода злоумышленника при открытии специально оформленных страниц. В настоящее время информация с подробностями об исправленных проблемах безопасности недоступна, ожидается, что перечень уязвимостей будет опубликован в течение нескольких часов.
Источники править
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.