Xamarin.Forms не готов к боевым условиям?

в 3:27, , рубрики: android development, Android разработка, ios development, iOS разработка, xamarin, xamarin.forms

Xamarin.Forms не готов к боевым условиям? Xamarin — продукт, дающий возможность используя .NET писать приложение сразу под 3 мобильные платформы — Android, iOS и Windows Phone. Не так давно в продукт добавлена новая технология — Xamarin.Forms, позволяющая писать один XML-файл с разметкой на все платформы сразу. Но насколько эта технология готова к использованию в продакшене?

Визуальный редактор и автодополнения

Пока что отсутствует визуальный редактор или предпросмотр того, что получается из XML'я (точнее, XAML'а). Да-да, я сам достаточно давнее время назад писал PHP и HTML в редакторах вроде Notepad++, и помню, что это вполне реально. Но там мне нужны были секунды, что бы посмотреть, что получается — сохранить да нажать F5 в браузере. Здесь же нужно скомпилировать и собрать приложение, залить на устройства или эмуляторы, зайти на нужную страницу… не так уж и быстро выходит.

Эта загрузка будет вечной, и батареек ей хватит надолго

Ещё больше поражает то, что при редактировании разметки у нас не будет подсказок по доступным объектам и их свойствам. Даже при работе из родной Xamarin Studio. Добро пожаловать в прошлое…

Xamarin.Forms не готов к боевым условиям?

Поддержка ReSharper'ом и Visual Studio

Другая проблема при работе с Xamarin.Forms в том, что по XML с разметкой генерируются файлы с кодом. Это хорошо. Но в отличии от генерации кода по редактору Storyboard'ов, файлы эти генерируются при непосредственной сборке проекта, во временной директории. От такой радости ReSharper сходит с ума и ничего нормально подсветить и посоветовать не может, как впрочем и сама Visual Studio.

Это не Рио-де-Жанейро. Это гораздо хуже.

В родной Xamarin Studio с этим порядок, но эту студию я не очень люблю. Чего только стоят периодически вылетающие ошибки при попытке сделать банальнейшую вещь — сохранить файл по нажатию Ctrl+S! Конкретно к Xamarin.Forms это не относится, но меня эта ошибка стабильно «радует» с прошлого года.

Xamarin.Forms не готов к боевым условиям?

Мелочи из комментариев

Из комментариев других разработчиком так же выяснилось, что, как минимум

  • Собственные шрифты без проблем пока можно использовать только под iOS — для Android'а придётся писать собственный рендер (Custom Render)
  • Есть проблемы с логикой указания размеров и отступов элементов, подробней тут

В общем и целом, задумка то хорошая, но прямо сейчас, поигравшись и пощупав инструменты, я таки выбрал разработку индивидуального интерфейса под iOS и Android. Кто-то конечно может сказать, что я зажрался, но блин! Сегодня инструменты порой решают не меньше, чем сама технология. Опытный разработчик использую подсказки IDE, автодополнения и прочие радости современности (вроде статистических анализаторов) может экономить кучу времени и избегать массы ошибок. В случае с Xamarin.Forms с этим пока всё достаточно безрадостно.

А какой у вас опыт использования Xamarin.Forms? Вы уже готовы терпеть все недостатки или взяли её в production? А может я всё не так понял и на самом деле все необходимые для меня фичи уже в наличии, просто нужно пошаманить с настройками? Жду ваших комментариев!

Автор: Newbilius

Источник


  1. Илья:

    Полезная информация! Сам пока не пробовал его, ибо в халявную версию не входит, а для фирмы, где нынче работаю, он не востребован. Это первое описание впечатления о нём, что я нашёл! Но если б сейчас стоял выбор, то я б не рискнул в production’е использовать инструмент, вышедший всего 3 месяца назад. А вот раздельный UI с февраля нынешнего года стал ничего, в production годится. Интересно ещё, что для разделяемых модулей рекомендуют 78-й профиль и планируют 252-й (последний я вообще ещё не видел), но я пользуюсь 7-м, 78-й более урезанный. А сам Xamarin.Forms авось через год-другой тоже доделают до практической применимости.

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js