Принимаясь за разработку приложений под iOS и Android, большинство в первую очередь рассматривает в качестве инструментов разработки признанные нативные стеки технологий, такие как Objective-C, Swift и Java. Однако существует множество других способов создания эффективных и простых в использовании мобильных приложений. Платформа для разработки приложений Xamarin — один из них. В этой статье мы проведем углублённый обзор платформы Xamarin в сравнении с нативными и кроссплатформенными решениями для мобильной разработки на рынке.
Когда речь заходит о ключевых инструментах разработки мобильных приложений, Xamarin невозможно обойти стороной. Xamarin — сравнительно новый инструмент, основанный на принципах технологий Microsoft. Но на сегодняшний день в его сообществе уже свыше 1,4 млн разработчиков.
Платформа Xamarin была создана разработчиками открытой платформы Mono, находившейся в свободной реализации .NET, которая впервые была представлена в 2001 году. Тем не менее в отличие от своего предшественника, Xamarin существовал исключительно как коммерческий проект до тех пор, пока компания не была приобретена Microsoft.
Xamarin — это особый инструмент, так как для создания приложений для всех мобильных платформ он использует единый язык C#.
В отличие от нечувствительных к языку разработки решений, таких как Appcelerator Titanium, платформа Xamarin позволяет делать нативные сборки под целевые платформы и создавать высокопроизводительные приложения с естественным внешним видом. С технической точки зрения, для кроссплатформенной разработки Xamarin использует единый язык C# и библиотеки, обёрнутые в слой .NET. С точки зрения работы и пользовательского опыта, такие приложения можно отнести к нативным, то есть специально разработанным под iOS и Android.
Несмотря на то что код, связанный с бизнес-логикой, доступом к базе данных и сетевыми коммуникациями, может использоваться на всех платформах, Xamarin позволяет создавать слой кода UI под конкретную платформу. Таким образом, кроссплатформенные приложения Xamarin выглядят на 100% нативными на любом устройстве, обеспечивая наилучший пользовательский опыт по сравнению со стандартными гибридными приложениями.
Платформа имеет две основные формы: Xamarin.iOS и Xamarin.Android. В случае с iOS, исходный код компилируется непосредственно в нативный ассемблерный код ARM (AOT компиляция), тогда как приложения Android Xamarin сначала компилируются в промежуточный универсальный код, а затем — в родной уже во время выполнения (JIT-компиляция). Но тем не менее этот подход не является решением всех проблем. Как и у любой другой технологии, у Xamarin есть свои преимущества и недостатки, которые в последнее время стали предметом горячих споров.