9. Проблемы нативной разработки
•
Anti-DRY (Don’t repeat yourself);
•
Все говорят на разных языках;
•
Один разработчик = одна платформа;
•
Ошибки исправляются только на одной
платформе.
11. Xamarin
•
C# везде! Можно писать для Mac OS, iOS и Android;
•
Нативный и производительность UI;
•
Одна IDE для разработки для всех платформ;
•
Готовые компоненты для быстрой разработки;
•
Огромное количество готовых C# библиотек;
•
Можно использовать нативные библиотеки;
•
Есть free лицензия.
13. Внутренности
•
Использует Mono Runtime (открытая
реализация .NET Framework);
•
Платформа развивается с 2004 года;
•
В теории можно использовать любой .NET язык
(есть плагин для F#);
•
Обертки над нативным SDK.
14. Сборка и исполнение
•
Всё компилируется в сборки;
•
Добавляется Mono Runtime,
GC, BCL;
•
iOS. AOT компиляция
генерирует из IL машинный
код;
•
Линковщик оставляет только
тот код, который
используется;
•
Исполняется нативно!
15. Работа с API/SDK
•
Не надо забывать, что вы
учили раньше;
•
Есть все знакомые классы и
методы (UIViewController,
Activity);
•
Обертки над API сделаны по
понятным правилам;
•
Релиз в тот же день;
•
C# упростил решение
типовых задач.
21. Portable Class Library
•
Указываются платформы, на которых должен
работать код;
•
Доступно только определенное подмножество
классов;
•
Гарантируется работа на всех платформах;
•
Нельзя добавить код для конкретной платформы.
22. Минусы
•
Вам потребуется Mac (на первое хватит
Hackintosh`а);
•
Лицензия на год стоит от $299;
•
Приложения получаются на 2-3 МБ больше;
•
Есть ограничения (JIT, Emit …);
•
Поддержка Android запаздывает.
23. Плюсы
•
Не надо учить Objective-C и Java;
•
Много общего кода;
•
Исправление ошибок сразу для всех платформ;
•
Один разработчик != одна платформа;
•
Много примеров кода и хорошая документация;
•
~500 000 Xamarin разработчиков.