Общение        29.12.2022   

Что такое WebKit и как это связано с CSS? Движки веб-браузеров – что это и какие бывают Теперь, что не является общим для WebKit портов

Времена, когда Chrome был лишь одной из альтернатив, прошли. Статистика из нескольких независимых источников показывает, что этот веб-обозреватель уже либо опередил Internet Explorer и, следовательно, является самым распространенным браузером в мире, либо сидит у него прямо на хвосте.

Хотя возможности Google Chrome можно практически бесконечно расширять с помощью аддонов, альтернативные сборки браузеров на этом же движке WebKit позволяют в некоторых случаях получить то, чего с помощью расширений добиться нельзя. В обзоре будут рассмотрены наиболее популярные альтернативы Chrome, а также их особенности.

Начнем, естественно, с виновников обзора, Chrome и Chromium. Рассказать об этих браузерах можно много, но поскольку материал посвящен не им, то коснемся этих веб-обозревателей лишь поверхностно.


Бывший ChromePlus, переименованный в CoolNovo из-за того, что Google не понравилось название, подразумевающее превосходство этого веб-обозревателя над их браузером. Впрочем, если судить справедливо, то именно так и было, а по некоторым пунктам CoolNovo опережает Chrome и сейчас.


Главной особенностью ChromePlus, благодаря которой он и стал популярен три года назад, являлся модифицированный код, позволяющий использовать полноценные блокировщики рекламы. Оригинальный Chrome поначалу и был отвергнут большинством пользователей именно в связи с отсутствием нормальной альтернативы AdBlock.

Поддержка жестов мышкой до сих пор актуальна, поскольку расширения для Chrome не обеспечивают такого же удобства работы. Например, в Chrome иногда происходят «холостые выстрелы», жест не отрисовывается и не распознается (особенно после определенной паузы в использовании). Рендеринг линий также нередко происходит рывками и с задержкой, что усложняет рисование правильных жестов. Но самое главное отличие заключается в том, что жесты CoolNovo работают даже на технических страничках, там, где Chrome их не поддерживает (например на странице «404″, на новой вкладке или вкладке с настройками браузера).

Плавная прокрутка до сих пор не реализована в Chrome и для нее нужно использовать дополнение, в то время как в CoolNovo она была с самого начала.

Браузер использует сразу два движка (WebKit и Trident). Если появляется необходимость посмотреть на страницу, отрендеренную в Internet Explorer, то это можно сделать нажатием одной кнопки в адресной строке. CoolNovo при этом синхронизирует cookies между двумя движками, что позволяет просматривать страницу, не авторизуясь на сайте заново.

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

Официально Google даже сейчас не предоставляет portable-сборок своего браузера, в то время как CoolNovo всегда распространялся как в виде установщика, так и portable-архивом.

Из менее значительных особенностей можно перечислить также:

Удобное восстановление закрытых вкладок.
- Сворачивание браузера в System Tray (настраивается).
- Закрытие вкладок по двойному клику на табе (опять же удобно на ноутбуках без средней кнопки мышки).
- Возможность спрятать крестик на вкладке, чтобы освободить место для имени сайта.
- Удаление закладок в корзину.
- Наличие боковой панели, на которую можно выводить некоторые расширения
- Boss key (для быстрого сворачивания браузера).
- Дополнительные горячие клавиши.
- Возможность прямо из браузера удалить на диске любой скачанный файл
- Индикатор скорости загрузки (КБ/c) на панели скачивания.

Несмотря на то что CoolNovo является одним из самых популярных браузеров на WebKit, в последнее время он начал потихоньку сдавать свои позиции. Связано это с отсутствием регулярных обновлений (последняя версия выпущена еще в конце марта). На текущий момент ситуация еще не критическая, но между Chrome и CoolNovo уже накопилась разница в четыре версии (в CoolNovo используется код Chromium 17, а последняя версия Chrome - 21) и небольшое промедление может отправить CoolNovo в музей исторических экспонатов.


Немного странный браузер от Comodo. Появился несколько лет назад, но на домашней странице до сих пор нет внятной информации, чем же он отличается от Chrome. Из того, что удалось выяснить, в браузере сделано буквально несколько изменений с целью повышения безопасности.


