Почему использование WebKit?
Много приложений должны вывести на экран веб-контент в окнах, является ли это живым содержанием в сети или статическими файлами на диске. Некоторые приложения являются полнофункциональными браузерами, но чаще приложения встраивают веб-контент как удобство, как в пользовательской системе документа. HTML является фактическим стандартным представлением документов в Интернете, таким образом, только естественно, что Вы захотите вывести на экран то содержание, не имея необходимость запускать веб-браузер для каждого файла или ссылки, щелкнутой пользователем.
Некоторые приложения могли бы хотеть вывести на экран веб-контент по требованию, но не обязательно хотят проанализировать его или понять его структуру для отображения его. Приложения как это могут не хотеть открывать многократные окна или обеспечивать назад и прямые кнопки. WebKit обеспечивает ряд классов для поддержки множества веб-контента — из самого тривиального встроенного приложения веб-контента (с веб-контентом, выведенным на экран в единственном окне) к полнофункциональному веб-браузеру, такому как Safari.
WebKit делает это путем сокрытия подробных данных сложной задачи загрузки и отображения веб-контента. Сеть основывается на клиент-серверной архитектуре, в которой клиенты выполняют асинхронные запросы к веб-серверам для содержания страницы. Во время этого процесса может произойти любое число проблем, не только когда передающий эти запросы и ответы по сети, но также и при отображении содержания, как только это получено приложением. Содержание может быть сложным. Это может содержать многократные элементы кадра, многократные типы MIME, такие как изображения и фильмы. Некоторые типы MIME требуют, чтобы плагины браузера вывели на экран их.
По умолчанию классы ядра WebKit прозрачно обрабатывают программируемый и клиентские запросы. WebKit создает всю необходимую модель, и классы представления раньше представляли и выводили на экран входящее содержание. Когда пользователь щелкает по ссылке, WebKit автоматически оставляет управление старых объектов и создает новые для обработки новой страницы. Представления WebKit разработаны для обработки многократных кадров, каждого с их собственной полосой прокрутки и многими типами MIME. Вы не должны реализовывать пользовательские представления для своего приложения для отображения веб-контента в приложении.
С другой стороны, при реализации пользовательского, полнофункционального браузера или другого интернет-приложения можно расширить WebKit для обработки подробных данных клиентских запросов, кадра и загрузки ресурса, операций окна и загрузки. Вы делаете это путем реализации объектов делегата. WebKit обеспечивает много «рычагов», позволяющих приложения настроить пользовательский интерфейс. Например, можно указать пункты меню, выведенные на экран, когда пользователь щелкает по определенному типу ресурса. Можно также реализовать собственные модели документа и представления для обработки определенных типов MIME. Из-за этой расширяемости WebKit может использоваться для разработки некоторых инновационных интернет-приложений.