6. XAMARIN – НЕ НОВАЯ
ПЛАТФОРМА
• Основана на Mono Runtime
• Которая развивается с 2004 года
• Основатель – Miguel de Icaza (GNOME, mc)
• На сайте компании есть все для старта и работы
• Огромное количество примеров на github.com/xamarin
• Выпущено несколько книг
• ~1.500.000 разработчиков (F#)
10. Проблемы нативной разработки
• Anti-DRY (Don't repeat yourself)
• Все говорят на разных языках
• Один разработчик = одна платформа
• Ошибки исправляются только на
одной платформе
11. • C# везде! Можно писать для Mac OS, iOS и Android;
• Нативный и производительность UI;
• Одна IDE для разработки для всех платформ;
• Готовые компоненты для быстрой разработки;
• Огромное количество готовых C# библиотек;
• Можно использовать нативные библиотеки;
• Полностью бесплатная.
XAMARIN
14. В классах активно используется механизм C#
event`ов, что позволяет писать красивый и
компактный код обработчиков с
использованием делегатов и лямбда-
выражений:
16. Работа с API/SDK
• Не надо забывать, что вы учили раньше;
• Есть все знакомые классы и методы
(UIViewController, Activity);
• Обертки над API сделаны по понятным
правилам;
• Релиз в тот же день;
• Stackoverflow - программист
• C# упростил решение типовых задач.
17. Соответствие API Andoid
Java:
│ Intent i = new Intent(this, AnotherActivity.class);
startActivity(i);
C#:
│Intent i = new Intent(this, typeof(AnotherActivity));
StartActivity(i);
20. Сборка и исполнение
• Всё компилируется в сборки;
• Добавляется Mono Runtime, GC, BCL;
• iOS. AOT компиляция генерирует из IL машинный код;
• Линковщик оставляет только тот код, который
используется;
• Исполняется нативно!
22. Линковка
• Когда все линкуется, берется только то, что используется
• Если Вам все-таки что-то необходимо, но напрямую не
используется, можно пометить атрибутом
• Сильно уменьшает размер приложения
• Чем больше используем, тем больше приложение.
24. Минусы
• Xamarin Studio прекрасна, но имеет проблемы с отладчиком
• Встречаются баги
• Runtime неплохо нагружает приложение (+2-3 метра)
• Немного страдает производительность
• Нет Generic Virtual Methods в iOS
25. Плюсы
• Шарится много кода между всеми .NET платформами
• Позволяет переиспользовать до 60-80% кода
• Не обязательно знать Objective-C и Java
• Проще и быстрее разрабатывать (особенно общие части)
• Тонны нативных библиотек, библиотек .NET на github, codeplex, …
• Огромное сообщество .NET, и быстро растущее сообщество Xamarin.
• Да везде: быстрее кодим, меньше багов
26. • Меньше программистов для тех же задач
• Можно брать как с iOS/Android так и .NET разработчиков
• Сокращение стоимости разработки конечного продукта и как
следствие – довольные заказчики.
• Быстрая разработка – что тоже приводит к довольным заказчикам
• Огромный процент переиспользования в последующих проектах
ведет к еще большему снижению стоимости.
Плюсы для компании