Introduction to WebKit Objective-C Programming Guide

What Is WebKit?

The WebKit framework provides a set of core classes to display web content in windows, and by default, implements features such as following links clicked by the user. WebKit greatly simplifies the complicated process of loading webpages—that is, asynchronously requesting web content from an HTTP server over the network where the response may arrive incrementally, in random order, or partially due to network errors. WebKit also simplifies the process of displaying content that can contain various MIME types, and multiple frames each with their own set of scrollbars.

You use WebKit to display web content in a window of your application. It’s as simple as creating a view, placing it in a window, and sending a URL load request message. By default, your WebKit application behaves as you would expect without error. WebKit conveniently creates and manages all the views needed to handle different MIME types. When the user clicks on a link in a page, WebKit automatically creates the views needed to display the next page.

However, WebKit doesn’t implement a complete set of web browser features. You can, however, extend WebKit by implementing custom delegate, view, and model objects. For example, you can implement a delegate to display load status, and the current URL.

WebKit also offers web content editing. If you enable editing in your WebView, users can edit the web content it displays. You can programmatically control the current selection and control editing behavior using a WebView delegate. You can also modify the Document Object Model directly using an Objective-C API.

You can also access JavaScript from Objective-C and vice versa.

Who Should Read This Document?

The WebKit Objective-C API is specifically designed for embedding web content in your Cocoa or Carbon applications—developing web client applications not web server applications or web content. It is also not suitable for implementing non-GUI applications such as web crawlers. If you are a web content creator or JavaScript programmer, refer to WebKit DOM Programming Topics.

Organization of This Document

The following articles cover key concepts in understanding how WebKit works:

The following articles explain how to display web content in views:

The following articles explain how to implement web content editing:

The following articles explain how to use the Document Object Model Objective-C API:

Read this article if you want to access JavaScript from your application:

You begin using WebKit by first embedding web content in your application. Read Simple Browsing, and, optionally, Loading Pages and Loading Resources to embed web content. If you want to add more browser-like features or implement a custom user interface, read Core WebKit Classes first and any other articles based on your application needs. If you want to edit web content, read Enabling Editing.

See Also

For more details on the Objective-C WebKit API, read:

There are other technologies, not covered in this topic, that can be used in conjunction with WebKit or separately to solve related problems.

Refer to this document for more details on the URL loading system:

If you are accessing WebKit from a Carbon application, refer to these documents:

If you are creating web content for Safari or Dashboard, refer to these documents:

The /Developer/Examples/WebKit folder also contains more in-depth code examples.

Other related text book resources are:

Also refer to the World Wide Web Consortium at for the latest information on web standards.