Windows

Good news for Web developers: Safari 3 does Windows

Apple has ported Safari to Windows with version 3. You can download the beta version of Safari 3 from Apple's site. Find out why Tony Patton thinks this new formidable browsing option is just what Web developers need.

A few years ago, I developed a Web application that worked as planned in every browser tested, but it failed miserably when viewed in Safari. Since I don't use an Apple computer, it has been a chore to properly test an application in Safari -- until now.

Apple has ported Safari to Windows XP and Windows Vista with version 3. You can download the beta version of Safari 3 from Apple's site. This new formidable browsing option is just what Web developers need.

Features

Safari 3 has all of the features that users expect: tabbed browsing with support for drag-and-drop support for tabs; inline search toolbar; built-in RSS; pop-up blocker; robust security; and an overall easy-to-use interface. There is a handful other features that stand out.

  • Bookmark support: This makes it easy to manage My Favorites with an interface along the lines of managing music in iTunes.
  • Private browsing: This feature allows you to browse without maintaining a digital footprint like cookies and browsing history.
  • SnapBack: This feature allows you to easily return to a page with one click of the mouse.
  • User interface: The browser's UI follows the look-and-feel of Apple, so it is a change for Windows users. However, the UI is intuitive, so I had no problems using it.
  • Performance: One feature included with the browser announcement is performance statistics that suggest Safari 3 outperforms Internet Explorer 7 by a 2-to-1 margin, with Firefox 2 somewhere in the middle. This applies to loading HTML, JavaScript, and application startup. While Safari 3 loaded without hesitation for me and quickly rendered requested sites, it is hard to discern a performance advantage over a competitor when the difference is a second or two. I need to conduct more tests to get a better idea of which browser performs best.

WebKit

I find it interesting that the open source browsing engine WebKit is at the core of Safari. WebKit was originally derived from the KHTML software library of Konqueror. Apple, Nokia, Google, and other companies have contributed to the development efforts to extend this core engine.

WebKit is broken down into two smaller frameworks called WebCore and JavaScriptCore. These frameworks provide the features for Web browsing and JavaScript interpretation, respectively. (These frameworks are available for Mac OS X application development to add Web content rendering capabilities.)

The WebKit Open Source Project site provides loads of information about using it in your own projects or using some of the tools offered on the site. One positive aspect of Safari for developers is the availability of tools.

