📜 ⬆️ ⬇️

Xamarin. Pros and cons

image

Probably every .NET developer, getting acquainted with monodroid and monotouch, wants to know what awaits him. Is it worth spending your time and energy on exploring the potential of the platform, will the development turn into testing the framework?

For more than a year, my main task has been developing in C # for Android and IOS, and I will try to answer the main questions that arise when choosing monotouch and monodroid. The article will have a lot of personal opinions and descriptions of crutches, since the answers on technical issues can be easily found on the official website Xamarin: docs.xamarin.com
')
Since Xamarin 3 was released only recently, I was not able to fully explore the new features and changes in the platform. However, almost all the “features” of development in monotouch and monodroid are still relevant.

Development

Interaction with the Android and IOS platform is implemented by means of Mono.Android and monotouch proxy libraries. Also, multiplatform is transparently implemented in System.IO, System.Net, System.Data, etc.

IOS developers have access to Xcode features for generating views. When developing for Android, you can use the features of Xamarin Studio and add-on to Visual Studio to generate Xml markup.

Due to the similarity of Java and C #, the use of standard patterns and language features does not lead to any difficulties. Development under IOS is not more difficult - ObjectiveC features are elegantly covered in the C # language, despite external differences.

It all works as beautiful as it sounds. However, there are a few comments:


Support

In one of the comments I saw a complaint that there are very few monotouch posts on StackOverflow and even fewer monodroid posts. Frankly, it is. And there is nothing bad in it, because most of the questions on the API can be easily found in the topics on a specific platform and then translated into C #. In truth, you should at least read about ObjectiveC, since many features of the syntax may not be understandable "with a hitch." In this case, it is the monotouch community that shows serious activity. When developing for Android, you will often be left to yourself.

If you have a Business Edition license, you will receive “access to the body” of official technical support. It is quick and objective. Unfortunately, they could not help with any of my appeals.
Kinu a couple of stones in the direction of updates Xamarin: they are always full of surprises. For example, after the transition of the platform standard from Silverlight to pure .NET, the project simply stopped compiling. The development environment bugs introduced by patches are also common. There is only one advice: to coordinate updates in the team and not to update before the release of your application.

Conclusion

Is it worth it? There is no definite answer. Further, there will be exclusively my personal opinion, which does not pretend to be complete and objective.

You should try Xamarin if:


You should not use Xamarin if:



Well, the answer to the classic question: if it were possible to go back and choose something else for our project, I would still choose Xamarin.

Source: https://habr.com/ru/post/227863/


All Articles