30 июня появилась первая официальная информация о будущем Firefox 4. На данный момент имеем уже Firefox 4 beta 1 для платформ Windows, Linux, Mac OS. Что же интересного в новой версии нам приготовили в компании «Mozilla»?
Производительность
Первое и, должно быть, самое важное на что делается упор — производительность. В «Mozilla» очень надеются что именно веб-разработчики оценят значительные улучшение в производительности по сравнению с Firefox 3.6.
Обработка DOM и стилей
По информации разработчиков, тесты показывают, что новый движок обрабатывает DOM-структуру и CSS-правила быстрее. Особенно разница будет заметна на объёмных страницах и при наличии сложных CSS-конструкций.
Аппаратное ускорение
В работе браузера
Разработчики уверяют, что значительно увеличится скорость первоначального запуска браузера и устранены задержки, прерывающие начальную загрузку. Для экономии времени и нервной системы пользователей все обновления браузера теперь будут происходить в фоновом режиме. И ещё одно приятное дополнение — при падениях плагинов в браузере теперь нужно будет просто обновить веб-страницу, а не долго завершать работу и восстанавливать сессию.
В обработке видео
При таких задачах как просмотр HTML5-видеороликов и при переходе в полноэкранный режим будет использоваться OpenGL на компьютерах с ОС Mac или Linux, и DirectX 9 в Windows, чтобы ускорить рендеринг видео.
В обработке javascript
В первой бета-версии ещё не интегрирован новый javascript-движок JägerMonkey, который должен к огненному лису приделать небольшую огненную ракету.
JägerMonkey — новый движок разрабатывается с марта 2010, призваный заменить существующий TraceMonkey и ускорить обработку javascript. Эта замена планируется в одном из первых апдейтов браузера.
WebSockets
Поддержка WebSockets даст возможность реализовать полноценный асинхронный режим передачи данных между клиентом и сервером.
HTML5
Конечно Firefox уделяет огромное внимание HTML5 и продолжает расширять поддержку этой технологии.
HTML5 формы
С этим пока не все хорошо, но сделан большой шаг в нужном направлении.
HTML5 секции
Появилась поддержка тегов <article>, <section>, <nav>, <aside>, <hgroup>, <header> и <footer>.
HTML5 история сессии
Включили поддержку функций pushState and replaceState.
HTML5 парсер
Разработчики заявляют, что будет поддерживаться синтаксический анализ кода, то есть объекты SVG и MathML можно будет вставлять непосредственно в HTML контент. Также браузер будет самостоятельно исправлять ошибки верстки (подозреваем это будет исправление незначительных ошибок вроде незакрытых тегов).
HTML5 Video
Тег <video> поддерживался еще в Firefox 3.6, в Firefox 4 добавилась подержка формата WebM.
По уверениям разработчиков «Mozilla», в области HTML5 это только начало. Оно и не удивительно — у них нет другого выбора.
Анимация и графика
SMIL — добавлена поддержка SVG анимации (SMIL).
SVG везде — поддерживаются SVG как <img> и SVG как CSS-фон.
CSS 3
Firefox сделал ощутимый скачок в поддержке CSS 3:
Группа свойств | Поддержка | Примеры доступных свойств |
---|---|---|
CSS3 Color | полная | |
CSS3 Media запросы | полная | |
CSS3 селекторы | полная | |
Пространство имен CSS3 | полная | |
CSS3 Rounded Borders | полная | border-radius |
CSS3 Border Images | частичная | border-image |
CSS3 Backgrounds | полная | background-size |
CSS3 Multiple Backgrounds | полная | background-size |
CSS3 Box Sizing | планируется в ближайшем будущем | box-sizing |
CSS3 2D Transforms | полная | transform |
CSS3 Transitions | частичная | transition |
CSS3 Text Shadow | полная | text-shadow |
CSS3 Box Shadow | полная | box-shadow |
CSS3 Gradients | полная | |
CSS3 Multicolumn | полная | column-count |
CSS3 Resizing | полная | resize |
CSS3 функция calc() | полная |
CSS расширения
- остается поддержка специфических свойств с префиксом –moz (глупо было от этого отказываться)
- теперь пользователь может изменять размеры элемента textarea. Чтобы ему это запретить — используем свойство -moz-resize (не очень понятно зачем это сделали ,если есть поддержка свойства resize)
- добавлены новые селекторы -moz-any и -moz-image-rect
- прекращена поддержка -moz-background-size
DOM и события
- добавлена поддержка свойства event.mozInputSource, которое позволяет определить каким устройством было сгенерировано событие
- объект Range теперь поддерживает методы getClientRects() и getBoundingClientRect()
- поддерживаются оригинальные методы от IE setCapture() и releaseCapture()
- добавлена поддержка document.onreadystatechange
И в целом…
«Правильной дорогой идете, товарищи!» ))
В жесткой конкурентной борьбе между браузерами по другому нельзя — или начинай прислушиваться к мнениям пользователей, веб разработчиков и разработчиков веб стандартов, или уходи с рынка. Особенно ситуация накалилась с появлением и быстрым развитием Google Chrome.
По логике в этой борьбе в первую очередь должны выиграть пользователи и не сильно пострадать веб разработчики. Надеемся так оно и будет.