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

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

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
Avatar for DotNetRu DotNetRu
January 31, 2018

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

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

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

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

Avatar for DotNetRu

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