Xamarin - a year on. (Part 2 of 2)
Following on from Part 1 earlier this week, Tom now takes us through how exactly Xamarin can help you with cross-platform development.
If you missed Part 1 - catch up here.
How Will It Help Me
- Code sharing - by sharing up to 95% of your code across platforms you reduce the amount of duplicate code between platforms, as such, you dramatically reduce the development effort involved, this of course reduces the cost of the project significantly. We were able to save one of our clients over 30% on the initial cost of their project by choosing Xamarin Forms over native development. The saving also translates to the long term maintenance costs of the App over its lifespan
- Testing - since you are able to share a significant amount of code, Xamarin lends itself well to unit testing. Unit testing can automate the testing of logic and visual elements reducing the amount of time required to perform manual testing. Additionally, the Xamarin Test Cloud allows you to perform visual unit testing on physical devices (many more than you could ever hope to test on manually) rather than emulators or simulators so know exactly how layouts will render on real devices
- Quick time to market – since development and testing effort is reduced, the time to develop your App and get it onto the App Stores is much quicker than a native App
- Integration – there are thousands of third party libraries and plugins available for things like authentication, social media, payments, offline storage etc. so you can extend your App almost limitlessly. Additionally, cloud services such as Azure and Amazon Web Services can be easily integrated with to provide central storage, hosting of REST APIs, push notifications etc.
- Language – Xamarin uses C# and the .NET Framework to implement Apps, as such anyone familiar with these technologies can learn to develop using Xamarin. Furthermore, C# developers tend to be more cost effective when compared to more specialist developers such as iOS and Android developers, this is usually reflected in the cost of a Xamarin project
- Future ready – the Xamarin platform is a solid platform on which to build Apps for the future. More platforms are being supported all the time and updates are rolled out regularly. Similarly, when Apple and Android roll out new features or APIs, Xamarin Apps have access to these right away so there is no penalty for using Xamarin over native
- University – the Xamarin University is a structured learning portal with regular seminars presented by Xamarin experts. Once the necessary modules have been completed, you can sit exams to become certified. Software Solved are now a Xamarin Authorised Consulting Partner and know all there is to know about Xamarin
- Community – Xamarin has a fantastic developer community with experts who are happy to share their knowledge so any problems can usually be resolved through these channels
Put simply, Xamarin can do anything a native App can do (plus more); you can leverage all the native functionality of a device, provide a native UI and achieve native performance. Furthermore, you can target all the major platforms including iOS, Android, Windows Phone, MacOS, Linux etc. and share up to 95% of code between the platforms. All this and cheaper than native development! So, if asked whether I would use Xamarin again – that would be a big fat YES! In fact, there would need to be a very good reason to even consider developing a fully native App given what Xamarin can do for us and the time it can save. Even if approached by a customer wanting an App for iOS only or Android only I would still have to recommend Xamarin, not least because inevitably when they did eventually want support for other platforms, it would be a lot simpler than writing a new App from scratch.
If you want to know more about our cross-platform development services and our skills with Xamarin, click here.
Alternatively, if you'd like to speak to one of our consultants about Xamarin and cross platform development, talk to us today.
Tom is hugely popular with clients because he understands their needs and translates them into outstanding solutions. With particular specialisms in software integration and app development, Tom enjoys sharing his knowledge and contributing to our blog.