Во время инсталляции можно согласиться на использование сервиса Comodo SecureDNS, после чего браузер будет отправлять все запросы через этот безопасный интернет-сервер, где блокируются все опасные сайты, а также якобы повышается скорость преобразования доменов в IP-адреса.

Браузер также проверяет SSL сертификаты и выводит статус проверки в углу безопасных страниц.

Немного изменен и интерфейс: используется нестандартная цветовая гамма и слегка модифицированы кнопки управления окном.

С учетом того, что серьезных обновлений в Comodo Dragon нет, и обновляется браузер по сравнению с Chrome с некоторой задержкой (сейчас доступна версия на базе Chromium 19) необходимость в этом веб-обозревателе у обычных пользователей остается под вопросом.


У нас в стране уже не одну программу погубило желание разработчиков превратить ее в социальный комбайн. Как правило, отечественным пользователям не очень нравится, когда социальными сайтами и функциями начинают пичкать все подряд, но в случае с RockMelt разработчикам, похоже, удалось сделать социальный браузер, не наступив на старые грабли.


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

Для того, чтобы проще описать RockMelt, лучше разбить интерфейс на 3 составляющих.

На верхней панели можно быстро открыть свой профиль в Facebook, ответить на запросы с добавлением в друзья, открыть в выпадающем меню историю переписки и посмотреть уведомления. Возле адресной строки доступна кнопка для быстрого обновления статуса в социальных сетях, который можно отправлять сразу на несколько сайтов. Запостить можно не только статус, но и ссылку на текущую страницу, которая вместе с заголовком и иллюстрацией (можно выбирать) будет автоматически добавлена в текст сообщения.

На левой панели находятся иконки сайтов, выбранных во время инсталляции браузера. Таким образом эта панель превращается во что-то наподобие аггрегатора RSS, но поддерживаются здесь не только сайты, но также почтовые аккаунты, Facebook, Twitter и другие соц. сети. На каждом значке будет отображаться количество непрочитанных сообщений/писем/уведомлений/новостей. После клика на иконке любого сайта откроется небольшая панель, на которой в стиле мобильной RSS-ленты будут показаны последние новости с небольшим количеством текста и иллюстрацией. Панель можно переместить в любое место экрана, чтобы она не перекрывала основное окно браузера.

На правой панели отображается список друзей на Facebook в привычном стиле этого сайта. После клика на любой иконке, как и на Facebook, внизу покажется небольшое окно для чата.

Чтобы все эти дополнительные возможности не отвлекали пользователя, когда они не нужны, есть так называемый Quiet Mode. По клику на иконке с будильником все панели исчезают из главного окна и только аватар пользователя для быстрого перехода на Facebook дает возможность отличить RockMelt от Chrome.

Насколько популярен браузер в мире, сказать сложно, но 240 тыс. лайков на Facebook показывают, что используют его не только энтузиасты.


Один из браузеров, который успел завоевать популярность еще на движке Trident, но после перехода на WebKit обрел второе дыхание.


Возможности Maxthon:

Поддержка жестов.
- Функция Super Drag&Drop, аналогичная SuperDrag в CoolNovo, упрощает управление браузером на тачпаде без средней кнопки.
- Блокировщик рекламы AD Hunter
- Возможность получать поисковые результаты одновременно из нескольких поисковых движков
- Режим чтения (Reader Mode), убирающий все лишнее со страницы.
- Скачивание потокового видео с популярных сайтов.
- Встроенная функция снятия скриншотов и базовое редактирование полученных изображений
- Встроенный переводчик страниц
- Заметки с синхронизацией
- Night Mode - ночной режим, меняющий тему оформления для комфортного чтения ночью.
- Resource Sniffer - сканер медиафайлов на странице, позволяющий загружать найденные файлы в пакетном режиме
- Встроенный Download Manager с поддержкой паузы
- Функция Auto Refresh – обновляет выбранные страницы через указанный промежуток времени.
- URL Safety – все сайты перед рендерингом проверяются в базе фишинговых угроз.

Большим плюсом браузера является и его высокая производительность, которая зачастую оказывается выше, чем у оригинального Chrome за счет того, что в этом веб-обозревателе активируют некоторые твики WebKit раньше, чем это делают в Google.

По большому счету, только один серьезный недостаток не дает Maxthon выиграть битву за звание самого лучшего браузера на движке WebKit. Речь идет о невозможности инсталлировать расширения Chrome. У Maxthon есть собственные дополнения, однако их не так много, как у Chrome, и они далеко не так интересны.

