Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Павел Федотовский «Как мы разрабатывали приложе...

DotNetRu
January 31, 2018

Павел Федотовский «Как мы разрабатывали приложение для DotNetRu на Xamarin.Forms»

Про Xamarin.Forms наверное уже слышал каждый — после покупки Xamarin Microsoft’ом платформа довольно активно развивается. В этом докладе будет анонс приложения для сообществ DotNetRu написанного на Xamarin.Forms. Поговорим про то, как мы его разрабатывали, с какими сложностями столкнулись и как их решали. Мы рассмотрим весь цикл создания, от настройки окружения до публикации в магазины. Обязательно затронем такие темы как:

- какие есть возможности отладки приложения;
- как сделать общий код для разных платформ;
- локализация;
- мониторинг.

Приложение отрытое и разрабатывается добровольцами. После доклада у каждого из вас будет достаточно информации, чтобы присоединиться к миру Open Source и вместе с сообществом создавать DotNetRu App.

DotNetRu

January 31, 2018
Tweet

More Decks by DotNetRu

Other Decks in Programming

Transcript

  1. Плюсы Xamarin.Forms Создание приложения под “все” платформы с использованием C#

    + XAML Почему Xamarin.Forms 1. Нормальный язык (С#) 2. XAML 3. Нативные контролы 4. Хорошая документация 5. Бесплатно
  2. Поддерживаемые платформы Platform Backend Status Supported By Android Stable Xamarin

    iOS Stable Xamarin Tizen Stable Third Party - Samsung UWP Stable Xamarin macOS Preview Xamarin GTK# Early Preview Community WPF Early Preview Community https://github.com/mohachouch/forms- wpf-progress Web? PoC Community https://montemagno.com/building-a- xaml-xamarin-forms-asp-net-website/
  3. Поддерживаемые платформы Platform Backend Status Supported By Android Stable Xamarin

    iOS Stable Xamarin Tizen Stable Third Party - Samsung UWP Stable Xamarin macOS Preview Xamarin GTK# Early Preview Community WPF Early Preview Community https://github.com/mohachouch/forms- wpf-progress Web? PoC Community https://montemagno.com/building-a- xaml-xamarin-forms-asp-net-website/
  4. iOS 11 65% iOS 10 28% Other 7% iOS: 93%

    iOS 11 iOS 10 Other Other 19% 5 6% 5.1 19% 6 29% 7 21% 7.1 5% 8.x 1% Android: 80.7% Other 5 5.1 6 7 7.1 8.x
  5. Настройка окружения Xamarin.Forms идет из коробки со студией Windows: Visual

    Studio 2017 macOS: Visual Studio for Mac Крайне желательно мощное железо  SSD is a must
  6. Настройка Android Реальное устройство • Все просто, включаем Developer Options

    Эмуляторы (несовместимы между собой!) • Visual Studio Android Emulator • требует Hyper-V • Нет поддержки Google Maps • Google Android Emulator • Несовместим с Hyper-V
  7. Настройка iOS Для сборки требуется macOS => нужен iMac, Mac,

    MacBook, etc.  Решение: macOS в облаке, e.g. https://macincloud.com Как запустить на реальном устройстве? USB over Network Слишком дорого, проще купить MacBook
  8. Настройка iOS iOS Remote Simulator Работает c ~3 раза 

    Реальное устройство Можно бесплатно запускать на iPhone/iPad Нет поддержки пуш-уведомлений
  9. Резюме Android Google Android Emulator, если не нужен Hyper-V Очень

    просто запустить на реальном устройстве iOS Нужна macOS, e.g. https://macincloud.com iOS Remote Simulator
  10. Отдельная сборка, можно расшарить Не нужны #if директивы Не хватает

    API • ToTitleCase • ToShortDateString • Reflection: GetMember Portable Class Library
  11. Высота ListView var adjust = Device.Android ? 1 : -

    itemsCount + 1; HeightRequest = (itemsCount * RowHeight) - adjust;
  12. Производительность приложения Из коробки довольно медленно под Android Но прогресс

    есть  Android Fast Renderers  Startup time improvements https://blog.xamarin.com/5-ways-boost-xamarin-forms-app- startup-time/
  13. Live Player Не нужна macOS Позволяет менять код/XAML и тут

    же видеть результат Много ограничений https://developer.xamarin.com/guides/cross-platform/live/limitations/  Нет поддержки аттрибутов Ни разу не удалось запустить с DotNetRu, куча багов Help wanted!
  14. Live Run Current View Не работает с DotNetRu App Из

    коробки не работает, нужно вставлять костыли Help wanted!
  15. Подготовка к публикации под iOS Под Windows ничего не работает,

    куча багов Нужно использовать VS for Mac/Xcode для редактирования Иконки: http://appiconmaker.co/  LaunchScreen
  16. Публикация Нужны аккаунты разработчика Android: 25$ единоразово iOS: 99$ каждый

    год Visual Studio App Center  Continuos Integration  UI тесты  https://appcenter.ms/apps
  17. Visual Studio App Center После выкладывания жизненный цикл не заканчивается!

    https://appcenter.ms/apps Нужно установить  Microsoft.AppCenter.Analytics  Microsoft.AppCenter.Crashes
  18. Выводы На Xamarin.Forms разрабатывать можно Все еще куча багов, но

    стало лучше Open Source – если что, можно допилить С Live Player все будет совсем хорошо 
  19. DotNetRu App GitHub: https://github.com/DotNetRu/App Git Flow – Pull Requests в

    ветку develop https://github.com/DotNetRu/App/issues Tags help wanted good first issue