Pull to refresh
-6
0
Send message
отладчик Visual Studio. Все там видно.
Вообще, большинство вопросов здесь — от незнания того, как работает Xamarin. Xamarin приложение на Android — это, по сути, приложение Mono, т.е., это то же .NET приложение, только в среде Linux. В iOS немного сложнее. Это если в двух словах. Интересующимся — доки.
Cordova имеет еще больше ограничений, чем ReactNative. И хуже производительность. Там же WebView под капотом. А по мануалам на оф.сайте — так это любой фреймворк прекрасен!
простите, опечатка: (из .NET framework)
А при том, что все зависимости тащятся из Nuget. Ну или ссылка на проект в солюшене. Или библиотека из .NET фреймворка. Платформозависимые библиотеки оборачиваются в Nuget пакеты.
З.Ы. в Xamarin вы будете пользоваться не retrofit, а HttpClient (.NET из framework) или RestSharp из того же Nuget
Кордова еще не умерла? В одной конторе, где я работал разработчиком Xamarin, проект раньше был написан на Cordova, но код был отправлен в помойку и переписан на Xamarin
Платформы знать конечно же нужно. Но разговор о том, что бизнес-логику не нужно переписывать с Java на Swift. А в некоторых приложениях это львиная доля кода
Visual Studio «приобретать» нужно далеко не всегда. Очень часто достаточно бесплатной Community версии
Либо на винде, либо на Mac
зависимости? Про NuGet слышали? 2 клика мыши
XAML? за все время работы с Xamarin ни разу с ним не работал. XAML нужен только для Forms, в Xamarin.Android и Xamarin.iOS используются «нативные» layout'ы и StoryBoard'ы
Если не хотите разный дизайн — Xamarin Forms вам самое то. Вообще платформ-специфичного кода будет процентов 5
У меня есть опыт работы в достаточно серьезной компании над вполне крупным приложением на Xamarin с навороченной бизнес-логикой. Вот что я скажу: насчет плюсов — согласен. Допилить какую-то фичу под другую платформу — это процентов 10-20 от времени работы над фичей. Одна команда универсальных солдат. Причем команда частенько ротировалась с десктопной командой (там WPF). Большая часть кода бизнес-логики шарилась с десктопом. Родной C#, MVVM фреймворк (MVVMCross), процесс разработки — одно удовольствие (если не считать глюков и лагов коннекта с Маком для сборки проекта под iOS — да-да, для сборки под iOS без Мака никуда, а работа со всем этим хозяйством — это то еще удовольствие).
НО! Приложение на не самых быстрых андроид-устройствах грузилось до 15 секунд!!!
Вы можете себе представить, чтобы какой-нибудь фейсбук грузился 15 секунд? Да вы, как пользователь, пошлете к чертям такое приложение, если это не B2B сектор, и вам НАДО с этим приложением работать. Конечно, там не только проблема фреймворка, там было много наших косяков, и с бубном удалось на пару секунд сократить загрузку, но все же… Например такой факт: гугл сделал DI контейнер Dagger 2, который работает на кодогенерации, и соответственно, в рантайме времени на поднятие контейнера не тратится. А нам приходилось работать с Autofac, который работает на рефлексии, и поднятие контейнера занимало при запуске несколько секунд!
З.Ы. простите за многабукаф, ИТОГО: мое мнение — Xamarin очень хорош, если у вас B2B сектор, готовая .NET команда, и нужно шарить код с десктопом. А главный критерий — сценарий использования приложения — как часто юзер будет его открывать и как долго с ним работать. Если открывать 20 раз в день чтобы ответить на сообщение и закрыть — Xamarin использовать нельзя.
Тоже не согласен про «забудьте про native». Возможно, в разных диалектах «по умолчанию» используются разные конструкции. Я изучал английский у носителя американского английского, и он употреблял только native language и native speaker. Ни разу не слышал от него «mother tongue».

Information

Rating
Does not participate
Registered
Activity