Xamarin
Что такое Xamarin
Xamarin – фулстек-фреймворк для кроссплатформенной разработки нативных приложений. В большинстве случаев фреймворк применяют в разработке мобильных приложений для Android и iOS. Кроме того, Xamarin поддерживает разработку для устройств на базе Windows, а также macOS и Tizen – ОС на базе Linux, которую чаще всего применяют в умной бытовой технике. Xamarin принадлежит Microsoft, поэтому поддерживает качественную интеграцию со средой разработки Visual Studio и работает на среде выполнения кода .NET.
Фреймворк позволяет переиспользовать до 70% кода при разработке для различных операционных систем. Работа ведется на обновленной версии языка программирования C#; также Xamarin поддерживает программирование на языках Objective-C, Java, C и C++. Поддержка сторонних языков позволяет использовать дополнительные библиотеки для этих языков: библиотеки Objective-C для разработки на iOS и macOS, а также библиотеки Java для разработки на Android.
Для кроссплатформенной разработки, Xamarin поддерживает работу с разными пакетами SDK: например, Xamarin.iOS для смартфонов Apple и Xamarin.Android для смартфонов на базе Android. На разных SDK, кроссплатформенный код в Xamarin будет выполняться по-разному. Xamarin.Android транспилирует код приложения в промежуточный язык, после чего приложение запускается на устройстве при параллельной JIT-компиляции в рабочей среде Mono и рабочей среде Android. Приложение для устройств Apple должно пройти полную AOT-компиляцию в машинный код. Поэтому, для компиляции приложений на iOS и macOS потребуется компьютер с установленной системой macOS – для комфортной разработки под устройства Apple желательно работать на Mac в среде XCode.
Где применяют Xamarin
Xamarin чаще всего используется в кроссплатформенной разработке мобильных приложений на базе Android, iOS и Windows Mobile. На ноябрь 2022 года, SDK для разработки на macOS и Tizen находятся на стадии бета-тестирования и не так хорошо оптимизированы, как SDK для разработки мобильных приложений.
Преимущества разработки на Xamarin
- кроссплатформенная разработка позволяет сэкономить время и ресурсы;
- язык C# отличается высокой производительностью и позволяет делать приложения, которые почти не уступают в скорости продуктам нативной разработки;
- поддержка сторонних языков программирования, родных для операционных систем Android и macOS;
- продукт развивается силами корпорации Microsoft;
- документация для разработчиков качественно локализована на русский язык силами Microsoft.
Недостатки разработки на Xamarin
- Flutter поддерживает более удобные инструменты для создания пользовательского интерфейса;
- не подходит для создания сложных игр;
- приложения занимают больший объем памяти, чем при нативной разработке;
- приложения требуют доработки на родных языках операционных систем;
- Xamarin теряет популярность, в то время, как Flutter становится все популярнее.
Примеры готовых работ на Xamarin
Примеры готовых приложений на Xamarin с доступом к исходному коду можно изучить на официальном сайте Microsoft – learn.microsoft.com/ru-ru/samples/browse/?products=xamarin