From Zero to Xamarin – Part 3 – First week in the trenches
We finished up our first week of “real” coding using Xamarin. By real I mean, actually working on (what we hope will be) production code. So I thought I’d post up some thoughts and experiences from the week.
Development Environment
Our initial plan was to develop iOS using Visual Studio 2012 on Windows 8 and calling over to the Xamarin build server running on a Mac Mini to do our actual builds. Unfortunately we found the integration between VS2012 and Xamarin build agent on Mac to be a little temperamental. Whilst we could connect to the build machine and we could get builds to happen, more often than not we would find that our connection between the had to be reestablished by going through the Tools menu. So in the end we decided to develop using Xamarin Studio on a Mac… hey why not dive in head first, right?!?
Xamarin Studio
Does it kick VS2012 whith Resharper in the nuts?… well no not really. But VS2012 with Resharper is probably the most productive development environment in the world at the moment – with the exception of notepad.exe. Don’t take my word for it, look at the poster…
But having said that Xamarin Studio is an absolutely awesome piece of software. It looks good, performs well and has been amazingly stable for me (probably more stable than VS2012). It’s very clean, well laid out and has enough refactoring tools to keep resharper guys happy. Of course any move to a different IDE is going to incur some performance hits (and it certainly did) but not as much as I would have got moving from VS2012 with C# across to XCode Objective C. Tell tell you the truth, the most painful part for me was getting to grips with the layout of a Mac Keyboard.
If you are going to start using Xamarin Studio, here are my top 5 tips.
[alert type=”info” close=”false”]
Watch this video called “Getting the Most from Xamarin Studio” from Xamarin Evolve conference, it’ll teach you a thing or two… probably the best hour you will spend if you are a noob at Xamarin Studio
[/alert]
[alert type=”info” close=”false”]
Turn on Source Analysis. It’s makes an entire world of difference with Xamarin Studio! You can turn on via Preferences -> Text Editor -> Source Analysis. Just do it!
[/alert]
[alert type=”info” close=”false”]
Use universal search within Xamarin Studio, it’s awesome. You can access it by hitting Command Period (also known as celtic knot dot 😉 Or you can see it in the top right corner of Xamarin Studio.
[/alert]
[alert type=”info” close=”false”]
Download the Xamarin Studio Cheat Sheet / Keymap. Print it out. Stick it next to your computer.
[/alert]
[alert type=”info” close=”false”]
Try using custom policies to maintain a bit of consistency to your code layout.
[/alert]
Implementing iOS Screens
So far we have built our screens entirely in code (ie. not using storyboards from xcode). A few knowledgeable Xamarin people have told me that they build most of their screens just using code and I suspected this would suck (a bit like writing your own InitializeComponent or something). but in reality it works very nicely. For some screens we use MonoTouch.Dialog – which is awesome for simple screens and in others we just create instances of control types.
I’ll post more shortly on creation and styling of our screens soon.