As a mobile developer, having the right tools and setup on your machine can become a massive time saver and boost your productivity especially over time. While a lot of your development environment comes down to personal preference, these are the apps and plugins that are my “must haves” on any machine. I am thinking after this I want to do a tutorial on my dotfiles and setup scripts that install a lot of these from the Mac App Store and elsewhere. Also these are in no particular order as some aren’t comparable to others when it comes down to usefulness or necessity.
Xcode Okay, so this is obvious, you cannot get too far building mobile apps without this app. Even if you use a hybrid framework, you will still need Xcode to create and publish any iOS, iPadOS, tvOS, or MacOS app.
Download Xcode on the Mac App Store
Screen Sharing This is an app that comes with your Mac that I use all the time at work. If we ever need to hop on a build machine this is honestly one of the easiest ways to do it. I have never had any issues or reasons to go download a better client, it does what its supposed to and saves your recent connections.
FileMerge This comes with the Xcode Developer Tools, I would not say this is my favorite file merge tool, even using Atom is way better but the GUI is nice when you have two files in Finder or on your desktop you want to compare quickly. If I am trying to find the differences between two text files or something simple, I use this.
Android Studio Along with Xcode, this is basically a requirement. You can use other IDE’s a little easier than Xcode, but I still think the official JetBrains version from Google is the easiest to use. There is a ton of configuration that goes along with Android Studio, but in my opinion is the easiest to use IDE for the job.
Download Android Studio
Atom Atom has been my go-to editor for everything since college. While it seems VSCode has taken the new throne these days, I still fall back on Atom. The maturity of the plugins and the ability to install things quickly have always been huge selling points to me. Not a huge fan of chromium apps, but I still love using Atom. There are great plugins for things like previewing markdown either in the editor or in Marked 2, the git integration is not bad, and I love how quickly I can install support for a language or a plugin in the case I don’t already have something. Downsides are a lot of the plugins lose support over time and being a Chromium app, things tend to slowdown if you have too much going on.
Bear Notes I have tried so many notes apps for things like blogging to taking notes in meetings and finally settled on Bear. Previously I was using Apple Notes and Agenda, but the markdown support in Bear is awesome. I do miss the tables in Apple notes, but I love the hashtag system for creating groups and folders. It is super easy to link to other notes and you do things like lock notes or groups just like Apple Notes. If you subscribe to Pro, you get a bunch of great themes, export options, and syncing. It also works great with Marked 2 for previewing how things will look. Also sounds like tables and a couple other missing features are coming to Bear. Agenda was honestly really great, but felt it lacked too many basic features and I didn’t really use all the time based stuff it is built around.
Download Bear Notes on the Mac App Store
Marked 2 I started using Marked 2 when we started using Github for more and more things at work. It is a previewer for markdown files that allows you to style your text, check spelling, and a whole lot more. It is nice when writing up a tech design to be able to preview it with Marked and see what it will look like once you push it. You can also create custom styles which I will be doing a post on later too. This is useful for previewing things like blog posts in the style or layout of your website. One cool thing you can do too is export as HTML, which could be helpful for blogging or create web articles.
Download Marked 2 on the Mac App Store
SnippetsLab SnippetsLab is great library for saving useful snippets across IDE’s and editors. It also has support for syncing with Github Gist’s or iCloud so you can backup all these and sync across devices. I have it on my work and personal laptops which is great for using helpful bits of code in personal and work projects. It has tons of organization options and support for markdown as well if you wanted to use it for that.
Download SnippetsLab on the Mac App Store
Tower So I hesitated putting this on here, but if you absolutely have to use a GUI, then I guess this is the best of the GUI’s for Git. I highly recommend learning and using git in the command line, but if you really don’t want to, Tower is definitely the best one I have used over Github’s Mac app and other editors built-in Git support. You limit what and how you do things with a WYSIWYG tool, but Tower is the better of the evils.
SF Symbols is a sweet app from Apple that lets you browse the new system icons available in iOS 13. While using the
init?(systemName name: String) is only available in iOS 13, you can use this app to export these icons as SVG’s for use in your apps that support iOS 12 and below.
Download SF Symbols
Swift Playgrounds While this one is not really going to boost your productivity or be a new tool in your development toolbox, it is a great way to play around with Swift or learn. It also has support for some things like Lego Mindstorms, which is pretty cool. It supports Xcode Playgrounds also, so if you are doing anything in Xcode Playgrounds, it can be a more visually appealing way to interact or code in them.
Download Swift Playgrounds on the Mac App Store
iTerm iTerm is a terminal replacement that brings a lot to the table out of the box. You have search, easy window splitting, a really cool new status bar, autocomplete, and a whole lot more. And that is before any customization of your shell. I don’t think it makes too big of a difference using iTerm versus Terminal.app considering most of the magic comes from setting up your shell to your needs.
Sketch Sketch is a prototyping tool that lets you create mockups and designs for software products. I have been using it for quite some time and even though I don’t do too much graphic design or UX stuff, I do love using it for my personal projects or wireframes. Compared to things like Omnigraffle or other similar tools, it is my favorite by far.
Pocket Pocket is my favorite app for saving and sharing links. I have it on my iPhone, iPad, and both Macs and it does a great job of syncing saved links between them all. The desktop client has a quick command for saving links that are in your clipboard if you don’t use the browser or share extensions as well.
Download Pocket on the Mac App Store
RESTed RESTed is a lightweight REST API client, it is essentially a boiled down version of Postman. I enjoy using this a lot more than Postman for things like personal projects and the ability to save requests as files is nice for simple things. I use it mainly on personal projects and stick to Postman for things like work or more complex calls.
Download RESTed on the Mac App Store
Injection is a really cool app that lets you add some “hot reloading” to your Xcode projects. It supports iOS, tvOS, or MacOS. It is not perfect but can be really helpful when making lots of small UI tweaks or changes. I usually add it and occasionally enable it when needed. It is easy to setup with just a single line.
Download InjectionIII on the Mac App Store
DevCleaner DevCleaner is a great app for clearing out old device support files, derived data, or or old archives. It has an easy interface to see and sort through what you want to delete or keep. Hovering over the top level sections will tell you what each is if you are not familiar with the Xcode build system. It has a cool counter of how many GB’s you have “saved” along with a way to leave a tip to the developer.
Download DevCleaner for Xcode on the Mac App Store
JSONPeep For my work’s slew of apps, they tend to have a good chunk of web content, which means using Safari’s developer tools to inspect the web view’s etc. So this plugin is a huge help if, like me, you end up using Safari a majority of the time. It allows you to view JSON in a readable format adding a little button to whenever you view a JSON file in your browser.
Download JSON Peep for Safari on the Mac App Store
Sip Sip is the best color picker for Mac that I have found. You always have access to it from the Menu Bar and it allows you to save, copy, and organize your recently picked colors. It also lets you copy them in a ton of formats like NSColor, UIColor, or just hexadecimal.
So while this list definitely is always changing, these are my current go to applications for mobile development in one way or another. I hope this helps and maybe some of these are new to you! Anyways, enjoy and please let me know what some of your favorites are not on this list.