{"id":39,"date":"2008-05-17T19:08:57","date_gmt":"2008-05-18T01:08:57","guid":{"rendered":"http:\/\/hg.silverstarip.net\/~koleson\/wordpress\/?p=35"},"modified":"2008-05-17T19:08:57","modified_gmt":"2008-05-18T01:08:57","slug":"the-wonderful-world-of-webkit","status":"publish","type":"post","link":"https:\/\/www.jusquici.org\/blog\/?p=39","title":{"rendered":"the wonderful world of webkit"},"content":{"rendered":"<p>I have the pleasure of working on an application that utilizes Apple&#8217;s open-source KHTML derivative,\u00c2\u00a0<a href=\"http:\/\/webkit.org\/\">WebKit<\/a>. \u00c2\u00a0It&#8217;s the same engine that powers Safari and is among the most standards-compliant layout engines available to date. \u00c2\u00a0After somewhat of a slow start, WebKit adoption is picking up among open-source projects, with the most notable being the\u00c2\u00a0<a href=\"http:\/\/live.gnome.org\/Epiphany\/WebKit\">Epiphany<\/a>\u00c2\u00a0browser that ships with the GNOME desktop environment.\u00c2\u00a0 Epiphany is switching from\u00c2\u00a0 <a href=\"http:\/\/www.mozilla.org\/newlayout\/\">Gecko<\/a>, the layout engine for Firefox, among others.\u00c2\u00a0 WebKit has also found a home in numerous OS X apps in a variety of contexts, and considering you can use WebKit in your app with\u00c2\u00a0<a href=\"http:\/\/foxmagic.livejournal.com\/238347.html\">zero lines of code<\/a>, that&#8217;s not surprising.<\/p>\n<p>But in addition to being friendly to the Cocoa side of development, WebKit is also great for developing websites with such old-fashioned things as HTML, CSS, and JavaScript. \u00c2\u00a0In addition to its standards-compliance, it provides excellent DOM and JavaScript debugging tools as well. \u00c2\u00a0These features not only exceed those provided by the former gold-standard of web developer browsers &#8211; Firefox &#8211; but also those of third-party plugins like the excellent\u00c2\u00a0<a href=\"http:\/\/www.getfirebug.com\/\">FireBug<\/a>.<\/p>\n<p>For DOM inspection, WebKit (and thusly, Safari&#8217;s &#8220;Develop&#8221; menu) provides the &#8220;Web Inspector&#8221;, which is essentially Firefox&#8217;s DOM Inspector on steroids. \u00c2\u00a0The typical DOM hierarchy display is there, along with element highlighting.<\/p>\n<p><a href=\"http:\/\/hg.silverstarip.net\/~koleson\/wordpress\/?attachment_id=36\" title=\"WebKit Web Inspector - DOM Hierarchy\" rel=\"attachment wp-att-36\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.jusquici.org\/blog\/wp-content\/uploads\/2008\/05\/webkit_dom.png\" alt=\"WebKit Web Inspector - DOM Hierarchy\" height=\"188\" width=\"500\" \/><\/a><\/p>\n<p>In addition, a chronological breakdown of the page load sequence is provided to help optimize file loading patterns. \u00c2\u00a0This view even provides hints, where available, on how to make your page load faster.<\/p>\n<p><a href=\"http:\/\/hg.silverstarip.net\/~koleson\/wordpress\/?attachment_id=37\" title=\"WebKit Web Inspector - Page Load Timeline\" rel=\"attachment wp-att-37\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.jusquici.org\/blog\/wp-content\/uploads\/2008\/05\/webkit_timeline.png\" alt=\"WebKit Web Inspector - Page Load Timeline\" height=\"254\" width=\"500\" \/><\/a><\/p>\n<p>Most of the time, Web Inspector is all you need to make a great looking site, but sometimes your JavaScript code base becomes a bit unwieldy. \u00c2\u00a0For those circumstances,\u00c2\u00a0<a href=\"http:\/\/trac.webkit.org\/wiki\/Drosera\">Drosera<\/a>\u00c2\u00a0is now available. \u00c2\u00a0It&#8217;s still in its infancy and is not quite up to par with Firebug&#8217;s capabilities, but it does show potential and offers elementary functionality in that arena.<\/p>\n<p>Putting all these things together, though, is what I find the most special. \u00c2\u00a0Any WebKit instance in a Cocoa app can be inspected with Web Inspector and can be debugged with Drosera.<\/p>\n<p><a href=\"http:\/\/hg.silverstarip.net\/~koleson\/wordpress\/?attachment_id=38\" rel=\"attachment wp-att-38\" title=\"Drosera - Attach to Application\"><img decoding=\"async\" src=\"https:\/\/www.jusquici.org\/blog\/wp-content\/uploads\/2008\/05\/drosera_attach.png\" alt=\"Drosera - Attach to Application\" \/><\/a><\/p>\n<p>These tools are all still moving forward at a good clip.  Drosera, in particular, needs some more love before it can be a class-leader, but the speed of WebKit&#8217;s development in general gives me faith that it too can be a best-in-class tool.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I have the pleasure of working on an application that utilizes Apple&#8217;s open-source KHTML derivative,\u00c2\u00a0WebKit. \u00c2\u00a0It&#8217;s the same engine that powers Safari and is among the most standards-compliant layout engines available to date. \u00c2\u00a0After somewhat of a slow start, WebKit adoption is picking up among open-source projects, with the most notable being the\u00c2\u00a0Epiphany\u00c2\u00a0browser that ships &hellip; <a href=\"https:\/\/www.jusquici.org\/blog\/?p=39\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">the wonderful world of webkit<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_markdown_editor_remember":false,"footnotes":""},"categories":[5,17,11,15],"tags":[],"_links":{"self":[{"href":"https:\/\/www.jusquici.org\/blog\/index.php?rest_route=\/wp\/v2\/posts\/39"}],"collection":[{"href":"https:\/\/www.jusquici.org\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.jusquici.org\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.jusquici.org\/blog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.jusquici.org\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=39"}],"version-history":[{"count":0,"href":"https:\/\/www.jusquici.org\/blog\/index.php?rest_route=\/wp\/v2\/posts\/39\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.jusquici.org\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=39"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.jusquici.org\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=39"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.jusquici.org\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=39"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}