Можно экономить каждую строчку кода, дробить проект на мелкие переиспользуемые модули, чтобы разработка базовых вещей представляла собой не описание одного и того же ежедневно, а больше была похожа на конструктор. Это проще для разработчиков, дешевле для заказчиков, экономит время и код. Таким образом, когда процент переиспользованного кода растет, наибольший выигрыш от Xamarin виден на разработке именно крупных проектов.
3 года назад отказался от Xamarin в пользу Flutter и не жалею. Xamarin – прошлый век.
А какого рода проекты вы делаете на Flutter? Он не очень подходит для сложных приложений, где нужно разрабатывать серьезный функционал.
Xamarin в 2020? Серьезно?...
Да, Xamarin - это по сути тот же натив, только еще и с возможностью использовать общий код для двух платформ.
Хоть я только им из всей кроссплатформы не пользовался, с виду Xamarin выглядит адекватным решением. Вопрос в том, почему Kotlin Multiplatform позиционируется как первый такой, ведь концепция та же...
Всё по делу класс, осмысленный подход к архитектуре, но решение на JavaScript видимо может такой же выигрышь дать.
Интересно ещё узнать ограничения Xamarin в подобных решениях, минусы это самый сок.
И как нативные приложения общаются с Core?
Если говорить о переиспользовании кода, то любой фреймворк, позволяющий делить код между платформами и вести разработку на одном языке, даст возможность выстроить архитектуру, направленную на переиспользование и экономию кода. Но Xamarin помимо этого дает возможность работать с нативом так, как это задумано на платформе: использовать xib и storyboard, например. Обращение к нативному SDK в xamarin отличается только используемым языком, что позволяет разработчику получать опыт не только работы с фреймворком, но и с голым SDK. Ну а опыт работы с SDK, в свою очередь, позволяет без особых проблем читать и разбирать нативные референсы и библиотеки. За все время моей работы с Xamarin наиболее значимое ограничение - количество готовых библиотек. Но даже тут все не так страшно: Xamarin дает возможность создавать Binding Library (обертка к нативной библиотеке, позволяющая работать с ней через xamarin), ну а знание SDK позволяет без особых проблем переписать нативные библиотеки на C#.
О каком взаимодействии натива с Core вы спрашиваете?
Если на уровне кода, то все как в обычных решениях. В нативный проект подключен Core.
Если речь о реалтайме - mono прослойка транслирует обращения.