Тем не менее, даже с учетом этого недостатка, Maxthon является наиболее интересным альтернативным браузером на движке WebKit.


Уникальный браузер, поддерживающий сразу три движка: Trident (IE), Gecko (Firefox) и WebKit (Chrome).

Несмотря на такое триединство, похоже, что затачивался браузер в первую очередь под Gecko. Переключение между движками может происходить как вручную, так и в автоматическом режиме по заранее заданным правилам.


Lunascape поддерживает 3 вида расширений. Предсказуемо от IE и Firefox, а вот поддержки дополнений Chrome нет, вместо них можно инсталлировать специальные расширения конкретно для Lunascape.

Режим каскадного просмотра позволяет открывать сразу несколько сайтов в одном окне и менять их размеры для одновременного просмотра.

В отличие от большинства обычных браузеров, здесь есть сразу два режима полноэкранного просмотра. Первый – привычный, активируется по F11 и оставляет на экране только закладки и саму страницу. В режиме большого окна (F12) скрываются все панели, но если подвести к ним мышку, то они вновь появятся на экране.

Дополнительные возможности:

Встроенное распознавание жестов мышкой
- При большом количестве вкладок они отображаются в несколько рядов
- Все настройки браузера, включая закладки и плагины, периодически копируются для того, чтобы их можно было восстановить в случае необходимости.
- Поддержка скинов
- Базовые функции родительского контроля (возможность добавления сайтов в черный список).


Самый юный из рассматриваемых браузеров (номер последней версии - 1.0.0.1374). Версию Chromium, на которой он базируется, установить не удалось, но скорее всего используются свежие исходники, возможно, даже более свежие, чем в последней стабильной версии Chrome.


В браузере пока ровно три отличия от оригинального браузера Google.

Встроенный загрузчик торрентов, не требует сторонних программ (такой возможности нет ни в одном другом WebKit-браузере)
- Загрузчик потокового видео (работает практически на любом сайте)
- Быстрый постинг ссылки на страницу в Facebook
По какому пути будет дальше развиваться Torch, неясно, но в одной из следующих версий обещают встроенный ускоритель загрузки файлов.


После установки Sleipnir автоматически подхватывает все настройки Chrome: закладки, расширения и другие данные будут отображаться в браузере уже непосредственно при первом запуске.


Основная цель этого браузера - максимально тесная интеграция ПК и телефона. Для этого в Sleipnir добавлены наиболее востребованные возможности, которые часто можно встретить в специализированных приложениях.

Закладки между мобильным и десктопным браузерами постоянно синхронизируются. Любой сайт, открытый на ПК, можно добавить в раздел Read it Later для просмотра на телефоне или планшете. Телефонные номера в десктопном браузере можно передавать на дозвон, а адреса открывать на карте.

Для связки ПК и телефона необходимо установить дополнительное мобильное приложение , доступное для iOS и Android. Сам браузер Sleipnir можно использовать на Windows и Mac.

Яндекс.Интернет
Минимальная модификация Chrome от Яндекса. Естественно, в качестве поисковика по умолчанию используется Яндекс. Помимо этого, в браузере установлено приложение для прогноза погоды, а также переводчик слов на странице.


Новая вкладка также немного изменена. На ней видна большая строка поиска и расширение «Визуальные вкладки» от Яндекса. Визуальных ссылок в стиле Speed Dial от Opera по умолчанию целых 18 штук и их число можно увеличить до 48. Фоновое изображение на странице также можно менять.

Как уже упоминалось, на текущий момент последняя стабильная версия Chrome имеет порядковый номер 21, в то время как последняя сборка Яндекс.Интернет основана на исходных кодах 18 версии. Учитывая что в браузере не присутствует никаких сверхспособностей, и скопировать все его особенности можно с помощью пары расширений, особого смысла использовать эту сборку нет.


Еще одна попытка переосмыслить Chrome в России, на этот раз от Рамблер. Описание изменений на сайте отсутствует, а использование браузера предсказуемо показало, что помимо другой иконки и поисковика Рамблер по умолчанию, в веб-обозревателе, похоже, больше ничего и не меняли.


Основана последняя сборка Нихром на 19-ой версии браузера Google.


