Стартовало бета-тестирование Firefox 9. Новый интерфейс браузера для Android

Стартовало бета-тестирование Firefox 9. Новый интерфейс браузера для Android

Стартовало бета-тестирование Firefox 9. Новый интерфейс браузера для Android

Популярнейший веб-браузер Firefox девятой версии перешел на стадию бета-тестирования. А сам релиз назначен на 20 декабря.

Это свидетельствует о том, что формирование базовой функциональности, а также изучение ошибок прекращено.

Давайте рассмотрим те улучшения, которые ждут нас в Firefox 9:
1. В javascript-движке SpiderMonkey появился Type Inference (улучшенный анализатор типов), который позволит более точно предсказывать типы данных, используемых в коде. А это, в свою очередь, позволяет задействовать возможности JIT-компиляции более эффективно.

javascript – это язык с динамической типизацией, поэтому Jit-компилятор изначально не знает о типе данных переменных и начинает генерировать код, учитывающий все возможные типы значений, задействованных в коде.

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

Технология Type Inference накапливает информацию о типах, опираясь на предварительный анализ кода javascript в сопровождении с постоянным мониторингом типов в процессе выполнения приложения.

А наличие точной информации о типах значений для текущего кода позволит во время работы Jit-компилятора генерировать значительно более эффективный машинный код.

Представленное нововведение при выполнении некоторых задач позволит значительно повысить производительность javascript кода. К примеру, более чем на 30% возросла скорость прохождения большинства тестов, таких как V8 и Kraken.

А еще важнее то, что ускорение заметно не только во время тестирования, но и во время работы с реальными сайтами, которые интенсивно используют javascript.

Разработчики надеются, что со временем интеграция новой техники предсказания типов с Jit-компилятором нового поколения IonMonkey сможет ликвидировать тот разрыв в производительности, который сегодня наблюдается между javascript и Java.

2. Появились средства, определяющие из javascript наличие HTTP-заголовка Do Not Track ("DNT"), который информирует ресурсы о том, что пользователь не желает передавать на хранение ту информацию, которая фигурирует в рамках сессии и может использоваться для отслеживания его предпочтений и перемещений.

С тем, чтобы определить факт активации опции Do Not Track пользователем, разработчики javascript-приложений могут воспользоваться свойством "navigator.doNotTrack".

3. Появилась также возможность разбивать XHR-запросы на куски (Chunked XHR), что предоставит веб-сайтам возможность получить доступ к уже загруженной части данных до момента полного окончания загрузки всех данных. Веб-разработчикам эта возможность позволит увеличить скорость работы приложений, созданных при использовании AJAX или с большими наборами данных.

4. Появилась поддержка Mac OS X Lion совместно с интеграцией с панелью приложений, новым стилевым оформлением, улучшенной поддержкой работы одновременно на нескольких мониторах и возможностью использовать жесты для навигации.

5. Поддержка CSS-свойства "font-stretch", которая позволяет выбрать как нормальное, так и растянутое или сжатое семейство шрифтов.

6. Расширены возможности для CSS-свойства "text-overflow", которое определяет поведение в ситуациях, если текст не помещается в предназначенную для его отображения область. В новом Firefox 9 есть возможность определять настройки, как для левой границы, так и для правой при помощи нового синтаксиса"text-overflow: left-overflow-type right-overflow-type";

7. Для тегов textarea и input теперь будет учитываться значение элемента "lang" во время выбора модуля для проверки правописания;

8. Появился новый API для отображения и организации контента в полноэкранном режиме. Пока в Firefox 9 этот API отключен, но он будет по умолчанию активирован в Firefox 10;

9. Улучшена поддержка web-стандартов CSS, MathML и HTML5.

Тем временем стартовало бета-тестирование Firefox 9, предназначенного для платформы Android.

В новой версии полностью переработан интерфейс для планшетов, а также добавлена поддержка варианта тега "input" для запроса изображений из встроенной камеры и HTML5 API, предназначенный для проверки корректности параметров веб-форм (к примеру, проверка введения в форму корректного номера телефона, email-адреса или URL в обход javascript).

Рассмотрим особенности нового интерфейса для планшетов:
1. В интерфейс для планшетов были внесены изменения с учетом более высокого экранного разрешения, а также в направлении еще более интуитивного управления. Но в то же время, сохранены такие стандартные возможности браузера, как интеллектуальная адресная строка Awesome и вкладки.

2. Появилась поддержка полноэкранного портретного режима, когда перечень табов (открытых вкладок) выводится списком, выпадающим в левом верхнем углу, который в случае отсутствия необходимости просто скрывается.

3. Для ландшафтного режима теперь вкладки отображаются как постоянно присутствующий с краю экрана набор эскизов страниц. Есть также возможность скрыть эскизы или переместить их в левую или правую часть экрана.

4. Добавлен единый диалог для доступа к данным. Он интегрирован с кнопкой быстрого вызова функций и с Awesome Bar. Позволяет посматривать историю посещения страниц, список наиболее популярных страниц, закладки, синхронизированные страницы с других компьютеров, а также получить доступ к настройкам, загрузкам и списку установленных дополнений. Все элементы управления, такие как поле для ввода адреса, кнопки навигации и меню объединены в одну строку, а вместо URL отображается заголовок веб-сайта.

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

После щелчка по заголовку отображается поле ввода URL. Что касается всех дополнительных действий, включая вызов закладок и кнопку перезагрузки страницы, то все они перемещены в стандартное меню платформы Android.