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 iOS, 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 OS X (such as PHP, Perl, Python, JSP, and MySQL).
OS X also offers a rich set of networking APIs that provide advanced features while maintaining compatibility with open standards. 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 iOS 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 Web Inspector Guide 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 to take advantage of high-level wrappers around common URL-based tasks.
Read Stream Programming Guide to use input and output streams in your application.
Go In Depth
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 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.
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 OS X to make remote procedure calls using the XML-RPC and SOAP protocols.
Creating a Web Server
Read Java Development Guide for Mac for information on Apple’s support for Java development tools.
Developing Client/Server Network Applications
Read Bonjour Overview and NSNetServices and CFNetServices Programming Guide to develop zero-configuration, Bonjour-enabled applications for 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 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.
kpi_socket.hin the KPI Reference for more information on using socket-level network communications from kernel code.
Ready for More?
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).