В свое время один из самых популярных браузеров на движке Gecko, как и RockMelt, позиционировавшийся в качестве социального веб-обозревателя. Летом 2010 года Gecko сменили на Webkit, а весной 2011 браузер был официально закрыт.

Некоторе время на сайте висит сообщение, указывающее на перезапуск проекта, однако, помимо известной цитаты Марка Твена «Слухи о моей смерти оказались сильно преувеличенными», больше на странице ничего не происходит.

Итоги

Подвести итог под этим материалом оказалось довольно просто. Всего три браузера заслуживают пристального внимания пользователей. Это Chrome, Maxthon и CoolNovo, и скорее всего, именно в таком порядке.

Основной плюс Chrome - стабильное обновление каждые 6 недель.

Преимущества Maxthon - интересные дополнительные возможности и высокая скорость работы. Недостатки - невозможность установки Chrome-расширений.

Достоинства CoolNovo - дополнительные возможности (включая много мелочей, которые невозможно или долго заменять расширениями) и поддержка родных расширений Chrome. Минусы - браузер начал редко обновляться.

  • Перевод

Для многих из нас, разработчиков, WebKit - черный ящик . Мы бросаем в него HTML, CSS, JS и кучу изображений, и WebKit, как-то… магически, выдает нам веб-страницу, которая выглядит и работает хорошо.
Но на самом деле, как говорит мой коллега Илья Григорик :

Веб-кит не является черным ящиком. Это - белый ящик. И не просто белый, но и открытый ящик.

Так-что, давайте попробуем разобраться в некоторых вещах:
  • Что такое WebKit?
  • Чем WebKit не является?
  • Как WebKit используется WebKit-браузерами?
  • Почему многие WebKit не одинаковые?
Теперь, особенно после новости, что Опера перешла на WebKit , нас окружает множество WebKit-браузеров, и достаточно сложно сказать, что их объединяет, а где они идут своим путем. Ниже, я надеюсь, мы постараемся пролить немного света на этот вопрос. В итоге, вы сможете лучше определять отличия браузера, отправлять баги в правильный трэкер, и вести кроссбраузерную разработку более эффективно.

Стандартные компоненты веб-браузера

Давайте перечислим несколько компонентов современных браузеров:
  • Парсинг (Разбор HTML, XML, CSS, Javascript)
  • Макет (Layout)
  • Рендеринг текста и графики
  • Декодировка изображений
  • Взаимодействия с GPU
  • Доступ к сети
  • Аппаратное ускорение
Какие из них общие для всех WebKit браузеров? В значительной степени только первые два.

Остальные компоненты каждый WebKit «порт» реализует по своему. Давайте разберемся что это значит.

WebKit порты

Существует множество WebKit «портов», и я предоставляю Ария Хидаят, WebKit хакер и тех. директор в Sencha право рассказать об этом :

Самым популярной ассоциацией к понятию WebKit, обычно является вид WebKit от Apple"s, который работает на Mac OS X (первая и оригинальная WebKit библиотека). Как вы можете догадаться, различные интерфейсы реализованы, используя различные нативные библиотеки Mac OS X, в основном сосредоточенные в компоненте CoreFoundation . Например, если вы определяете цветную плоскую кнопку, с особым радиусом контура, WebKit знает где и как рисовать эту кнопку. В тоже время, окончательный рендеринг кнопки (в виде пикселей на мониторе пользователя) ложится на плечи CoreGraphics .

Как я упоминал выше, используемый CoreGraphics, уникален для каждого WebKit порта. Chrome для Mac, к примеру, использует Skia .

В какой-то момент, WebKit был «портирован» под разные платформы, как десктопные, так и мобильные. Такая вариация обычно называется «WebKit порт». Для Safari Windows, Apple также самостоятельно «портировала WebKit» для запуска под Windows, используя своей (с ограниченной реализацией) CoreFoundation библиотеки.

… не смотря на факт, что Safari под Windows теперь мертв .
Кроме этого, также было множество других «портов» (см. полный список). Google создал и продолжает поддерживать свой Chromium порт. Также существует WebKitGtk, основанный на Gtk+. Nokia (а теперь Trolltech, который перекупил его) поддерживает WebKit Qt порт, который стал популярен в качестве QtWebKit модуля .

