Tonight the first CocoaHeads Reston meeting was held at Near Infinity Corporation. Jason Harwig gave an excellent presentation on WebKit, starting with a simple browser created completely in Interface Builder (it consisted of a text field linked to a web view). I’ve recreated it and included a snapshot below.
Next he demonstrated how to interact with the DOM and JavaScript. The JavaScript integration was in both directions, first he demonstrated calling JavaScript functions from Objective-C and then calling Objective-C from JavaScript. It should be noted that for JavaScript to call Objective-C you need to implement the + (BOOL)isSelectorExcludedFromWebScript:(SEL)aSelector;
method and return NO
for each of the methods you wish to call.
Finally, Jason walked through various uses of WebKit an demonstrated an application specific, full-screen browser he wrote for a game as well as a del.icio.us Cocoa application he wrote called Delish. Several other webkit based applications were also covered such as Fluid – a freely available site-specific browser creator, PackRat – a commercial site-specific browser for Backpack, and another application which I’ve forgotten (I guess I should’ve taken notes). As an aside, Jason brought up the interesting work that the 280North folks have done for their 280Slides web-based presentation called Objective-J. Objective-J (code named Cappuccino), is an Objective-C like language built on JavaScript.
Matt Wizeman stepped up next to demo a WebKit application he’s developing to wrap a troublesome time tracking web application. It was interesting the machinations he had to go through to know when the page had finished loading and to transition between pages since the application was JavaScript heavy, using tricks like clickable divs.
I learned quite a bit about WebKit. As soon as I got home I was energized to play with it.
Be sure to come to the next meeting on July 10th (day before iPhone 3G day)!