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

Xamarin 4:3

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest. →
Avatar for Savanchuk Savanchuk
June 02, 2016
52

Xamarin 4:3

HackSpace

Avatar for Savanchuk

Savanchuk

June 02, 2016

Transcript

  1. XAMARIN – НЕ НОВАЯ ПЛАТФОРМА • Основана на Mono Runtime

    • Которая развивается с 2004 года • Основатель – Miguel de Icaza (GNOME, mc) • На сайте компании есть все для старта и работы • Огромное количество примеров на github.com/xamarin • Выпущено несколько книг • ~1.500.000 разработчиков (F#)
  2. Проблемы нативной разработки • Anti-DRY (Don't repeat yourself) • Все

    говорят на разных языках • Один разработчик = одна платформа • Ошибки исправляются только на одной платформе
  3. • C# везде! Можно писать для Mac OS, iOS и

    Android; • Нативный и производительный UI; • Одна IDE для разработки для всех платформ; • Готовые компоненты для быстрой разработки; • Огромное количество готовых C# библиотек; • Можно использовать нативные библиотеки; • Полностью бесплатная. XAMARIN
  4. В классах активно используется механизм C# event`ов, что позволяет писать

    красивый и компактный код обработчиков с использованием делегатов и лямбда- выражений:
  5. Работа с API/SDK • Не надо забывать, что вы учили

    раньше; • Есть все знакомые классы и методы (UIViewController, Activity); • Обертки над API сделаны по понятным правилам; • Релиз в тот же день; • Stackoverflow - программист • C# упростил решение типовых задач.
  6. Соответствие API Andoid Java: │ Intent i = new Intent(this,

    AnotherActivity.class); startActivity(i); C#: │Intent i = new Intent(this, typeof(AnotherActivity)) ; StartActivity(i);
  7. Сборка и исполнение • Всё компилируется в сборки; • Добавляется

    Mono Runtime, GC, BCL; • iOS. AOT компиляция генерирует из IL машинный код; • Линковщик оставляет только тот код, который используется; • Исполняется нативно!
  8. Линковка • Когда все линкуется, берется только то, что используется

    • Если Вам все-таки что-то необходимо, но напрямую не используется, можно пометить атрибутом • Сильно уменьшает размер приложения • Чем больше используем, тем больше приложение.
  9. Минусы • Xamarin Studio прекрасна, но имеет проблемы с отладчиком

    • Встречаются баги • Runtime неплохо нагружает приложение (+2-3 метра) • Немного страдает производительность • Нет Generic Virtual Methods в iOS
  10. Плюсы • Шарится много кода между всеми .NET платформами •

    Позволяет переиспользовать до 60-80% кода • Не обязательно знать Objective-C и Java • Проще и быстрее разрабатывать (особенно общие части) • Тонны нативных библиотек, библиотек .NET на github, codeplex, … • Огромное сообщество .NET, и быстро растущее сообщество Xamarin. • Да везде: быстрее кодим, меньше багов
  11. • Меньше программистов для тех же задач • Можно брать

    как с iOS/Android так и .NET разработчиков • Сокращение стоимости разработки конечного продукта и как следствие – довольные заказчики. • Быстрая разработка – что тоже приводит к довольным заказчикам • Огромный процент переиспользования в последующих проектах ведет к еще большему снижению стоимости. Плюсы для компании