Некоторые порты WebKit

  • Safari
    - Safari под OS X и Safari под Windows два разных порта
    - Ночная сборка WebKit это сборка исходного кода Mac «порта», который используется для Safari, только новее
  • Мобильный Safari
    - Развивался в приватной ветке, но позднее был открыт .
    - Chrome под iOS (использует Apple’s WebView; чуть позже о разнице)
  • Chrome (Chromium)
    - Chrome под Android (использует непосредственно «порт» Chromium)
    - Chromium также является основой для браузеров: Yandex , , Sogou , и скоро, Opera.
  • Android браузер
    - Использует последний исходный код WebKit, доступный на момент релиза.
  • Еще большее количество портов : Amazon Silk, Dolphin, Blackberry, QtWebKit, WebKitGTK+, The EFL port (Tizen), wxWebKit, WebKitWinCE, etc
Разные порты могут фокусироваться на разных задачах. Фокус Mac порта - разделение между браузером и операционной системой, и предоставление биндигов Obj-C и С++ для встраивание рендеринг движка в нативные приложения. Фокус Chromium порта - всецело на браузере. QtWebKit предлагает свой порт использовать вместе со своей кросс-платформенной архитектурой приложений, в качестве движка для рендеринга.

Что общее во всех WebKit браузерах

Для начала давайте рассмотрим общие функции, которые используются во всех WebKit-браузерах:

Знаете это смешно, я сделал несколько попыток, чтобы написать этот абзац. И каждый раз члены команды Chrome поправляли меня, как вы увидите…

  1. И так, во первых, WebKit разбирает HTML одинаково. Ну, за исключением того, что Chromium единственный порт, на данный момент, где включена поддержка потоков для разбора HTML .
  2. … Хорошо, но после разбора HTML, DOM дерево конструируется одинаково. Ну, на самом деле Shadow DOM включен только для Chromium порта, тоесть построение DOM варьируется. Тоже для пользовательских элементов (custom elements).
  3. … Хорошо, WebKit создает window и document объекты для всех одинаково. Правда, хотя свойства и конструкции которые они предоставляют, могут зависит от использования переключателей функций (feature flags).
  4. … Разбор CSS одинаков. Поедание вашего CSS и преобразование его в CSSOM довольно таки стандартно. Ага, хотя Chrome поддерживает только -webkit- префиксы, когда Apple и другие браузеры поддерживают устаревшие префиксы -khtml- и -apple-.
  5. … Макет… позиционирование? Это же как хлеб с маслом. Везде одинаково, правильно? Ну уже! Субпиксельный макет и насыщенная макетная арифметика является частью WebKit, но отличается от порта к порту.
  6. Супер.

Так что, это сложно.

Теперь, давайте попробуем подвести итог, что общего в мире WebKit…

Что общего для каждого WebKit порта.

  • DOM, window, document
    более или менее
  • CSSOM
  • Разбор CSS, свойство/значение
    различия в префиксах производителей
  • Разбор HTML и построение DOM
    Одинаково, если мы забудем про Web Components.
  • Макет и позиционирование
    Flexbox, Floats, block formating context… все общее
  • Инструменты пользовательского интерфейса, и инструменты разработчика, типа Chrome DevTools он же WebKit inspector.
    Хотя с прошлого апреля, Safari использует свой собственный Safari инспектор, не-WebKit, с закрытыми исходниками.
  • Такие функции как contenteditable, pushState, File API, большинство SVG, математика CSS трансформаций, Web Audio API, localStorage
    Хотя реализация может отличаться. Каждый порт может использовать свою собственную систему хранения для localStorage и может использовать разное audio API для Web Audio API.
Становится не совсем понятно, поэтому давайте попробуем взглянуть на некоторые различия.

Теперь, что не является общим для WebKit портов:

  • Все связанное с GPU
    - 3D трансформации
    - WebGL
    - Декодирование видео
  • Отрисовка 2D на экран
    - Технологии сглаживания
    - Рендеринг SVG и CSS градиентов
  • Рендеринг текста и переносы
  • Сетевые технологии (SPDY, пре-рендеринг, WebSocket транспорт)
  • JavaScript движок
    - Движок JavaScriptCore лежит в репозитории WebKit. Но существуют биндинги в WebKit и для него, и для V8.
  • Рендеринг элементов форм
  • Поведение тэгов video и audio и поддержка кодеков
  • Декодирование изображений
  • Навигация назад/вперед
    - Часть pushState()
  • SSL функции, такие как Strict Transport Security и Public Key Pins
