Плагины и дополнения
В Firefox 4 уже включили новый менеджер дополнений. Теперь он работает во вкладке главного окна, а не в отдельном окне, как было раньше. Менеджер позволяет искать и устанавливать темы оформления и дополнения, основанные на XUL, а также управлять плагинами. Для включения и отключения расширений по-прежнему требуется перезапуск браузера, так что новшества здесь пока чисто косметические. К финальной версии Firefox 4 работа с дополнениями должна очень сильно измениться.
Некоторые плагины (Adobe Flash, Apple Quicktime и Microsoft Silverlight в средах Windows и Linux) теперь запускаются отдельными процессами. Эта возможность появилась в Firefox 3.6.4 и вошла в последний релиз 3.6.6, который отличался от предыдущего увеличенным временем ожидания ответа от плагина. Теперь браузер может продолжить работу, даже если плагин завис или прекратил работу. Разделение продолжится и далее: не исключено, что в финальной версии Firefox 4 не только плагины, но и вкладки станут отдельными процессами.
Mozilla Jetpack
В январе один из ведущих разработчиков Майк Коннор в своем блоге заявил, что поддержка адекватной настройки браузера под нужды конечного пользователя становится ещё сложнее из-за пользовательских расширений. В качестве варианта решения проблемы, он называл возможный отказ от нынешней архитектуры дополнений и переход на сходную с той, что сейчас используется в Google Chrome (в Mozilla Labs есть такие проекты — это Personas и Jetpack). Его заявление вызвало бурный отклик в Сети, и буквально на следующий день в блоге Mozilla было опубликовано опровержение, в котором говорилось, что дополнения на XUL и Jetpack будут поддерживаться параллельно. Возможно, в будущем и произойдет переход на новый стандарт дополнений, но пока говорить об этом преждевременно.
Если не вдаваться в технические подробности, технология Jetpack предполагает упрощенную разработку расширений с помощью специального SDK, без необходимости изучать внутреннюю структуру браузера и тонкости XUL (используются стандартные технологии HTML, CSS и Javascript). Преимуществом расширений Jetpack является возможность мгновенной активации дополнения без перезагрузки браузера и отсутствие требований к обеспечению совместимости с будущими версиями Firefox. Основной недостаток — меньшая гибкость и функциональность. Пока расширения нового формата не поддерживаются, но в следующие сборки Firefox 4 уже включат Jetpack.
Другие нововведения
В начале 2010 года запущен проект JägerMonkey, цель которого — интеграция контекстно-ориентированного многопоточного JIT-компилятора SpiderMonkey в движок Javascript браузера Firefox. Формирование машинного кода на лету в JägerMonkey осуществляется с помощью открытого ассемблера Nitro JavaScript JIT, разработанного в Apple для WebKit. Процесс обновления лицензии MPL (Mozilla Public License), запущенный недавно в Mozilla Foundation, тоже можно считать подготовкой к крупному релизу — обновление закончат в октябре-ноябре 2010 года. Ещё нас ожидает интеграция в браузер технологии Weave (синхронизация данных сейчас доступна только в виде дополнения) и ряд не столь очевидных новшеств.
Векторная графика SVG и язык разметки математических формул MathML будут поддерживаться прямо внутри HTML5; выделение интерпретатора HTML5 в отдельный поток ускорит обработку особенно объёмных страниц; поддержка WebSockets позволит веб-приложениям получить дуплексную связь с сервером; поддержка жестов и технологии мультитач — для устройств с сенсорными экранами. Также будет улучшена реализация стандарта каскадных стилей CSS3 и реализована возможность доступа веб-приложений к микрофонам и веб-камерам.
Понятно, что не все нововведения войдут в Firefox 4, некоторые могут остаться за бортом. Кроме того, нет гарантии, что новая версия выйдет своевременно — практика показала, что Mozilla иногда задерживает релизы на месяц-другой.
Вместо заключения
Главные отличия Firefox 4 (в его нынешнем состоянии) от предшественников — в основном внешние: интерфейс программы сильно переделан, появился новый менеджер расширений. Это вполне естественно — в соответствии с первоначальным планом разработки, должен был быть ещё один промежуточный релиз — Firefox 3.7. Однако изменения, которые нужно внести в программу, оказались слишком кардинальными, и от этого релиза в Mozilla решили отказаться. Пока у разработчиков ещё есть время, хочется надеяться, что в конце 2010 года (а скорее, в начале 2011) нам покажут современный браузер, способный показать Chrome и прочим конкурентам, что хоронить Firefox пока рановато.