My Development Toolbox

Photo by Barn Images

As a developer, there are a handful of tools that I use (almost) every day. I thought I would write a blog post about them.

This post is about my the applications that I use every day for development. It doesn’t really get into my office/desk setup or some of my favorite applications. Only what I use on a day to day basis in order to get my job (as an iOS/tvOS developer) done.

Maybe in a future post, I’ll go more into my office/desk setup. I’ll save that for another time.

Xcode

Xcode is my primary development tool. It’s an Integrated Development Environment (IDE). Its got everything I need including a source editor, interface builder, compiler, profiling tools and much more.

I both love and hate Xcode on a daily basis.

Xcode has gotten much better over the years. It still has it’s moments. On most days, I really appreciate it and what it gives me as a developer.

There is at least one alternative to Xcode. AppCode has been around a while. I’ve tried it before and even purchased a license a few years ago. I’ve just never been able to fully commit to AppCode. I don’t know why, but I haven’t. I’ve stuck with Xcode instead.

Xcode is available on the Mac App Store for free.

Charles Proxy

Charles Proxy is an HTTP proxy/monitor application. It allows you to monitor web traffic from a variety of sources, including macOS/iOS/tvOS devices and the iOS/tvOS simulator.

Charles Proxy is a great tool. I don’t use it every day. I do use it 3-4 times a week. I like Charles Proxy so much that I’ve written about it before. Not just once, but twice.

I use Charles Proxy to look at the web data coming into the apps I develop over the network. I’m usually looking for a few things.

Firstly, I need to see what that data looks like coming across the Internet into the apps that I write. I need to know what it looks like so that I can use that data properly within the app.

Secondly, when there are issues with our apps, I like to make sure the data we’re getting from the services we use are what we’re expecting and seeing in the app.

Charles Proxy is available through their site for $50 (USD).

Tower

Tower is a source control client for Git. We use Git (through GitHub) at work and I use GitHub and BitBucket for my personal projects. Tower is a great tool for both of these sources.

I used to use SourceTree, but a change in the app about a year ago lead me to look for another tool. I don’t even remember what the change was, I just knew it was time for a change. I asked on Twitter for suggestions, and Tower was the overwhelming response.

During the writing of this post, I was describing how I wish Tower could squash commits. GitUp was one of the tools I tried while looking for a new Git client and it allows commits to be squashed. Turns out, Tower will allow you to squash commits. The instructions on how to do this is here. It’s not super intuitive, but I’m glad I’ve figured out how to do it.

Tower is available through their site for $69 (USD) a year.

Dash (with Alfred integration)

Dash is the perfect document browser. I use it constantly throughout the day for iOS and tvOS documentation. But it’s not limited to iOS/tvOS documentation. You can download documentation for almost any language or tool that you can think of.

Dash is perfect with Alfred. Alfred is an application launcher, but it’s so much more. If you purchase the Powerpack, you can set up (or install) more complicated workflows. One of these workflows I have is to launch Dash and search for terms I’m looking for. So, I will trigger Alfred (option + space) and then type dash {search term} and Dash will be launched and search for what I’m looking for. This doesn’t seem like a big deal, but it saves me a few steps dozens of times a day.

Dash is available through their site for $29.99 (USD) Alfred is available through their site for free. The Alfred Powerpack is available through the site for £19 (GBP).

Bear

Bear is a note taking app. I’ve got notes for everything in that app. I track my 1:1 meeting notes with managers and other folks. I track general conversations. I’ve got outlines on application and component designs in there. I’ve even got video game notes in there.

I could just use the built in Notes app, but Bear is much nicer. I love the built in Markdown support. I use Markdown for just about everything (documentation-wise). Bear supporting Markdown has made it my go-to note-taking app.

I have just started tinkering with Agenda, which is a different note taking app. I haven’t used it enough to make a decision one way or the other.

Bear is available on the Mac App Store for $14.99 (USD) a year.

Honorable Mentions

Here are some development apps that I love, but don’t use every day, or even on a weekly basis. They are great apps and I thought I would mention them.

BBEdit

BBEdit is a text editor. It’s a super simple, but (almost) perfect text editor. I’ve been using it forever. I think I got my first version of BBEdit in the late 90s. The first version I got came in a box and I’ve been using it ever since.

I learned how to write code in BBEdit. Sure, it was HTML, Javascript and CSS, but it started me down the path to where I am now.

BBEdit is perfect for editing single (or multiple) source files in a large variety of languages. I’ve used it for everything from HTML, to CSS, too Ruby, to Java, to Swift and Objective-C.

I don’t use BBEdit every day, but I do use it a lot. It almost made it onto the non-honorable mention list, but I left it off since I may only use it every other week. It will always have a special place in my heart.

BBEdit is available through their site for $49.99 (USD)

Paw

Paw is an HTTP client app. It can make HTTP requests to APIs and display the results to you in a variety of ways. This is a network tool, like Charles Proxy, but is used differently. This tool is to send requests to an API and inspect the results.

I use Paw a lot when I’m being introduced to a new API. I use it when I need to learn how call an API and what to expect from that API.

I will use Paw heavily when learning a new API, but once I’ve learned how that API works, I won’t use Paw as much.

Paw is available through their site for $49.99 (USD)

Soulver

Soulver is a fancy calculator. That simplifies things a bit. But I use it as a calculator/scratchpad. Instead of writing down numbers and doing calculations on paper, I use Soulver. I have a bunch of “scratchpads” in my iCloud account for a variety of different things.

Soulver is available on the Mac App Store for $11.99 (USD).

Supporting Developers

A lot of the apps I use have free alternatives. But I am a big believer in supporting app developers who do quality work. I use more apps than I have listed here, but these are my daily development apps.

In future blog posts, I may also go into my office/desk setup and other non-work related apps I use day to day.