Web Development on Linux

So, anyone who knows me knows that I made the switch to Linux awhile back and have been extremely happy with it. A lot of the developers I talk to are worried about the transition, but I've managed to work out the kinks, and have majorly increased my productivity.
First Step - the Distro...
I chose Ubuntu. Why? Because it's simple. I tried out a few of the major distro's out there including Fedora, OpenSuse and Mandriva. I found that on almost any system I could install Ubuntu and be up and running in a matter of an hour - with the others I found myself struggling to compile drivers, get core elements configured, and install software.
Next, the environment...
I'm a Gnome guy. Wasn't at first - I looked at KDE and said "by golly, that's a hell of a lot like what I'm used to with Windows!". Ubuntu = Gnome, and since I was having so much success with the distro I figured I'd just go ahead and try to get into the desktop environment as well. If you really like KDE and want to use Ubuntu - there's Kubuntu which should meet your needs.
Software...
If you haven't used Aptana yet you're a fool. It's an amazing IDE and the plugin selection is great.
For other editing (with Gnome), I find that GEdit (built in text-pad like editor - with syntax highlighting) is great. Say I just need to fix some little snippet, just edit it in GEdit and I'm set.
For other development tasks there's Filezilla for FTP, and MySQL Administrator for connecting with your database.
For design work it's a little more tricky. There's the obvious - GIMP - but the learning curve is a little steep, especially if you're already working on learning a whole new OS. Gimpshop attempts to make things a bit more similar to the Photoshop you (possibly) are used to, but there's still something left to be desired. My alternatives were Wine - which will (with some applications - I got Adobe Fireworks running) let you run Windows apps in Linux, and VitrualBox (see next section: Virtualization) which let me run a Windows environment in which I can use the apps I need that ONLY run on Windows.
Virtualization...
My new best friend is VirtualBox. Were I not doing web development I could probably move away from Windows completely, but I still need to test my sites on IE, and no matter how hard I try it's just not going to port over. VirtualBox is faster (faster than VMWare), and runs great. I installed a very minimized install of XP and cut out the fluff, and can run Photoshop, Illustrator, and IE in it. Check out the Shared Folders to connect your virtual machine to your host and work on files without having to transfer them via thumb-drive.
Tricks...
My favorite function of my Linux install is Compiz, not only does it have some nice window effects (wobble, trasparency, etc), but the Desktop Cube is priceless to me. I ditched my cluttered mess of two monitors, and now can easily switch between desktops with a quick key-combo. It seemed a little like I was losing something at first, but working off one monitor with multiple workspaces has helped me to organize my work like never before.
Also, if you go with Ubuntu, sign up for the forums. Lots of helpful people and lots of posts detailing fixes, tweaks, and general workings of the OS.
Conclusion...
It's not right for everyone. I would suggest trying it out on an old machine, or use a LiveCD to get comfortable with it before diving in. However, once you make the committment stick with it! There were a few times in the beginning where I almost wiped everything and went back, but I always kept in mind that it would take me hours to restore my Windows install, get everything setup again, and run all the updates - whereas a little time Googling, or scanning the forums would get me the answer and I'd be back in business.
I don't hate Windows, nor do I hate Mac - I just wanted to use something that fit my needs and wasn't going to cost me (in either hardware or software costs). Using Linux has also led me to use more of a "Cloud" approach - I've ditched my email client for webmail, calendar, and contacts, and even bought an account with Grooveshark for my music needs.
Responses to this Article:
Loading Comments...
I am a web developer, designer, and consultant located in the La Crosse / Onalaska Wisconsin region with
over twelve years experience developing and managing projects ranging from large applications and cloud-based
business solutions to social/new media campaigns, to complete system and infrastructure implementation.