Итак, накануне католического рождества компания Mozilla порадовала
пользователей браузера Firefox выходом финальной 9-й сборки, которая
приносит наряду с повышением общей стабильности, исправлением ошибок и
мелкими изменениями немало и важных улучшений.
Type Inference
Наиболее заметной и важной новой функцией является Type Inference в
движке JavaScript. Эта техническая функция, детали которой интересны
более программистам, нежели рядовым пользователям. Важнее всего то, что
она позволит браузеру исполнять современные веб-сайты, нагруженные кодом
JavaScript (такие как Gmail или Twitter), гораздо быстрее. Type
Inference — это большой проект внутри компании Mozilla, разработчики
которой работали над ним более года, и вот сейчас плоды их трудов могут
оценить все желающие.
Проблема JavaScript в том, что тип переменных (целочисленный,
строчный и так далее) не задаётся изначально, а он определяется
интерпретатором в процессе работы в зависимости от того, какие операции
проводятся. Это обеспечивает большую гибкость, но также приводит к тому,
что интерпретатор JavaScript должен учитывать эту особенность, и
работать с каждой переменной, как с абстрактным типом, который может
быть содержать любой тип значений.
Движок SpiderMonkey JavaScript в Firefox 9 анализирует код и
прогнозирует тип переменных. Затем он использует эти предсказания при
создании компилированного кода JIT. Результатом становится более
компактный и быстрый код и уменьшенные требования к памяти (впрочем,
некоторый объём памяти нужен и для определения типа переменных).
Инженер Firefox Брайан Бонди (Brian Bondy) отмечает, что модификации
движка JavaScript, внесённые в Firefox 9, увеличивают производительность
в таких известных тестовых пакетах, как Kraken и V8 более чем на 30% и
обеспечивает значительный рост производительности большинства
веб-сайтов, использующих сложный код JS.
Но даже сегодня, когда технология внедрена в Firefox 9, компания
Mozilla продолжает работы в направлении оптимизации производительности.
Следующее поколение движка JIT, IonMonkey, которое сейчас находится в
процессе разработки, будет уже рассчитано на работу Type Inference,
благодаря чему прирост производительности должен стать ещё более
ощутимым.
Проверка Do Not Track через JavaScript
Другим нововведением в Firefox 9 стала поддержка метода проверки Do
Not Track через код JavaScript во время считывания заголовка HTTP. Это
должно упростить проверку приложениями и веб-сайтами настроек
конфиденциальности и принять соответствующие меры.
Do Not Track — это метод, представленный и внедрённый впервые в
Mozilla, требующий от сайтов, чтобы все связанные с ним рекламные сети
отключили мониторинг активности пользователя, проводимый для целевой
рекламы. Главным противником распространения Do Not Track является
Google — основные доходы поискового гиганта приносит именно реклама, для
эффективной работы которой требуются статистические данные.
Улучшенная поддержка Mac OS X Lion
Firefox 9 также лучше интегрируется с последней версией операционной
системы Mac OS X. Браузер более естественно смотрится в этой системе
благодаря улучённой интеграции темы ОС. Также веб-обозреватель
поддерживает двухточечный жест для навигации.
Новый планшетный интерфейс
Мобильная версия Firefox 9 принесёт в перспективе (пока доступна
только бета-версия) новый и оптимизированный для Android-планшетов
интерфейс. Он разрабатывался последние несколько месяцев и теперь готов к
внедрению.
Прочие улучшения
Конечно, разработчики Mozilla провели большую работу в тех областях,
которые пользователи не заметят напрямую. Firefox 9 приносит улучшенную
поддержку веб-стандартов HTML5, MathML и CSS. Например, можно упомянуть
поддержку растяжения шрифтов в Firefox 9 с помощью CSS-свойства
font-stretch. А благодаря расширенной поддержке свойства каскадных
таблиц стилей text-overflow сайты смогут сообщать Firefox о том, как
управлять выходящим за края текстом.
Firefox 9 доступен на официальном сайте
в массе локализаций, а русскоязычные финальные сборки можно скачать в
версиях для различных операционных систем по следующим ссылкам:
|