Как стать автором
Обновить

Легковесные браузеры

Время на прочтение3 мин
Количество просмотров4K
Давайте отвлечемся от таких монстров веб-обозревания, как Firefox, Opera, IE и обратим внимание на несколько молодых проектов, основанных на библиотеке WebKit.
Для начала, пара слов о самом WebKit. Это движок, используемый для рендеринга страниц небезызвестным Safari. Когда-то он был форкнут от KHTML, движка Konqueror, доработан и использован в своих целях (надо сказать, с пафосом: один из аргументов в пользу Safari, по мнению Apple, было «Open-source rendering engine»), при этом часть исправлений и дополнений были внесены и обратно в KHTML. После этого WebKit получил свое нынешнее название (когда-то было WebCore) и теперь продолжает разрабатываться.
Замечательна эта библиотека тем, что по скорости обработки сравнима с Opera, построена, вслед за KHTML, основываясь на веб-стандартах, распространяется под лицензией LGPL-2 и уже успела себя зарекомендовать в Safari и встроенном браузере Symbian 9.

Список приложений говорит нам о таких открытых webkit-браузерах, работающих под Linux, как Arora, Atlantis, Midori. Но раньше там же перечислялись Kazehakase и Epiphany. Google же предложил еще FoxKit.
Итак, 6 браузеров. Два (Arora и FoxKit) на Qt, остальные — на Gtk, FoxKit привязан к KDE4, Epiphany и Atlantis — к Gnome. Поскольку я пользуюсь KDE и не имею Гнома, смог собрать и изучить только четыре из шести браузеров.
  • Arora
    Этот браузер был форкнут от демо-браузера, показывающего простоту использования WebKit, встроенного в Qt-4.4. Как полагается, теперь живет своей жизнью и страдает от того, что qt-webkit несколько отстает от webkit-gtk.

    Плюсы: Хорошо выглядит среди Qt/KDE-приложений, сохраняет сессии.
    Минусы: qt-webkit пока что не поддерживает плагины, почему-то Shift+wheel не скроллит постранично, webkit старый — не проходит Acid3
  • Foxkit
    Один программист решил написать браузер на qt-webkit, но, чтобы не отставать на милю от Arora, решил использовать фичи от kdelibs. Я смог собрать это чудо только после замены uint(x) на (unsigned long)x во всех исходниках (заточен под 32 бита, видимо). Панель навигации я не нашел, хотя на скриншоте автора она присутствует.

    Плюсы: интеграция с KDE
    Минусы: пришлось патчить, не нашел Location Bar, минусы Arora тоже в силе
  • Midori
    Пожалуй, найболее известный на текущий момент webkit-браузер, не считая Safari, поскольку раньше всех начал хоть как-то работать. Написан с нуля (из рассматриваемых здесь, пожалуй, единственный), активно разрабатывается. У меня собрана версия 0.0.19 с webkit-gtk-0_p35417, все из портов Gentoo. Разработчик предупреждает о нестабильности всвязи с постоянным изменением API WebKit, что вполне подтверждается на практике.

    Плюсы: приятный интерфейс, поддержка netscape-плагинов, большое количество потенциальных настроек.
    Минусы: Нестабильность (не по вине автора), проблемы с кодировками — см. скриншот к Kazehakase
  • Kazehakase
    Самый старый из рассмотренных четырех браузеров, основная цель — корректная поддержка японского языка на страничках. С самого рождения он умеет работать с gecko, когда-то умел с WebCore, а сейчас научился и с WebKit. Собирается из портов Gentoo без нареканий (0.5.5-r1), интерфейс хорошо продуман, имеет много настроек. Плагины тоже должны быть, но у меня что-то с руками, видимо — у друга в Midori были.

    Плюсы: как и Epiphany, поддерживает два движка на выбор. Очень гибкий в поведении.
    Минусы: при работе с WebKit необходимо указывать протокол («http://», например), не работает управление загрузкой (Stop, например). Опять же кодировка; браузер начинает адекватно реагировать на ваши действия только после тщательной обработки настроек напильником.


Следует отметить, что Kazehakase и Midori имеют встроенный менеджер закачек (я, правда, не тестил).

Вывод: На текущий момент можно пользоваться, видимо, двумя из шести браузеров с WebKit в основе — Arora и Epiphany (подтвердите?). Но и с ними не так гладко — первый не подойдет для youtube, второй может не угадать кодировку на русскоязычном сайте. Но уже можно видеть, что Apple не зря проделал работу над библиотекой — легким браузерам быть!

Эпилог: Когда вышел FF3, я его немного погонял по характерным страничкам. Он стал работать заметно быстрее FF2 и немного медленнее Konqueror, при этом стал слегка разбивать некоторые страницы WWW. У меня сложилось впечатление, что Mozilla много кода взяла из WebKit, но я не уверен в этом. Если это действительно так, следует порадоваться за стандартизацию браузеров — еще чуть-чуть, и FF будет обрабатывать HTML так же, как Safari, к ним должна подтянуться Opera (которая, кажется, разрабатывалась тоже исходя из стандартов), сделанным на основе тех же стандартов многие ожидают IE8. И тогда наступит счастье верстальщиков — везде все так, как должно бы быть.

UPD:Под Win кроме сафари был Swift, но умер, а также вполне актуальна Arora, ибо написана она на крайне кроссплатформенном Qt4. Плус есть проект KDE4 for Windows, в котором есть Konqueror.

P.S. Просьба не разжигать холивар Opera vs. FF vs. Safari и иже с ними — топик, скорее, предназначен для ознакомления с новыми софтинами тем, кому это интересно. Может быть, кто-то из программистов обратит свое внимание на какой-нибудь из проектов и поможет ему развиться быстрее?
Теги:
Хабы:
+8
Комментарии23

Публикации

Истории

Ближайшие события

Weekend Offer в AliExpress
Дата20 – 21 апреля
Время10:00 – 20:00
Место
Онлайн
Конференция «Я.Железо»
Дата18 мая
Время14:00 – 23:59
Место
МоскваОнлайн