Давайте взглянем на один из них: 2D графика зависит от порта, мы используем совершенно разные библиотеки для рендеринга на экран:

Или если вдаваться в подробности, недавно добавленная функция: CSS.supports() была включена для всех портов, за исключением win и wincairo, для которых не включены условные функции css3 (css3 conditional features).

Теперь, мы вдаемся в технические подробности… время стать педантичным. Даже сказанное выше не совсем корректно. На самом деле это WebCore, является общим компонентом. WebCore это макет, рендеринг, и DOM библиотека для HTML и SVG, и в основном то, что люди думают, когда они говорят WebKit. В самом деле «WebKit» технически - это слой биндингов между WebCore и «портами», хотя в обычной беседе это различие в основном не важно.

Диаграмма должна помочь:

Многие из компонентов WebKit переключаемые (показаны серыми).

Например, JavaScript движок WebKit, JavaScriptCore, является движком по-умолчанию в WebKit. Изначально он основан на KJS (от KDE) с дней, когда WebKit начинался как ответвление KHTML. В тоже время, Chromium порт, переключается на V8 движок и использует уникальные DOM биндинги.

Шрифты и рендеринг текста являются очень большой частью платформы. Существует 2 отдельных пути для текста в WebKit: Быстрый и Сложный. Оба требуют поддержку специфичную для платформы (реализованную на стороне порта), но Быстрый только должен знать как блитировать глифы (которые WebKit кэширует для платформы), когда Сложный полностью переносит рендеринг строк на уровень платформы и просто говорит «нарисуй это, пожалуйста».

«WebKit это как сэндвич. В прочем, в случае Chromium, это больше как тако. Вкусное тако из веб-технологий.
Dmitri Glazkov, Chrome WebKit hacker. Champion of Web Componets, and shadow dom.

Теперь, давайте расширим обзор, и посмотрим на несколько портов и несколько подсистем. Ниже представлены пять портов WebKit, обратите внимание, как различается набор инструментов для каждого из них, несмотря на общие компоненты:

Chrome (OS X) Safari (OS X) QtWebKit Android Browser Chrome for iOS
Rendering Skia CoreGraphics QtGui Android stack/Skia CoreGraphics
Networking Chromium network stack CFNetwork QtNetwork Fork of Chromium’s network stack Chromium stack
Fonts CoreText via Skia CoreText Qt internals Android stack CoreText
JavaScript V8 JavaScriptCore JSC (V8 is used elsewhere in Qt) V8 JavaScriptCore (without JITting) *

* Сноска про Chrome для IOS. Он использует UIWebView, как вы вероятно знаете. В соответствии с возможностями UIWebView, это означает что он может использовать только такой же рендеринг движок, как и Мобильный Safari, JavaScriptCore (а не V8) и однопоточную модель. Тем неменее, некоторый код заимствован из Chromium, такой как подсистема для работы с сетью, синхронизация инфраструктура закладок, omnibox, метрики и отчеты о сбоях (crash reporting). (Также, JavaScript настолько редко является узким местом на мобильных устройствах, что отсутствие JITting компилятора имеет минимальное влияние.)

Хорошо, так к чему же мы пришли?

И так, все WebKit полностью различные теперь. Я напуган.

Не стоит! Покрытие WebKit тестами «layoutTest» огромное. (28,000 тестов по последним подсчетам), и не только для существующих функций, но также для всех найденных регрессий. На самом деле, когда бы вы не изучали новые или «тайные» функции DOM/CSS/HTML-5, наборы тестов «layoutTest» обычно имеют отличную минимальную демонстрацию.

В дополнении, W3C предпринимает усилия для стандартизации набора тестов . Это означает, что мы можем ожидать что и WebKit порты, и все другие браузеры будут тестироваться одинаковыми наборами тестов, что приведет нас к уменьшению quirks and a more interoperable web. Для всех тех, кто приложил свои усилия, посетив событие Test The Web Forward … спасибо вам!

Опера только что переехала на WebKit. Что из этого получится?

