Tools that excel at helping me get the job done for building most of my web application development projects.
While not always the case, I find these to be the most attractive features for the tools that I use:
Open source. Free is a nice up-front cost that frees up funds for commercial software that's really needed. The peer review process for open source software leads to high-quality, battle-tested tools.
Large, active community. When there is a large network of people using a particular tool, it's easier to find help when you're struggling with something. Hiring from a larger talent pool also makes business significantly easier.
- Ruby has proved to be a great all-purpose server-side language, has a passionate and innovative open source community, and is generally a joy to work with. This is the go-to language for new software projects.
- Sass provides scripting capabilities for CSS. Its ability to store variables, define mixins, and nest CSS rules makes it an invaluable tool for organizing and maintaining code.
- Ruby on Rails
- Provides structure and conventions to follow when building a web application. Rails also offers quite a few modules and tools for making common programming tasks and application security easier. The Rails community has matured and still attracts some of the tech world's brightest thinkers.
- ZURB Foundation
- Provides a slew of Sass/CSS styles and jQuery plugins to use for building websites and applications, including a responsive grid to use for layouts. I tend to prefer this as my go-to front-end framework for building public websites.
- A powerful relational database great for most data storage purposes. I prefer PostgreSQL over the similar MySQL due to MySQL's questionable future as a truly open source database under Oracle's ownership.
- De-facto version control system. Great branching system. Keeps log of versions and allows me to review and revert versions if I really mess something up.
- Most client project code is hosted here because of Bitbucket's extremely generous free plan.
- A great place to host open source projects.
Editors and Graphical User Interfaces
- Sublime Text
- Lightweight, scriptable text editor with a nice ecosystem of syntax highlighters and plugins.
- Simple installer and lightweight control panel for running PostgreSQL on Mac.
- Navicat Essentials for PostgreSQL
- The most usable PostgreSQL GUI for Mac that I've encountered.
- Point-and-click interface for doing simple Git operations. Works with any remote Git hosting service (e.g., GitHub, Bitbucket, self-hosted, etc.).
- An excellent tool for coding static HTML sites, CodeKit compiles languages like Sass and CoffeeScript, and it combines and minifies the files for improved performance.
- Adobe Fireworks
- I cannot let go of this tool, even though Adobe canceled it. Fireworks is generally a better tool than Photoshop for designing wireframes, web mockups, and other web graphics. I'm currently (and slowly) looking for a replacement.
- FTP, SFTP, WebDAV, and Amazon S3 file transfer and browsing freeware on the Mac.
Email Development and Testing
- ZURB Ink
- A responsive email framework that provides a grid system and some additional tools for making emails responsive.
- ZURB Inliner
Programmatically strips out CSS from your
<style>tag and inlines it all in
styleattributes for maximum email client compatibility.
- I configure my development and staging applications to deliver transactional email through Mailtrap's services. (I don't want my customers to receive test emails, especially not on accident!) I then log in to Mailtrap and view the emails as if I were the recipient.
- Automatically provides email previews on a wide variety of devices, operating systems, and email clients.
- Apache Solr
- Fast, effective, and customizable open source full-text search engine. The Sunspot gem for Ruby makes setup and development with Solr particularly easy.