|
Скрыть
После 14 месяцев разработки официально представлен релиз web-браузера Firefox 4.0. Среди ключевых изменений: интеграция браузерного движка Gecko 2.0 и нового JavaScript-движка JagerMonkey, перемещение строки вкладок в верхнюю часть и добавление инструментов для группировки вкладок, поддержка протокола HSTS, технологии борьбы с XSS-атаками CSP и HTTP-заголовка Do Not Track, обеспечение поддержки спецификации WebGL и видеокодека VP8, интеграция системы синхронизации настроек Firefox Sync и реализация новой техники написания дополнений JetPack. Обзор основных улучшений: - Обновлен интерфейс пользователя: панель вкладок перемещена в верхнюю часть окна. В строку с табами можно добавлять различные элементы тулбаров, такие как закладки, адресную строку и блок для обращения к поисковым системам. Переместить строку вкладок под строку ввода адреса можно через контекстное меню, появляющееся при нажатии правой кнопки мыши на строке вкладок;
- Возможность скрыть меню в кнопку "Firefox" в строке вкладок. В Linux версии меню оставлено по умолчанию на прежнем месте, но строка с вкладками поднята над адресной строкой, что очень непривычно. Сворачивание меню производится через убирание в контекстном меню галки "Панель меню";
- Кнопки "stop" и "reload" объединены в одну многофункциональную кнопку, которая перемещена в конец адресной строки. Добавлена домашняя вкладка "about:home" (иконка с домиком в правой части адресной строки) в которой присутствует форма обращения к поисковой системе (в русской сборке - Yandex) и ссылка на восстановление прошлой сессии;
- Формы ввода текста теперь по умолчанию допускают произвольное изменение своего размера мышью;
- Новый менеджер дополнений, который открывается в виде вкладки в основном окне браузера и оптимизирован для поиска и навигации по каталогу дополнений. Дополнительно в менеджер дополнений интегрирована поддержка управления поисковыми плагинами, которые теперь могут быть настроены в одном месте, наряду с визуальными темами и языковыми пакетами;
- Новый менеджер для управления сохраненными паролями. Диалог для сохранения пароля для открытой страницы теперь можно вызвать в любое время, а не первые несколько секунд после открытия страницы;
- В состав браузера интегрирован инструмент Web Console (Web Inspector), позволяющий отследить выполняемые запросы, проанализировать структуру документа (дерево DOM) и наглядно сопоставить визуально отображаемые элементы с участками HTML-кода и CSS. В итоге планируется получить простой и удобный инструмент инспектирования страниц, который тем не менее останется минималистичным и не будет пытаться конкурировать по функциональности с Firebug;
- Если при наборе ключевых слов в строке ввода адреса, в списке выбранных ссылок имеются уже открытые во вкладках страницы, то они помечаются особым значком (добавляется пометка "перейти на вкладку") и при клике на них активируется уже открытая вкладка;
- Добавлен режим плавной (при Page Down страница перематывается не мгновенно, а с некоторой задержкой, такой что перемещение строк становится заметным) и автоматической прокрутки (движение мышью при нажатой средней кнопке) содержимого страницы;
- Добавлена поддержка перемещения любой вкладки в отдельную область "App Tab", через выбор "Make into App Tab" ("Закрепить вкладку") в контекстном меню вкладки. Блок "App Tab" предназначен для закрепления и автоматической загрузки вкладок с сайтами, которые пользователь просматривает несколько раз в день (почта, социальные сети, игровые сайты и т.п.). Перемещенные в "App Tab" табы с одной стороны не занимают места в строке вкладок, но с другой стороны остаются доступными в один клик;
- В состав интегрировано дополнение Firefox Panorama (Tab Candy), которое представляет возможность сгруппировать вкладки по характеру выполняемой работы, а затем легко переключаться между группами вкладок (при переключении на интересующую группу, Firefox отображает только вкладки этой группы, скрывая все остальные). Управление группами производится через кнопку в правой части строки с вкладок (меню "Группы вкладок") или при нажатии Ctrl+Shift+E;
- Для платформы Windows 7 добавлена поддержка режима multi-touch, позволяющего управлять работой браузера используя интуитивно понятные жесты (видеодемонстрация), например, передвигать содержимое через удержание касания к сенсорному экрану, масштабировать содержимое двумя пальцами, вращать объекты в web-приложениях, используя специальный API.
- Сообщения об изменении статуса соединения теперь выводятся в виде небольшого всплывающего блока. К сожалению, при наличии активной формы поиска на странице статусное сообщение с URL всплывает в правом нижнем углу, а без активной строки поиска - в левом нижнем углу, что очень неудобно так как трудно предсказать в куда нужно смотреть чтобы увидеть куда ведет ссылка;
- Поддержка в HTML5-теге "video" медиа-контейнера WebM и видеокодека VP8;
- В состав браузера включено дополнение Firefox Sync, которое позволяет пользователям синхронизировать закладки, список открытых вкладок, историю и сохранённые пароли между несколькими компьютерами, а также мобильными телефонами, с установленным браузером Firefox Mobile. Из iPhone доступ к синхронизированным данным можно получить через приложение Firefox Home. Данные передаются и хранятся на сервере в зашифрованном виде, в качестве ключа используется известный только пользователю пароль;
- Поддержка стандарта WebGL, определяющего способ формирования аппаратно ускоренного 3D контента без привлечения сторонних плагинов при помощи HTML5 конструкций "Canvas" и JavaScript реализации OpenGL API;
- Поддержка технологии написания дополнений JetPack, установка которых производится без перезапуска web-браузера. Технология Jetpack представляет собой новый упрощенный способ расширения функциональности Firefox, через разработку расширений с использованием стандартных web-технологий (HTML, CSS и Javascript), без изучения внутренней структуры браузера и тонкостей технологии XUL. Добавлена система JS-ctypes для обеспечения возможности вызова нативного кода из JavaScript-расширений;
- Улучшения платформы: интегрирован новый HTML5-парсер, улучшающий поддержку HTML5 (например, теперь можно не выносить SVG и MathML, а добавлять их прямо в код страницы) и позволяющий избавиться от множества ошибок старого парсера;
- Добавлена поддержка HTML5 API для управления web-формами (HTML5 Forms API), позволяющего упростить процесс проверки корректности параметров web-форм. Например, новая возможность позволяет организовать проверку введения в форму корректного email-адреса, номера телефона или URL без использования JavaScript;
- Интегрирована поддержка API IndexedDB, позволяющая использовать в JavaScript локальные индексируемые БД, в которых можно не только выбирать данные по имени ключа, но и совершать отсортированные в определенном порядке выборки.
- Поддержка технологии web-сокетов (Web Sockets) для организации двунаправленного обмена данными между web-приложением и сервером (по умолчанию поддержка отключена);
- Представлен API для управления переходом в полноэкранный режим, улучшение поддержки API для определения местоположения на основе данных от GPS-приемника. Изменено поведение при выделении ранее открытых ссылок. Для SVG реализована поддержка SMIL-анимации.
- Поддержка CSS-трансформаций. CSS-трансформация позволяет применять для целых страниц или их элементов операции перемещения, вращения, наклона, масштабирования и матричных преобразований;
- Поддержка API для низкоуровневой обработки аудио-данных. При помощи нового API разработчики, могут читать и записывать звуковые потоки в raw-представлении, что, например, можно использовать для наглядной визуализации звука, полученного при работе тегов audio и video;
- Новые функции:
- Для объектов типа "диапазон" (range) добавлены новые методы getClientRects и getBoundingClientRect;
- Добавлена поддержка DOM-методов setCapture и releaseCapture;
- Реализована поддержка методов HTML5 History.pushState(), History.replaceState() и события popstate;
- Добавлена поддержка значения "-moz-image-rect()" для CSS элемента background-image, задающего параметры фонового рисунка;
- Для тегов "input" и "textarea" добавлена поддержка атрибута "placeholder", в котором задается подсказка с примером заполнения элемента web-формы;
- В HTML5 теге video теперь поддерживается свойство "buffered", позволяющее перемещаться по потоку на основе привязанной к времени позиции, а не на основе размера загруженных данных. Свойство "autobuffer" заменено на "preload";
- Для обеспечения более эффективной анимации с использованием Javascript добавлено экспериментальное API mozRequestAnimationFrame.
- Начало подготовки 64-разрядных сборок для Linux (раньше сборки формировались только для 32-рязрядных систем);
- Новая встроенная страница "about:memory" показывает распределение памяти веб-браузером;
- Некоторые настройки вынесены из about:config в CSS. Например, убраны директивы "browser.tabs.tabMinWidth" и "browser.tabs.tabMaxWidth", вместо них для расширения чиста одновременно отображаемых на экране вкладок необходимо переопределить в файле userChrome.css свойство "min-width". Тем не менее, использование данного метода привело к появлению странных проблем (в некоторых ситуациях при закрытии таба соседние табы не смыкались и образовывалось пустое место), проблему удалось решить только установкой дополнения custom-tab-width;
- Создан черный список видеодрайверов, приводящих к нестабильной работе. В Linux для всех драйверов, кроме проприетарного драйвера NVIDIA, по умолчанию заблокировано использование OpenGL-акселерации и WebGL. Подобный шаг сделан из-за проблем со стабильностью;
- Браузер перешел на новый JavaScript-движок JägerMonkey, использующий легкий контекстно-ориентированный многопоточный JIT-компилятор, транслирующий JavaScript-классы на лету в машинный код. Скорость работы нового движка впечатляет, по сравнению с Firefox 3.6 скорость прохождения тестов V8 возросла в 5 раз, а тестов SunSpider и Kraken в 3 раза;
- Использование C++-представления для организации работы с переменными JavaScript, позволило повысить эффективность выполнения скриптов, требующих интенсивных численных вычислений, например, для обработки графики. Для всех типов переменных теперь используется единая 64-разрядная переменная jsval, в первых 32-битах которой закодирован тип, позволяющий отличить указатели на строки, объекты, числа с плавающей точкой и целочисленных переменных;
- Поиск ссылки в БД с историей посещений теперь производится в асинхронном режиме;
- Проведена работа по увеличению скорости перезапуска браузера в процессе установки обновления, время завершения работы теперь ускорено на 97%.
- Оптимизирован процесс ввода/вывода.
- Добавлена поддержка аппаратной акселерации при формировании вывода и при отображении видео;
- Проведена ревизия кода, связанная с работой закладок и историей посещений, что привело к ускорению работы с закладками и уменьшению времени запуска браузера;
- По умолчанию активирован новый сборщик мусора;
- Реализована технология отложенного построения фреймов для увеличения скорости работы динамических страниц;
- Загрузка HTML5-спецификации более не приводит к ощутимым паузам;
- Увеличена скорость повторной прорисовки HTML в SVG теге "foreignObject";
- Улучшение производительности выполнения строковых операций в JavaScript;
- Добавлена возможность JIT-компиляции рекурсивных функций;
- Увеличена скорость отрисовки;
- Уменьшено время выполнения операций с DOM-деревом.
- Поддержка сохраняемых слоев (Retained Layers), позволяющая организовать супербыструю прокрутку содержимого большой web-страницы;
- Реализация нового метода регистрации XPCOM компонентов, которая позволила сократить время запуска браузера;
- Добавлена поддержка HTTP-заголовка Do Not Track ("DNT"), позволяющего информировать сайты о нежелании пользователя передавать на хранение фигурирующую в рамках сессии информацию, в ситуации ее использования для отслеживания перемещений и предпочтений пользователя. Настройка отправки DNT-заголовка производится в блоке расширенных настроек браузера;
- Осуществлен переход на улучшенный механизм распределения памяти, который позволит защититься от целого ряда уязвимостей, связанных с разыменованием NULL-указателей. При возникновении проблемы с выделением памяти аллокатор аварийно завершит работу, вместо возврата NULL-указателя;
- Поддержка технологии CSP (Content Security Policy), направленной на интеграцию в web-браузеры средств для защиты от проведения CSRF-атак, организации межсайтового скриптинга (XSS) и подстановки в страницы "IFRAME/JavaScript src" блоков;
- Интегрирована технология изолированного выполнения плагинов. Например, Flash плагин отныне будет работать в контексте отдельного процесса, не влияя на стабильность основного браузера;
- Поддержка протокола HSTS (HTTP Strict Transport Security), позволяющего владельцам сайтов настоять на использовании SSL-шифрования. В процессе работы Firefox запоминает сайты, использующие HSTS, и в будущем соединяется с ними только при помощи протокола SSL;
Новость взята с http://www.opennet.ru/opennews/art.shtml?num=29978 >>> Подробнее
|
anonymous (*) (2011-03-22 20:03:45) [15 сообщений] [Добавить комментарий]
|