(A couple of asides: While WebKit is at the core of Safari, it is also used in other browsers for mobile platforms like the iPhone and offerings from Nokia. In addition, it was used to build Google's Android platform.)

Tools

Safari cannot match Firefox when it comes to developer add-ons and tools, but it does offer tools and options for Web developers with Drosera and the Web Inspector.

Drosera Drosera is a JavaScript debugger that you may use with Safari. It is available for download from the WebKit site. It is included with the WebKit nightly builds, which may be downloaded for Windows or Mac platforms. It requires Safari 3 beta or higher.

Drosera runs in its own window and provides most of the debugging features that you would expect. This includes the ability to step through code, breakpoints, a command console, and access to the variable and function stack.

The Drosera page states that it is not currently available on the Windows platform, but it was available when I downloaded the nightly build on Feb. 2, 2008. Drosera has a way to go to compete with Firebug, but it does offer a usable tool.

Web Inspector Web Inspector allows you to get an inside look at a Web page and examine the DOM hierarchy and page resources. Like Drosera, it is included with the WebKit nightly builds.

Once you install Web Inspector, it is available via a context menu called Inspect Element, which you can access with a right-click of the mouse. You right-click on a Web page to open the DOM for the page with the currently selected item highlighted.

After the highlighted item is selected, Web Inspector opens in its own window and provides a split screen view of the page. Page resources are listed on the right; this includes HTML documents, CSS stylesheets, images, and scripts. The source of each selected element on the right is displayed in the left-hand portion of the window.

An interesting aspect of Web Inspector is the Network selection; it provides details about all of the resources used on the current page. This includes file size, load time, and so forth.

A growing browser market

Steve Jobs said the introduction of Safari 3 for Windows will help increase share of the browser market, where Safari currently has five percent.

On one hand, it surprises me that Safari 3 is available for Windows users because Apple always seems to keep to themselves and its own technology; yet, it makes sense to make Safari available on the most popular platform (Windows) to increase market presence.

As a developer, I am thrilled at the opportunity to easily test applications for Mac users, and the Safari browser is intriguing; it offers another option with a cool interface.

Are you currently using Safari? Do you plan on using Safari 3 on Windows? Out of all the browsers you use, which one do you think performs best? Share your thoughts with the Web Developer community.

Additional resources about Safari 3 on TechRepublic

Tony Patton began his professional career as an application developer earning Java, VB, Lotus, and XML certifications to bolster his knowledge.

---------------------------------------------------------------------------------------

Get weekly development tips in your inbox Keep your developer skills sharp by signing up for TechRepublic's free Web Developer newsletter, delivered each Tuesday. Automatically subscribe today!

About

Tony Patton has worn many hats over his 15+ years in the IT industry while witnessing many technologies come and go. He currently focuses on .NET and Web Development while trying to grasp the many facets of supporting such technologies in a productio...

20 comments
david.rowland
david.rowland

because it's the most standards-compliant browser, and very helpful development add-ons: the Web Developer Toolbar, and Firebug. I can't imagine ever going back to IE.

Jaqui
Jaqui

the browser development groups should get with the program and just write browsers that handle standards compliant code only. and website developers should force the issue by only writing standards compliant code. anyone who doesn't meet standards with their code is to stupid to be in business. STANDARDS compliancy is a legal defense. you leave yourself open for litigation by not having STRICTLY compliant code.

AspDotNetDvlpr
AspDotNetDvlpr

I'm confused - hasn't Safari been available for Windows for over a year now? Why are you so surprised? I had to double-check the article date to make sure this was a current article :)

Justin James
Justin James

I have a few questions: 1) Is the Windows Safari identical in rendering, compliance, etc. to the Mac version? If not, this makes it Yet Another Browser to test for, and doesn't help with test Macs. If it does, great! 2) Is the Windows Safari (or Mac Safari) identical to Konqueror for those items? If so, couldn't folks just test on KDE in a VM? Now I know that a while ago, the answer to #1 was that the Windows Safari would be a touch different, and that the answer for #2 was that they were not the same. At least, that's my memory. What's the current status on those two items? That makes all of the difference if this is a Good Thing or a Bad Thing. Thanks! J.Ja

Gerbilferrit
Gerbilferrit

Microsoft Expression Web? Yeah it's MS, but for someone who finds dreamweaver a bit messy and convoluted, it writes pretty clean standards comp code in a WYSIWYG manner, and it uses the nice Visual Studio intellisense to prompt you to the correct standards compliant usage when coding manually!

fastboxster
fastboxster

