My favorite tools for Web Development
The question that I get asked more than any other is, “What tools do you use to code?”, so I figured I’d spread some software/knowledgebomblove and lay out my workflows!
I’ll also break it down by the actual order of my workflow (since that’s a bit easier for me to write/remember anyway):
I code by hand, and since I code by hand, Dreamweaver isn’t even a thing that exists on my computer. I use the almighty TextMate editor which I LOVE. It has everything, followed by nothing, which is exactly why I love it so much.
When I started coding, I used the built in textedit program that comes with MacOS, but switched to TextWrangler for a couple reasons:
- Line numbers (without line numbers, being a programer is like being a blind airline pilot)
After a while, I noticed that I was typing out the same bits of code 1,000X per day. Bits like including jquery, database connection code, document ready snippets, blah blah blah blah blah. Turns out, while not free (TextMate is $50), it (Textmate) has built in snippet support. So instead of typing out:
Now I type: “,document”, hit tab, and it outputs the same bit. Repeat that 1,000 times, and you’ve got yourself a deal!
TextMate also has Bundle support, which is amazing and provides one-click population of files for anything you can dream of. Wordpress user and can’t ever remember how to make a plugin? Gipetto’s Tmbundle has your back.
Get Textmate at: http://macromates.com
Or get TextWrangler at: http://www.barebones.com/products/textwrangler/
Granted, I initially switched to TextMate for snippet support, I did find it a bit annoying that I had ALL OF THE SNIPPET POWER- but only within my textmate window, but I couldn’t expand a snippet in mail, or Chrome, etc…
Mamp (not Mamp Pro, just plain old Mamp)
The first time I decided to try coding PHP, I almost gave up before I coded a single line. As a non-command-line-loving-guy, installing, configuring, and then keeping everything up to date using a straight PHP install was nearly the end of my coding lifecycle. A few computers and a lot of annoying installation time later, some long-forgotten stackoverflow post pointed me to MAMP and I’ve never looked back!
Why I love Mamp:
- 5 minutes to install (pretty big download so I’m not including that)
- Lets you use any location on your computer you may want as the fileserver
- Comes bundled with MySQL, so that’s yet another thing you don’t need to install
- Comes bundled with PhpMyAdmin (I don’t use it, but it’s totally there!)
- No crazy bullshit. You just install it, start it, and do your work. If it doesn’t work, you just quit the program, start it back up, and do your work.
- Mamp’s default configuration very closely matches that of most servers, so when you’re done with a site and are ready for it to go live, there is almost never the “What the hell! This worked 100% on my local!”
Get it at: http://www.mamp.info
When it’s time for you to set up your magical database schemas and get down to the dirty dirty, it’s time for Sequel pro. This is hands down the best, most stable, easy to use MySQL interface I’ve ever seen or used.
Why I love Sequel Pro:
- Free (Though you should donate if you get it, it is absolutely worth money)
- Allows you to have multiple databases open at the same time across multiple tabs (priceless if your day looks anything like mine and you’re working on more than 1 project at the same time)
- Almost zero to install or configure- just pop in your creds (if you’re using mamp, provided on the start page) and click “Connect”. Everything else is pretty much 1 click
- Excellent import/export of tables or entire databases- no size limitations. This is a must-have for inherited projects that for no real reason have 500mb databases
- Allows full MySQL operations
- Provides right-click export options of items or groups (to multiple output formats)
Get it at: http://www.sequelpro.com
Before you decide to post a comment about this, the answer is “Yes, I know how to use github via the command line.”. No, I’m not a wussy. And yes, I really like this much better.
The Github app is excellent. I’m a ‘let me see it’ sort of person, and particularly when it comes to the simple stuff like cloning a repo, or making a new branch, or merging into production, I personally find the point and click works just beautifully for me.
I don’t have much of a list for why I love the github app, but I a single prominent warning about it:
- If you’re merging a branch into yours, I always recommend first switching to that branch and clicking sync (top right). I’ve had multiple occasions where the app did not have all the recent commits which led to a lot of yelling at my computer
Get it at: https://mac.github.com or https://windows.github.com (if you’re not sporting the newest shiniest Macbook Air)
Again, yes- command line is still a thing. But then again, so is drag and drop! I’ve used Cyberduck for hundreds of servers with the whole spread of connection types, and never had an issue.
If you need to upload files, or edit files directly on a server (not recommended- but occasionally necessary/useful), and you have a Mac, Cyberduck is the tool for you (if you’re on a PC, then I sadly have no recommendation for you).
What I love about Cyberduck:
- Free (again, great app- do donate if you can)
- Rock solid. I’ve uploaded 10Gb files without a single timeout or file corruption issue.
- Fast. Connection times are as fast as your internet.
- It’s never frozen on me (unlike almost every other app at some point)
Get it at: http://cyberduck.io
Leave a comment
- MySQL : Query WordPress Database for Invalid Media Filenames
- PHP : Get Actual IP Address with PHP
- PHP : Clean sanitized database contents on output
- htaccess : Force www. prefix in URIs
- PHP : Force File Download with Correct Content Type
- Wordpress : Disable upgrade notification
- htaccess : Codeigniter Access to JS and CSS Files