Jonathan Peppers


Xamarin, C# nerd, at Microsoft

Best Mac Apps for Windows Devs

At work, I have more and more been transitioning to using a Mac.  MonoTouch has fueled this, and I hate to say it, but I am starting to like Mac hardware.  I have come accustomed to the standard Mac mouse, as well as the Macbook Air touchpad.  PCs are great, I love Visual Studio and I love C#, but there is something to be said about what Apple is doing lately.  

Among other things, my fingers have somehow learned to switch the Ctrl and Command (Window) keys on the fly, depending on if I’m using a PC or not.  I did not think this was something that was going to be so easy, and fought this by tweaking my settings at first, but I eventually gave in.

Here are my must-have apps:

Synergy

Synergy

If you are like me, and have a Mac and a PC at your desk, then this your #1 download.  I have been sharing a single keyboard and mouse between two machines.  The clipboard works as well, and you can even map different keys if there is a particular shortcut you need to tweak.

MonoDevelop

MonoDevelop 

C# is my language of choice, so I must have the IDE to use it.  MonoDevelop can not only develop native command-line mono apps, but MonoMac, MonoTouch, Mono for Android, and even ASP.Net as well.  It is also a great general purpose text editor, for editing bash scripts, html, etc.

Xcode

XCode

A dependency of MonoTouch, XCode also has several other uses.  The command line tools it installs add several other languages, like ruby, python, etc. which are needed for running many scripts I use.  Also great for reviewing crash logs on iOS devices, as well as compiling the occasional Objective-C library.

Parallels

Parallels

Parallels might be the most amazing piece of software for OS X.  It allows you to run Windows (or otherOS), virtual machines that are directly integrated as Mac desktop apps.  For example, I can fire up Visual Studio 2010 full screen side by side MonoDevelop for writing cross-platform applications.  Each windows app appears in the Mac Command+Tab menu, with the ability to map custom hotkeys, share files between the host and guest OS, as well as associate file extensions between the two OS’s.

iTerm2

iTerm 2

The OS X terminal is pretty good (definitely better than Windows cmd), but iTerm blows it out of the water.  Simple things like: being able to go to the beginning/end of a line easily, selecting text auto-copies to clipboard, click to paste, etc. iTerm 2 is a better terminal.

Google Chrome

Google Chrome

I don’t like Safari.  I like syncing bookmarks across multiple machines running different OS’s.  Google chrome is just a no brainer.

Dropbox

DropBox

Dropbox is great.  Not only can you sync files across multiple machines, but you can easily access them on the go via the web, your iPhone/iPad, etc.  I recently met an employee from Dropbox, who was nice enough to give me a free 50 GB code (awesome).  This was enough to get me on board, and use Dropbox at full steam.  It also cured that nagging, “I need to backup my life” feeling I’ve been having for a while.

iExplorer (Formerly iPhone Explorer)

iExplorer

Ever make an app for iOS, and need to take a look in a SQLite database on a particular user’s phone?  This is the best option without having to jailbreak.  You can inspect all files within apps, but not OS-level files.  Also great for inspecting the Angry Birds app, just to see what Rovio has going on in there.

Overall, I’ve had a good experience with my Macbook Air so far.  It feels great, and Parallels makes it even better.  I tell you there is no better feeling than Command+Tabbing from Visual Studio working on the backend to MonoDevelop to work on a client iOS app.

There are still some holes I’m needing to fill, on the lookout for:

- SQLite GUI - I use SQLiteExpert on Windows

- a cheap alternative to Photoshop

comments powered by Disqus