I don't agree. I think browsers should "do their best" to render the documents they're given. Users should be free to choose the one that does the best job for their needs (and not be force fed a single option that meets the needs of everyone). The browser market is still rapidly evolving. Standards bodies, while well intentioned, move far to slow to keep up with the rate of innovation. There must be competition in the market to incentivize the developers to meet the demands of the users. However, I do think mainstream software should be more "forgiving" and the developers should stay "true" to the cause and not try to use their market share as a anti-competition weapon (i.e. don't deliberately cause incompatibilities to gain a competitive advantage). You're a follower, and I respect that, but somebody has to invent new stuff or else all of the followers would have no one to follow, and they would be out of their jobs. You may not enjoy testing for multiple platforms; it can be a real pain for certain. But that is a "job" for better or worse.

Justin James
Justin James

Jaqui - I *would* agree with you, but the W3C writes pretty lousy programs. I keep trying to use Amaya for HTML editing, it may be one of the top 10 worst applications I have ever used in my life, in terms of quality. Between it turning portions of text invisible after I delete a block, crashing, and a thousand and one other problems... the W3C is not a vendor I want my software coming from. A lot of the problem, I am sure, is that many of its most important members are software vendors who make software for these things... J.Ja J.Ja

aspatton
aspatton

Safari 3 is the first version to run on Windows. I assume you are referring to the alpha release of Safari 3 a few months ago.

NgunnawalJack
NgunnawalJack

I felt so bouyed up by the feedback here, I thought I'd try it. Downloaded from the Apple site and installed OK including Bonjour. Crashed as soon as I started it - got one of those annoying tell MS dialogs. Any suggestions?

johja
johja

After playing with Konqueror and Swift as attempts for "Safari-on-Windows" types of browsers, I was pleased late last spring to hear about Safari for Windows. I had much better luck and ease-of-use with the Safari for Windows than Konqueror and Swift didn't really work. I downloaded Safari v.3 Public Beta for Windows in early June 2007 and played with it. Browser detection detected it as Safari build 522.11. It behaved as one would expect Safari to behave on Mac with regards to JavaScript discrepancies (Safari vs. IE vs. Firefox), with regards to pages that are customized for Safari users, and with regards to graphical dimensions when image swapping. In testing it, I found an example where CSS behaved differently in Safari for Windows as opposed to Safari for Mac. When the zero-day exploit came out via the Windows version and my job pushing for development that works in IE7, Safari (Mac), and Firefox (Mac/Win), I lost interest in testing and haven't played much with it since. Further, between Leopard on MacIntel and Safari being upgraded for Windows, this may all be fixed. My recommendation is that developers should test in Safari on Mac as well.

The Scummy One
The Scummy One

mainly due to the article/blog. Anyway, there are a few nice things about it. However I would like the toolbar to be more customizeable... 1 good thing though. TR has not caused my browser to FREEZE up yet. when in IE6/IE7/FF the browser crawls along after a few minutes, and I cant do anything. In Safari, no issues yet.

aspatton
aspatton

I have the same questions as well, but I am unable to get definitive answers.

Jaqui
Jaqui

since I do not have windows to run it on, it is useless to me.

Justin James
Justin James

I was quite impressed by it, even wrote a glowing review of it for TechRepublic. :) J.Ja

Jaqui
Jaqui

multiple platforms? me? I test against lynx, if it works, then it works for everyone. the only testing. since I only write strict standards compliant sites. [ ie STRICT DTD none of this loose or transitional bull crap ]

Jaqui
Jaqui

that website should be strictly standards compliant code. the web browser called IE should refuse to display any website that is NOT strictly standards compliant. [ or firefox, opera, seamonkey ] I never said use the W3C's tools, I said write the code to be standards compliant, completely different.

Shaunny Boy
Shaunny Boy

In a perfect world, developers would all use a single programming language, modularity and code reuse would always be utilised (re-inventing the wheel would be punishable by death), and we could have as many cigarette and coffee breaks we ever wanted... But until that day, if the boss demands he have annoying flashing text, and IE doesn't support annoying flashing text, I'll show it to him in firefox! The point I'm trying to make is there is more than one way to skin a web page, and if there wasn't, where would the fun be in that?

Jaqui
Jaqui

that's why I was more specific in my response. :) I figured you had misread it, since I know you agree with writing standards compliant code. [ heck it's actually easier to do so, and maintain than non compliant code ]

Justin James
Justin James

I read that wrong! I thought you said "browser standards development groups", I have no idea why my mind inserted the word "standards". Yes, I agree with you. :) J.Ja

cSpeak
cSpeak

As nice as it would be to see all websites using strictly standard compliant code, most websites on the web today would break and cause a HUGE loss in revenue for companies. On top of that, they would be required to have their websites reprogrammed using standard compliant code. Some smaller companies wouldn't be able to take the double hit and larger companies would lose too much revenue. Some sites would take weeks to months to completely reprogram using strict web standards. It would be suicide for browser vendors to one day say "Sorry, not using strict standards? Now your site doesn't work." If that happened, someone would come along and make a browser that will display poorly coded sites and create a name for themselves taking the market share. It would never get to that because browser vendors are not that stupid. They need to slowly start pushing the standards but keep the backward compatibility for some time.

Editor's Picks