Wednesday, May 28, 2008

Web Development Platform

Yes, it's been three years since I posted. No, I'm not going to hash out the details why, 'cause who cares ;)

Recently a friend at work got his first Mac. It's been fun to bask in some of the "digital light" with a friend, sharing favorite things about the hardware, software, etc. But one of the things that I've loved so much about having my Macs is how easy it is to use as a Web development platform.

I started out early on coding HTML, but quickly grew tired of the staticicity (yes, I made that word up) of it and decided to get deeper into "smarter" code. I chose PHP because it was open source and from what I could tell, somewhat resembled the syntax of the C programming language, which was the only real programming exposure I'd had up to then. There was also the aspect of it not being ASP, which was a must for me, as a Mac fanatic. This was pre-OS X days, so the Mac was very different than it is today. But OS X was close behind my delving into web development. And it couldn't have come at a better time.

I got a hosting account at echoecho dot com and started playing with stuff there. But I was regularly not connected to the Web, as I took public transportation to and from work most days. It began to be a pain to have to push content to my website to test it, and being new to web development, I didn't really know my options. Well, somehow I stumbled across Server Logistics and their web hosting installers (Apache, MySQL, PHP) for the Mac. I believe at this point OS X was at version 10.2, which was, in my opinion, the first real commercially ready version of OS X. Well, I installed the packages, got things set up, and suddenly, I was able to test all my PHP code locally, on my laptop. Landmark? No. But for me it was just the breakthrough I needed.

I started doing all kinds of things with web-based code. And, to this day, I still prefer to type my documents in HTML, rather than Word or the like. No, my tool of choice is the mother lode of text editors, BBEdit. If you're looking for a powerful text editor and you are Mac-based, I'm not aware of a better tool. There are some cool tools out there that support collaboration really well, but I code alone most of the time, so that's never been an issue for me. I prefer the likes of Subversion these days, anyway.

So, back to the original point of this post. In Web development, there are three primary things to be concerned with: 1) design; 2) code; 3) hosting. That's maybe over-simplified, but those are the major components. Well, I think most people would agree that the majority of artistic types use Macs, rather than PCs. Despite the tools for design being nearly identical in function on both platforms, the Mac remains the artists' choice. So that aspect is covered. Next is the coding. I've heard that BBEdit has been touted as a reason for moving to the Mac. It's really that good (though I don't remember where I first heard that stated). Even if you're not a "hand coder", there are a plethora of tools out there to do the job on the Mac as well as Windows.

That brings us to the hosting. At this point I'm reminded of a shirt I saw years ago on a college campus. It said something to the effect of, "God made Linux to host Web servers". Mac OS X isn't Linux, but with it's BSD underpinnings, it's definitely a lot closer than Windows. Close enough that running Apache, MySQL, and PHP is fairly trivial, and the experience is much the same as it is on a Linux box.

Just yesterday I was trying to get a quick test website up and going at work. I had a virtual Windows machine up and going, decided to use that since it was already available. I installed a package called EasyPHP, which I've used in the past for doing local testing on a Windows machine. Well, local testing was great, but I couldn't "see" the website on any other computer on the network. the machine was pingable, so connection to it wasn't the problem. I don't know what you'd want to do with a web server except make it available to other machines on the network. It eventually baffled me, and I'm looking for another solution. I just wish Windows wasn't so darn hard to work with. We live in a Windows world, but I can't, for the life of me, figure out why.

Well, that's enough for today. This post turned into a novel. I hope to be back sooner than 2011.