Some thoughts on mobile app development and developers

I’m a big believer that native is best when it comes to mobile apps. PhoneGap has for me never been a satisfactory answer. I’m personally not a big JavaScript fan, although some of the newest developments may change that. I prefer my languages strongly typed with mature deep standard libraries. HTML mobile user interfaces lack that special something.

For the past 3-4 months I’ve been getting to know C# and the Xamarin platform. It’s a great solution for many of the projects I’m working on. C# is a well designed language and Microsoft is no longer the big bad wolf they once were. Xamarin Studio can be painful but Visual Studio + VsVim + ReSharper is delightful (most of the time.)

For all intents and purposes Xamarin apps are native for what matters – the UI. The MVVM approach means my code is better architected because I can’t be lazy and mix business logic and interface if I’m to maximise code reuse.

The difficulty with wanting more apps to be developed in Xamarin is in recruiting new developers. I’m not expecting to be able to hire an experienced Xamarin developer. What I do want though is a native mobile developer open to adding C# and the Xamarin platform to their developers toolkit. I’ve done a number of telephone interviews with people who know nothing about Xamarin but want to stay pure native. For me a good developer should be open to learning new stuff whenever possible. A developer working in the mobile space must be readily adaptable. Disliking something without properly evaluating it isn’t a good tactic if you want your skills to stay current and relevant.

There are lots of great ways to create mobile apps. I still love coding the way Apple and Google intended, however there are relevant alternatives which are worth trying. I’m personally quite excited by React Native that was announced last week, despite my reservations about JavaScript. Despite all I’ve said I don’t believe in flitting about, without learning something in depth, so I do respect those who want to spend a little more time really getting to grips with one particular technology. For those people though with greater experience I would just say keep an open mind.

Whichever way you code apps I hope you enjoy all the exciting new developments 2015 will have to offer!