- Browser Comparison
- iPhone Browser
- Palm Pre Browser
- Opera Mini Emulator
- Konqueror
- Mac OSX Safari
Safari works seamlessly and syncs your passwords, bookmarks, history, tabs, and more across Mac, iPad, iPhone, and Apple Watch. And when your Mac, iOS, or iPadOS devices are near each other, they can automatically pass what you’re doing in Safari from one device to another using Handoff. AIR iPhone is another iOS simulator, perfect if you want to get the look and feel of using an iPhone. AIR iPhone is an Adobe AIR application that reproduces the iPhone’s GUI. The web browser, Safari, and most other functions that can be found on the actual phone are not available on the replica application.
Mac OS X
Apple’s web browser, Safari for Mac OS X has currently the biggest usage share on Mac OS X. This web browser uses WebKit which is a derivative of KHTML engine. Some other Mac browsers like Shirira, iCab since 4.0, OmniWeb since 4.5 also use WebKit API and also many other different Macintosh programs use WebKit to add web-browsing functionality. Opera browser and Mozilla Firefox also have high usage share on Mac OS X.
Camino, a Mozilla-based Gecko browser used for Mac OS X, uses native Cocoa interface of Mac similar to Safari rather than XUL of Mozilla which is used by Firefox. Dave Hyatt had initially developed it after which Apple hired him to develop Safari for them.
iPhone Web Browser
Safari is the native web browser of iPhone, and it displays pages similar to its Windows and Mac counterpart. Web pages can be viewed in landscape or portrait mode and they also support automatic zooming by spreading apart or pinching together fingertips on the screen, or also by double-tapping images or text. The iPhone does not support both Flash and Java. As a result, the UK's Advertising Standards Authority decided that an advertisement which claimed that the iPhone could access 'all parts of the internet' should be taken back in its current form, on the basis of false advertising. The iPhone supports SVG, HTML Canvas, CSS and Bonjour.
Safari’s iPhone OS-specific features include:
- To save an image to the photo album, press it for 3 seconds.
- Browsing in MDI-style (which includes with up to 8 pages open simultaneously, limited by cache storage).
- Bookmarking links to important pages as 'Web Clip' icons on the Home screen.
- Opening of specially-crafted pages in full-screen mode.
Recently, I have been working on improving mobile support in the content produced by our PDF to HTML5 converter. One problem that I have encountered is how to debug iOS Safari, particularly if you are not a Mac user.
If you are a web developer, you are likely very familiar with the tools available to you when debugging a web page or web app in a desktop browser, but how do you debug when developing for a mobile device such as the iPad or iPhone?
The answer is that you debug remotely, using the same tool as you would on desktop, except connected to your mobile device. If you are debugging Safari on iOS this will require Safari version 6 and up. Windows & Linux developers will be disappointed to hear that the latest version of Safari available for Windows is version 5, and it’s not available at all on Linux.
If you don’t own or have access to a Mac this can be very frustrating (though I would not say it’s the most frustrating thing about developing a web app for iOS, there are many). It would be great if Apple offered Virtual Machines with Safari pre-installed for testing, as Microsoft does for Internet Explorer. Fortunately, all is not lost – there are some alternatives available which I will discuss below.
Remote Debugging iOS Safari on OS X:
Firstly, you need to have a device running iOS, such as an iPad or an iPhone that you can connect by USB to a Mac computer with Safari version 6 onwards installed.
Next, you need to enable ‘Web Inspector’ on your iOS device. You can do this by going to Settings > Safari > Advanced, and toggling Web Inspector so that it is enabled.
Then, you need to enable the Develop menu in Safari on your Mac computer if it is not already enabled. You can do this by going to Safari > Preferences > Advanced, and ticking the check box for Show Develop menu in menu bar.
Now, if your iOS device is plugged in to your computer with the web page you wish to debug currently open, you can go to Develop > iOS Device Name in desktop Safari, and click on the page you wish to debug.
You can now view and update the DOM, access the JavaScript console and more.
Remote Debugging iOS Safari on Windows and Linux:
[Update – Jan 2019] Since writing this article, the recommended solution is no longer available. There is however a new tool which allows you to debug iOS Safari using the Chrome Web Developer tools. You can find instructions for setting this up here: RemoteDebug iOS WebKit Adapter. I have tested this tool (in January 2019) and can confirm it is working.
There are very few options available to the web developer using Windows, and even fewer for those using Linux. Apparently, the Telerik Platform AppBuilder includes a Chrome Developer Tools capable of remote debugging pages in Safari. You can find a guide for doing that here. Be aware that this is not a free solution.
In my option, the best solution for debugging Safari on Windows and Linux is to use a really cool web app called JSConsole. JSConsole works by inserting a script tag into your web page that overrides the console behavior. Rather than writing logs and errors to a console you can’t see, instead they will be streamed to a jsconsole session open in your desktop web browser that will be listening to your device.
To start, go to jsconsole.com and run :listen in the prompt. This will give you a unique session ID and a script tag that you insert into your mobile web page.
Now, any console output that your mobile page generates will be streamed to the console open in your desktop web browser, including any errors!
It is certainly no replacement for a full web inspector, but it can get you out of trouble when you don’t have access to a Mac.
If you found this article useful, feel free to try our PDF to HTML5 converter online for free.