Роберт Найман и Роб Хоукс уже коснулись этой темы , но я добавлю что, одной из важной частью анонса было то, что Opera переходит на Chromium . Это означает, что WebGL, Canvas, HTML5 формы, имплементация 2D graphics, все эти вещи будут одинаковыми на Chrome и Opera теперь. Одинаковое API, и низкоуровневая реализация. Так как Opera основана на Chromium, вы можете ощущать, что вы сокращаете свою работу, по проверке совместимости на Opera и Chrome.
Я также должны обратить внимание, что все Opera браузеры будут переведены на Chromium. То есть, Opera для Windows, Mac, Linux и Opera Mobile (полноценный мобильный браузер). Даже Opera Mini, тонкий клиент, будет переключена с текущей рендеринг-фермы основанной на Presto, на другую, основанную на Chromium.

… и ночная сборка WebKit. Что это?

Это WebKit, работающий на том же коде что и Safari (хотя некоторые внутренние библиотеки были изменены). В основном Apple руководит им, так что поведение и набор функций соответствует тому, что вы сможете найти в Safari. Во многих случаях Apple ведет себя консервативно, когда речь заходит о включении функций, которые другие порты реализуют или с которыми ведут эксперементы. В любом случае, если использовать аналогии, думайте что… ночная сборка WebKit для Safari, это как Chromium для Chrome.
  • веб-браузеры
  • веб-разработка
  • Добавить метки

    Популярный движок обработки веб-страниц, лежащий в основе Apple Safari и Google Chrome. Является свободным программным обеспечением. Характеризуется высокой скоростью работы и отличной поддержкой веб-стандартов.

    WebKit – это движок обработки веб-страниц, лежащий в основе множества браузеров. Среди них как два входящих в «большую пятерку» - и , так и менее популярные - Maxthon 3, Rekonq, Epiphany, RockMelt. Konqueror, Midori и Arora. Разработчики мобильных браузеров также используют этот движок в своих продуктах, в частности, в Safari Mobile для операционной системы iOS и браузеры, встроенные в мобильные платформы Android, Samsung Bada и HP WebOS.

    Такое разнообразие браузеров связано с тем, что WebKit представляет собой свободное программное обеспечение и может использоваться любым желающим, придерживающимся ряда некоторых условий.

    WebKit берет свое начало от свободного же движка обработки веб-страниц, разрабатываемого в рамках популярной графической среды для операционных систем семейства *nix – KDE. В 1998 году разработчики KDE приняли решение создать браузер специально для этой графической среды.

    Браузер получил название Konqueror, а его движок - KHTML. В 2001 году компания Apple задумалась о создании собственного браузера и взяла исходный код KHTML и движка обработки JavaScript-кода KJS для работы в рамках нового проекта. Проект получил название WebKit.

    В январе 2003 года корпорация Apple представила первый релиз браузера Safari, использующего в своей работе движок WebKit. Со временем разработчики Konqueror включили в него возможность использования WebKit наряду с KHTML. Несмотря на то, что KHTML уже отстает по возможностями от WebKit, разработчики продолжают работать над ним.

    Корпорация Google при создании своего браузера также решила использовать движок WebKit. В качестве причины такого выбора представители компании называли лучшую поддержку веб-стандартов и высокую скорость работы. Кроме того, в Google планировали использовать труд разработчиков Apple. Учитывая, что в настоящее время над движком работают программисты сразу двух корпораций и множество независимых разработчиков, можно быть уверенным, что WebKit станет еще лучше.

    Совсем недавно я встречал вопросы с тегом "webkit". Такие вопросы обычно связаны с веб-вопросами, связанными с CSS, jQuery, макетами, проблемами совместимости кросс-броузеров и т.д.

    Итак, что это за "webkit" и как он относится к CSS? Я также заметил множество свойств -webkit-... в исходном коде для различных веб-сайтов. Связаны ли эти два?

    Update

    Итак, из ответов до сих пор... WebKit - это механизм отображения веб-браузера HTML/CSS для Safari/Chrome. Существуют ли такие механизмы для IE/Opera/Firefox и каковы различия, плюсы и минусы использования одного над другим? Могу ли я использовать функции WebKit в Firefox, например?

    Окончательный вопрос... Поддерживается ли WebKit IE?

    Обновление 2

    Все основные браузеры используют разные механизмы рендеринга. Я думаю, это большая причина, почему так много проблем с совместимостью между браузерами!

    Итак, есть ли какой-то проект или движение для стандартного механизма рендеринга, который будут использовать ВСЕ браузеры? Будет ли HTML5 устранять проблемы совместимости между браузерами?