Today, we have a look at the software I use for development and just general computer use. As a software developer, I use a range of operating systems and programs.
I use three different operating systems on a daily bases. OSX is my “main” as my main computer is now a Macbook Pro, while I have Ubuntu and Windows running in virtual machines.
As I said already, OSX 10.11 is my main operating system. When I am working on Android, iOS or web applications, I will be using OSX. It provides all the tools I need using the below software, although I do need to use other operating systems for tasks, most can now be taken care of within OSX.
Windows 10 is only now used when I need to develop software for windows or use a peace of Windows only software. This is not often done, but I still keep a virtual machine ready just encase.
Ubuntu 14.04 is used again when I need access to a Linux operating system. There are a few projects I work on including LinuxonAndroid, where it is still much easier to work within Ubuntu to do this, giving me a great free and stable operating system for this work. Again, this is run within a virtual machine.
During a normal day of work, I use a range of different software packages, depending mainly on the platform I am developing for.
XCode is the go to software tool for developing OSX/iOS applications. When ever a client needs something developed for these platforms, this is the tool I will use.
Android Studio is to Android as Xcode is to iOS. If a client needs native Android work doing, Android studio is the software I will turn to. In the past, I used Eclipse exclusively for Android development. However in the past year, Android Studio has become far more stable and includes some really nice features. It is now also the only officially supported tool by Google.
FileZilla is one powerful FTP client. Often, when I am working with a remote server or on a web application, I will be using FileZilla to easily transfer files to and from the remote servers.
As I said before, Eclipse used to be the tool I went for when it came to Android development. While it is still a tool I have ready to use, it does not often get used any more due to migrating to Android Studio. If a client however, does have an older code base and is only looking for small changes/improvements, I will likely use Eclipse to save them time and money.
Textmate is, in my view, the best text editor available for OSX. It offers syntax highlighting for a range of languages and it is a great distraction free development tool. I will often do most of my web work within TextMate, along with other scripting style languages that do not require any kind of compiling.
As said when I was talking about the operating systems, I use both Windows and Ubuntu within virtual machines. These are managed and controlled by VirtualBox, a great free virtual machine system.
If a project requires the use of a MySQL database, then this is the software I will turn to. From just connecting to a pre-existing database to make changes or creating a completely new database, this software package allows you to do anything and everything you need to do from a nice GUI, without the need of the command line (although, I will admit from time to time, it can be quicker to use the command line).
There is a range of softwares I use outside of developing. Below are just a few.
Before moving to OSX, Thunderbird was my go to Email client. However, after making the switch, I found that the default Mail client, included in OSX, did a better job. I have a number of mail accounts across platforms (Google, Microsoft, own servers etc), so a good mail client that can pull all these in is a must for me.
I have talked about Skype before when discussing the apps I use on my tablet. Again, it is often a very important tool during my day – from Skype calls with clients as well as talking with friends. It is my preferred go-to text/voice chat client, mainly due to its wide use and platform support.
In the odd moment I have time to unwind, I often like to play a game. While I do have an Xbox one, I really enjoy a lot of titles far more popular on desktop platforms, including the likes of Team Fortress 2 and Portal. Valve owned titles aside, Steam is the the best desktop gaming client, and now that so many titles have OSX support, I often find myself on here.
Last but not least, Google Chrome is my web browser of choice. While it is pretty memory hungry, I have been an avid user since the very start, and using an Android phone as my daily device, I find Chrome gives the best cross platform support and syncing.
As always, feel free to leave questions and comments below.