Mac OS X For Web Development
Macintosh has long been passed over by the typical Web developer, as it’s considered a niche operating system and platform for development. Until OS X, Macintosh was almost solely the domain of designers and artists, and just another piece of the Web development puzzle. This is no longer the case.
What’s The Big Deal?
With any Web development initiative, several layers of work must be completed to make up the whole project. This includes artwork, HTML, a programming and/or scripting language, database development, and, in some cases multimedia and XML. No news there. However, what is new is that the Mac OS X platform provides an all-in-one approach.
Apple has combined the tools for design, development, programming, and testing on a single system. The ability to run server side applications and engines locally on your machine, alongside your standard Web development tools, allows for faster production and extremely efficient testing. In this article, we’ll explore the flexibility and functionality of OS X as a Web development platform. In many cases, the decision to use OS X can reduce your machine requirements to one during conception, design, development and testing.
The Core Tools
Let’s start with the core tools OS X offers.
Web Server on the Desktop
The majority of Web servers across the globe run Apache –- in fact, the latest Netcraft Web Server Survey places that number at 64%. A great many Web development projects are based on the LAMP combination -– Linux, Apache, MySQL and either Perl, PHP or Python. Other database alternatives will function here as well, including the popular PostgreSQL. Furthermore, the Java 2 Platform from Sun Microsystems, used for java server pages, java servelets, and java beans, can run locally on OS X. This broadens the scope for Web developers by making J2EE Web applications a possibility.
These server side engines are now present or can be installed under the desktop hood. With the core of the OS running a slightly modified FreeBSD kernel, these traditional yet cutting edge Web development tools run natively on a desktop or laptop. All of the most popular management tools for Web developers are present as well, including command shells, shell scripting, CVS, SSH, FTP and WebDAV, and the ultimate open source mail server, Sendmail.
In essence, using OS X, a complete Web server environment can be configured and managed from the localhost, including Web project sharing over your local network for collaboration during development. This eliminates the need for separate servers for development; developers no longer require always-on connectivity for review and testing. An added bonus is having offline access to all the configuration files that power these server side engines, either via the command line or text editor.
The Development GUI
Of equal importance are the tools you must use to create your Web solutions. These remain graphics editors, HTML editors and specialty applications (Flash and multimedia authoring, etc.).
For those working within an integrated development suite such as from Adobe or Macromedia, OS X will look no different from the interface to which you’re accustomed, as these applications are all present in similar fashion. For the code purist, BBEdit from Bare Bones Software has proven itself over the years as an advanced text and programming editor. BBEdit supports complex text manipulation, syntax checking in HTML and tools for working with programming and scripting languages. BBEdit additionally offers native support for CVS.
For the hardcore Web app programmer, Apple provides a full strength object-oriented programming application, Project Builder, which can manage advanced Java and PHP projects very efficiently.
Of course, there are plenty of other tools for Web development on the Mac; however, Adobe, BBEdit and Macromedia remain the defacto standard packages for design, layout and development. Contrary to an old myth that the Macintosh platform lacks in software variety, the Mac product catalog includes over 18,000 software titles.
Additionally, being a Unix variant, OS X now allows users to run popular open source and proprietary tools (normally run on separate Linux workstations) right from the OS X desktop — including X11 applications.
Collaboration, Review and Testing
As I noted earlier, sharing your local Web server on a local network is as easy as a mouse click. If you’re using a dedicated IP address over broadband, or have access to a dynamic DNS service, you can also collaborate remotely, sharing this same local Web server over the Internet.
In an office environment, you will find that past issues with joining your Mac to a Windows or Unix-based network environment no longer remain. Built-in OS X solutions for multi-platform networking allow for plug-and-play-style simplicity when collaborating with users on non-Mac platforms. You can even interact with directory services, such as Microsoft’s Active Directory Services, when logging on to your local network.
While it’s beyond the scope of this piece, it is worth mentioning that Microsoft Office users on OS X can leverage and connect to Microsoft Exchange Servers, which adds value to collaboration via email communications, shared posts and shared calendars.
One of the key benefits of having your development workstation and server together is experienced during review and testing. The ability to drag and drop files to and from CVS or directly onto your Web server saves valuable time during modifications and troubleshooting. The ability to test dynamic database-driven pages and server side scripting “on the fly” locally is powerful and efficient.
Testing opportunities have grown dramatically with standards-centric browsers like Safari (built on the Linux-based KHTML Project), Opera, and Netscape on OS X. These browsers and the traditional Internet Explorer have come a long way in adhering to World Wide Web Consortium Internet standards and for testing DHTML and JavaScript. (Microsoft has announced they will no longer update the browser past 5.2.3, the current version).
Finally, you can run Windows on your OS X desktop when testing cross-platform compliance in Web applications and projects via Virtual PC, which can run all major flavors of Windows desktop operating systems.
A Complete Solution
In closing, we have discovered that OS X can serve as a comprehensive Web development environment supporting the starter Website project to complex Web applications with many participants. The aforementioned tools have all been proven through the years –- the point is that in OS X, they’re consolidated onto one platform for ease of use and functionality.
In a follow up to this article, we’ll roll up our sleeves and get under the hood to configure and set up the OS X environment for Web development. Stay tuned!