Today's topic for the Blog Every Day in May callenge prompts you to "educate us on something you know a lot about or are good at." Well, I know a lot about web development, and even more about software engineering and computer engineering. Hmmm. I wasn't sure how I wanted to go about that, so I thought I would just list some of my favorite tools in web development.
First of all, I used to be a Windows and Linux person. I learned programming on Linux, then became a Windows fan. But then, about three years ago, I got a job that required us to use iMacs for web development. It may just be the fact that I love having a change of scenery, or that I get bored quickly and like to try something new, or perhaps a little of both, but I instantly became an Apple fan.
It also helps that the iMac doesn't have to be restarted every day, or get a "blue screen of death." To tell the truth, I was getting really sick of Windows. The most awesome thing about Apple computers is that I get to have a full-on Linux command-line in combination with a fresh Apple interface. So, here is the complete list of tools I use in web development:
Macbook Air: This is the most awesome little Ultra book created to date. I LOVE this thing! I got the smallest version, at 11 inches. It's so light and portable, it's like having an awesome, powerful computer in nearly the size and weight of an iPad.
TextMate: Unfortunately, this is the one tool that is only available on a Mac. This software makes me so happy, I almost feel like switching to a Mac is worth it just for the privilege of using TextMate. It is a very powerful plain text editor with color-coding for just about every language you can think of. The most awesome thing about this software is that you can get Bundles that will do a number of automated code-writing for you. For example, with the Drupal bundle, you just hit a few keysto bring up a whole commonly-used Drupal function, with the cursor positioned ready to add code. There are many other examples.
MAMP: On Windows, you would use WAMP, and on LINUX, it's LAMP. Each one is similar, and extremely useful. This is a powerful tool that combines Apache, MySQL and PHP to allow you to build a full website on your local computer before uploading it to a live website.
Git: This is a version control system that makes development of web code much easier, especially if you are developing with a group of people. SVN used to be the popular standard, but Git is quickly taking over simply because it's much better.
Firefox with add-ons: I love the speed of Chrome, but Firefox has some of the best add-on options. My list of important add-ons, in order, follows:
- Firebug: This is the most important add-on for developing web sites. It allows you to see all of the HTML you are currently looking at, and then edit the code and css in real-time to see how it affects the page. This is an absolutely invaluable tool.
- CookieSwap: This tool is also extremely useful in web development, and also for business owners who have multiple accounts on social media. This tool allows you to basically switch to a new cookie profile, so you can view a site as a different user. You can have as many profiles as you want. All you have to do is click a little button on the lower right corner of your browser to change profiles.
- Pixel Perfect: This tool is necessary for web developers who are required to match the design of a web page exactly to specs. It's great if you are working with a client who is picky about every pixel being perfect, because you can align an image of the design as a ghosted overlay to the page, then use Firebug to make small changes until everything lines up.
- WOT: This tool warns you when you've reached an unsafe website. When I'm looking up solutions, I don't want to be bothered with a bunch of spam sites. You can add your own two cents to this add-on as well.
- Form History Control: This tool is useful when you are creating a form. It allows you to save your form history, then auto-fill the data over and over and over again with the click of a button while testing.
- Evernote Web Clipper: This is more of an administrative tool, but I rely on it for so many different things. Now that Evernote for Mac has a word counter, I even use it for writing, which means I can write a full article on Evernote from my phone, then bring it up on my computer to finish it up. But I also use it to clip useful pieces of information about web development, writing, and everything else.
- ColorZilla: This is a very useful tool for selecting colors from a web page or image with an eyedropper. The selected colors are copied to the clipboard, and placed in the Palette Browser for later use.
- Firepicker: This is a little color picker that pops up within Firebug while selecting a color in the CSS palette. It just makes it easier to choose a new color in a more artistic way.
- X-notifier: This is another useful tool that doesn't really have anything to do with web development directly, but it does make it easier to check all of your email accounts from your browser while you are engrossed in work.
opt-shift-V (or alt-shift-V): This is actually part of the Web Developer tool in Firefox, but I'm listing it separately, because it's the best way to W3C-validate the HTML on your site.
Adobe Photoshop and Premiere: These are my favorite photo and video editing apps, but GIMP and iMovie or Windows Movie Maker are somewhat acceptable alternatives when I'm using another computer, and don't have access to my usual tools.
I have to stop there. This is way longer than I had planned, and I have things to do. I hope this list can be helpful to someone out there!