Creating Imperative UIs in C#
In this article, I’m going to discuss why you might want to develop iOS apps purely in C#. I call this going Xib-less, and I hope you can see the interesting benefits it offers you in your development process.
There are plenty of reasons why you might want to try going Xib-less. Firstly, if you love using Visual Studio, going Xib-less will enable you to do all of your iOS development on Windows, without ever needing to use Apple’s interface builder. Creating your user interface in C# using Visual Studio means you have access to a huge number of extensions such as ReSharper, which I know lots of C# developers love to use. Another advantage of writing your UI in C# is that it grants you control over many properties and behaviours of layouts are not exposed in Xcode’s interface designer which give you greater control over your UI.
Removing Xibs from your project also makes revision control a breeze. Merging Xib’s can be a painful process, but when your project is Xib-less you can avoid this hassle altogether as you are dealing with pure C#. One more advantage to using C# to build your UI is it makes porting your App to other platforms such as Android or Windows Phone a breeze if you use frameworks such as MvvmCross.
Using C# for UI creation is an extremely powerful way to develop your App and to help convince you of its benefits, I have assembled a list of Xib-less recipes created by our fantastic documentation team for you to try out. We’ve got recipes for lots of different tasks, so choose your area of interest and start exploring.
- Make the navigation bar disappear
- Handle a row click
- Create a horizontal scrolling button list
- Create a Login Window Using MonoTouch.Dialog