Apple Developer Connection
Advanced Search
Member Login Log In | Not a Member? Contact ADC

Internet & Web Overview

Mac OS X is an outstanding web development platform, with its stable open-source core based on FreeBSD 5.0 and a wealth of standard open-source web technologies. Mac OS X gives you the ability to develop dynamic browser-based applications that you can deploy locally, on Mac OS X Server, or on your heterogeneous enterprise servers. On the client side, the Safari web browser supports not only Mac OS X, but also Windows and iPhone, so you have a greater audience for web applications than was available just a year ago. The WebKit, which forms the basis of the Safari web browser, provides a powerful HTML engine for use in your applications. Dashboard widgets provide a simple yet powerful way to quickly get information into the hands of your users. And if you prefer AJAX, WebObjects, PHP, Perl, Python, JSP, or pure Java implementations, you can collaboratively develop your site leveraging corporate resources such as databases, LDAP repositories, and source code management repositories. You'll enjoy the reliability of UNIX, plus the rich user interface and ease of use that are the hallmarks of Macintosh.

Sophisticated Web Applications

The availability of Safari on Mac OS X, Windows, and iPhone means you now have a cross-platform delivery mechanism for new, unique types of web applications. Safari is built on the Cocoa WebKit framework, which provides a set of classes to support a variety of web content—from the most trivial embedded web content application (with web content displayed in a single window) to a full-featured web browser such as Safari.

Safari includes support for Scalable Vector Graphics (SVG), a W3C open standard. SVG brings to the WebKit the capability to draw basic shapes and Bezier curves; precise text layout; linear and radial gradients; transparency; raster graphics (images), and more. Some of the advanced features include clipping, masking, patterns, resolution-independent filters, animation, and so on. Plus, SVG can be controlled from JavaScript the same way you program the Document Object Model (DOM). Scripting SVG takes you beyond the Core DOM by allowing typed access to attributes; computed values; and built-in graphics-oriented data types.

You use the WebKit to display web content in a window of your application, as well as edit web content within a WebView. You can also modify the DOM directly using an Objective-C API. With the WebKit, you can access JavaScript from Objective-C and vice versa.

The WebKit can be extended to handle the details of client requests, frame and resource loading, window operations, and downloading. You can also implement your own document models and views to handle specific MIME types. Because of this extensibility, the WebKit can be used to develop some innovative Internet applications.

Information at your Fingertips

Dashboard enables Mac users to get fast access to information and functionality they use frequently. The Dashboard is home to Widgets, mini-applications that provide a very simple, tightly focused interface for common tasks. They're lightweight (launch quickly), very simple, and very easy to use. Widgets can stand alone, complement the functionality of a larger and more powerful application, display information from the Internet, and a lot more.

Widgets are based on the WebKit. Anyone who can weave HTML markup with CSS (Cascading Style Sheets) and JavaScript can write a Widget. Widgets support plug-ins, so you can drop down to Cocoa and Objective-C and access the functionality of your own native code or any other system code. And from Cocoa, you can access any other functionality on the system.

Dashcode is Apple's Dashboard widget development environment. It offers a built-in debugger and all the text editing features of a professional IDE. Dashcode is geared for all levels of Widget developers. You can start out with a prebuilt template and modify it to your needs, or get deep into the JavaScript, CSS, and HTML that defines all the aspects of how a Widget looks and works.

Multimedia Everywhere

QuickTime is Apple's multimedia software architecture that provides digital video streaming capability in all popular web browsers, including Safari, Firefox, and Internet Explorer. QuickTime is a plug-in and sits in its own, self-contained world. For web development, QuickTime integrates with XHTML through simple interfaces. Other types of content can be rendered on top of your QuickTime content, as well as below, including CSS, SVG, and even alpha-composited QuickTime! Plus, your QuickTime content can be styled using CSS, such as controlling the video's opacity with the opacity property. This allows for complete skinning of QuickTime content and controls.

JavaScript can be used to control the QuickTime plug-in through access to the QuickTime APIs. You can get the status of the media state while being retrieved, loaded, etc. You can also get more information about loaded data such as the movie size, number of bytes, loaded, and so on. The plug-in fires DOM events, just like AJAX technologies, so you can get notification of additional state changes, for example loaded, ended, timeupdate, durationchanged, or stalled. Callbacks allow the script to be notified when a given point in the media has been played.

Podcasts offer an extremely effective and popular way to deliver content over the Internet. Apple's Podcast Producer is a complete, end-to-end solution for producing professional-quality podcasts. With the Podcast Capture application in Leopard, users can capture audio and video, record onscreen actions, or submit existing QuickTime content to the server. Once it's uploaded, Podcast Producer automatically publishes content in formats optimized for playback on almost any device, from HD video to iPod, Apple TV, or any multimedia-enabled cell phone.

Effective Collaboration

With Mac OS X Server, it's easy for anyone to create collaborative web pages, called wikis, complete with group calendar, blog, and mailing list. Wiki Server includes 20 Apple-designed themes for wiki-powered websites, where group members can create blog entries, tag and cross-reference material, upload files and images, add comments, and perform keyword searches—all with just a few clicks. And there's no need to worry about mistakes, because the wiki maintains the complete history, so you can always revert to a previous version of any page.

Industry Standards

Mac OS X includes solid support for web industry standard tools, including the Apache web server, AJAX, PHP, MySQL, PostgreSQL, Perl, SFTP, WebDAV, Java 1.5, Java Web Start, and J2EE. Mac OS X Server includes Apache Tomcat, making development and deployment of J2EE applications easier than ever.

JavaScript is possibly the most popular web scripting language, and as part of AJAX allows you to create some remarkable interfaces in a web page, making possible browser-based applications that look and behave like desktop applications.

For network security, Mac OS X relies on standards such as digital certificates, SSL encryption, secure remote login through SSH, and directory and authentication services through Open Directory, which works with LDAP and other protocols, such as Active Directory.

Fast Development

The WebObjects framework makes it easy to develop, deploy, and extend your own standards-based web services without writing low-level SOAP, XML or WSDL. These web services can interoperate with clients written in many languages, including Java, AppleScript, Perl and .Net, opening up enterprise development to your class of programmers. You can also create database applications that have HTML, XML, SMIL or Java Swing interfaces, depending on your needs. WebObjects gives you the power to deliver enterprise-level web services and Java server applications—and the agility to respond immediately to change.

Need to build a web application quickly? Use AppleScript, tightly integrated into the Xcode IDE, to write clients that make remote procedure calls using the XML-RPC and SOAP protocols. While you're working, you can continually store and retrieve your web application's compiled language files and web files, such as HTML, PHP, and Perl, with Xcode's integrated support for the powerful Subversion and CVS source code management tools.

With its fully integrated tools riding atop the rock-solid foundation of Mac OS X, Macintosh provides the best browsing and web development experience on any computer today.

For news, updates and links to other ADC content related to the Internet and Web on Mac OS X, return to the Internet & Web topic page.

Updated: 2007-10-26