Introduction
Technology Overview
Mac OS X provides a wide variety of APIs and tools for developing web content and applications for the web. There are Web 2.0 technologies for creating and manipulating web content for Safari on the desktop, Safari on iPhone OS, and Dashboard. There are also web client APIs available to Cocoa and Carbon application developers to access web services and display and edit web content in desktop applications. There is WebObjects or pure Java to implement web server applications. There are also plenty of third-party APIs and tools for web server development available on Mac OS X (such as, PHP, Perl, Python, JSP, and MySQL).
Start Here
Before you begin to write any code, it’s a good idea to be familiar with the underlying Internet and web technologies. Start by reading Internet & Web for an overview of the tools available on Mac OS X.
Choose a Learning Path
There is a vast set of technologies related to Internet & Web development. The subheadings in this section identify four distinct paths of Internet & Web development. Choose the path that is most appropriate for your project.
Creating Web Content
If you are creating or editing web content—files or data types that are transmitted by web server applications and displayed by web client applications—for Safari on the desktop, Safari on iPhone OS, or Dashboard, then use Web 2.0 technologies that include access to the Canvas element and Document Object Model (DOM). If you are new to JavaScript on Mac OS X, read Apple JavaScript Coding Guidelines.
If you are creating JavaScript content to display in any Safari-based application, read WebKit DOM Programming Topics for concepts and tasks, and WebKit DOM Reference for API details. If you want to use the Quartz Composer WebKit plug-in, read Quartz Composer WebKit Plug-in JavaScript Reference.
If you are creating HTML and CSS web content for Safari-based applications, read Safari HTML Reference and Safari CSS Reference for information on HTML and CSS support in Safari.
If you want to add visual effects to your web content, read Safari CSS Visual Effects Guide for information on adding transitions, animations, and using transforms.
If you want to add audio and video to your web content, read HTML Scripting Guide for QuickTime and JavaScript Scripting Guide for QuickTime.
If you want to store data locally using JavaScript, read Safari Client-Side Storage and Offline Applications Programming Guide for the different ways you can store data locally.
If you are creating Dashboard applications, called widgets, read Dashcode User Guide.
Creating Web Content for iPhone OS
If you are creating web content or applications specifically for iPhone OS, go to Web Apps Dev Center for details on creating web content for these handheld devices with touch screens.
Developing Web Client Applications
If you are developing web client applications using Cocoa or Carbon, you can use the WebKit to display and edit web content in your windows. If you just want to send requests to a web services application, there’s an API for that, too. There are also C, Objective-C, and Java APIs for using web standards such as XML and URL in your applications. If you are new to Cocoa or Carbon development, read Getting Started with Cocoa or Getting Started with Carbon for links to additional resources.
If you are displaying or editing web content using Objective-C, read WebKit Objective-C Programming Guide for concepts and tasks, and WebKit Objective-C Framework Reference for API details. You can also read URL Loading System to learn more about the WebKit underpinnings.
If you are accessing the Document Object Model (DOM) from Objective-C, read WebKit DOM Programming Topics for concepts and WebKit Objective-C Programming Guide for Objective-C tasks.
If you are writing plug-ins using Objective-C, read WebKit C Reference.
If you are displaying or editing web content using C, read WebKit C Reference and Carbon-Cocoa Integration Guide. You can also find articles on using the WebKit from Carbon applications in WebKit Objective-C Programming Guide.
If you are using web services in your applications, read Web Services Core Programming Guide for details on how to access WSDL web services from your applications. Read XML-RPC and SOAP Programming Guide for how to use AppleScript and the Apple Event Manager in Mac OS X to make remote procedure calls using the XML-RPC and SOAP protocols.
If you are accessing web content in your application using Objective-C or Java, read XML Programming Topics for Core Foundation and Property List Programming Topics for Core Foundation for information on using XML in your applications. Read URL Loading System for information on using URLs in your applications.
If you are accessing web content in your application using C, read XML Programming Topics for Core Foundation and Property List Programming Topics for Core Foundation.
Developing Web Server Applications
If you are developing web server applications, especially database-driven web applications, you want access to all the J2SE and J2EE development and deployment tools, including WebObjects, EOF, and JavaServer. WebObjects is specifically designed for implementing database-driven dynamic web content. You can easily turn any HTML-based WebObjects application into a web services application by simply using an assistant.
If you are creating dynamic, database-driven web applications or web services, read WebObjects Overview and WebObjects Web Applications Programming Guide for specific information on using WebObjects to build and deploy web applications. Read Getting Started with WebObjects for a quick introduction to different ways of using this technology.
If you are creating web server Java applications, read Getting Started with Java for information on Apple’s support for J2SE, J2EE, Java Web Start, and other Java development tools.
If you are using third-party tools, such as MySQL or Perl, to develop web applications on Mac OS X, some useful websites are mysql.com, macports.org, and cpan.org.
Next Steps
The Internet & Web Reference Library includes the following high-level resource pages, which you can bookmark for easy access:
Conceptual and how-to information for developing web server and client applications, and Internet and web content.
Focused, detailed descriptions in reference format for Internet and web, including Java technologies and low-level APIs for handling XML and URLs.
Late-breaking news and highlights of new or changed features in the latest release.
Samples demonstrating how to use APIs and tools.
Late-breaking documents on issues related to Internet and web.
Programming tips, code snippets, & FAQs by Apple’s support engineers.
Copyright © 2004, 2008 Apple Inc. All Rights Reserved. Terms of Use | Privacy Policy | Updated: 2008-11-19