My Xamarin Review – The Pros, Cons and Should You Be Using It
Xamarin Review – Use It or Avoid It
Most people always look for the best cross-platform development software for mobile application development. This is the reason why Xamarin is popular. The initial cost savings for a cross-platform application is one of the reasons why people prefer Xamarin. But there is a lot you need to understand about Xamarin before you can make the decision to use it or avoid it. Here is a comprehensive Xamarin review.
The pros
It is definitely efficient to be able to write in a single language for cross-platform native app development. It is incredible how iOS and Android projects can coexist in a similar solution. Mistyping in this case is less common since language conveniences, syntax and data connections are intact and familiar. There is no doubt that one of the things people look out for is the fact that Xamarin works on all platforms without any hiccups.
It is highly customizable – users can create a native look and feel for every platform because Xamarin uses native UI components for every platform. This is why it is possible to make it look like a native app. Some people will view the fact that using Xamarin to build native UIs as negative. In fact, it doesn’t make sense to build two UIs. But this is actually good. It is quite easy to follow design guidelines for Android and iOS than if you were using a hybrid tool.
People looking for a tool that delivers high performance with device-specific experiences ought to check out Xamarin. The tool uses native API’s to generate a User Experience and User Interface (UI) that users of specific devices are familiar with. Clear software architectural patterns make this tool stand out. It becomes much easier for developers using Xamarin to embrace the MVC or MVVM pattern. You will be able to leverage the amazing features with just a couple of external libraries like Commands, Data Binding and many more.
The support bit is also something to acknowledge. Whenever you use this tool as a freelance developer or a team, you will always appreciate good support. Although it has a small size, the support encounters with Xamarin have been highly positive. There are smart people you can talk to that understand how to work through issues. They are also open enough to discuss on general topics like when you should be good to use forms.
The cons
The fact that there is a lot of operational software overhead makes it not the best tool to use. This is due to the fact that there is too much of linking of codes and referencing between .NET frameworks and the targeted operating system. This results in an increased download and start-up times of your application.
Although a majority of the code can be syndicated across multiple platforms, the core UI development is not portable. So this means that further coding must be done for each platform. UI development normally takes long to do so and this can be time consuming for people who don’t have the time for coding.
Shared code on the other hand can be a bit of a misnomer. So if you are doing anything complicated that needs hardware libs such as Bluetooth, you will have to fork the code for iOS and Android support. Furthermore, Xamarin forms will only work on the most basic UIs.
Support for iOS/Android is not guaranteed. The latest support for each platform, will depend on how fast Xamarin opens up the APIs to devs. So when a new Android or iOS SDKs is released, Xamarin’s APIs will have to be updated so as to support the latest iOS or Android SDKs.
The bottom line
With that said, should you use Xamarin? Well if you know their platform and understand it better then you can use it in your start-up. If you also know C# but have no idea of how their iOS or Android platform looks like, you can still use it. However, if you already know iOS and Android then you don’t have to use it. So it all depends on you.
If you have time, it is advisable that you learn java and Android system API. You can start with development of native apps for Android then start learning C# , Xamarin or Unity if you want to proceed to Games and multi platforms.