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. Java is available for web server development. 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).
Mac OS X also offers a rich set of networking APIs that provide advanced features while maintaining compatibility with open standards. Mac OS X supports networking at all levels of development, from high-level Cocoa applications to the kernel. You can use Apple’s networking APIs to develop software that accomplishes a wide range of networking tasks, from providing access to web services within your application to writing a device driver for a network hardware device.
Want to create a Dashboard widget?
Read Dashcode User Guide to create widgets and iPhone OS web applications.
Want to embed a webpage in your Cocoa application?
Read WebKit Objective-C Programming Guide for concepts and tasks.
Want to create webpages for Safari on any platform?
Read Safari Web Content Guide to create web content that is compatible and optimized for Safari on any platform.
Read Safari User Guide for Web Developers to test your webpages.
Want to develop a network application with Core Foundation?
Read CFNetwork Programming Guide to take advantage of network protocols such as HTTP, HTTPS, and FTP.
Want to develop a network application with Cocoa?
Read URL Loading System Programming Guide to take advantage of high-level wrappers around common URL-based tasks.
Read Stream Programming Guide for Cocoa to use input and output streams in your application.
Using HTML, CSS, and JavaScript
Read Safari HTML Reference and Safari CSS Reference for information on HTML and CSS support in Safari.
Read WebKit DOM Programming Topics, WebKit DOM Reference, and Safari DOM Additions Reference for the JavaScript APIs that allow you to access the Document Object Model (DOM).
Read Safari CSS Visual Effects Guide for information on adding transitions, animations, and using transforms.
Read Safari Client-Side Storage and Offline Applications Programming Guide to learn various ways to store data locally.
Accessing web content from a Cocoa application
Read WebKit DOM Programming Topics (for concepts) and WebKit Objective-C Programming Guide for (Objective-C tasks) to access the Document Object Model (DOM) from Objective-C.
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 Programming Guide for information on using URLs in your applications.
Writing a Safari plug-in
Read WebKit Plug-In Programming Topics if you are writing plug-ins using Objective-C.
Using Web Services
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.
Creating a Web Server
Read Java Development Guide for Mac OS X for information on Apple’s support for Java development tools.
Visit the MySQL site, the MacPorts Project, and the Comprehensive Perl Archive Network for information on third-party tools such as MySQL and Perl.
Developing Client/Server Network Applications
Read Bonjour Overview and NSNetServices and CFNetServices Programming Guide to develop zero-configuration, Bonjour-enabled applications for Mac OS X. Read DNS Service Discovery Programming Guide to develop Bonjour-enabled software on Linux, on Windows, using Java, or at the socket level on Mac OS X.
Read System Configuration Programming Guidelines for information on determining and configuring network preferences.
Read Distributed Objects Programming Topics to take advantage of remote procedure calls in Cocoa.
Developing In-Kernel Networking Software
Read Network Device Driver Programming Guide for information on developing network drivers with I/O Kit.
Read Network Kernel Extensions Programming Guide for details on developing network kernel extensions, such as a custom firewall.
Read kpi_socket.h
in the KPI Reference for more information on using socket-level network communications from kernel code.
The Snow Leopard Reference Library holds plenty more resources that make your job easier. To narrow the list of resources, you can set filters to focus on specific resource types (such as guides or sample code) or on specific topics (such as user experience or data management).
Last updated: 2009-05-27