Upload
forkconf
View
121
Download
7
Embed Size (px)
Citation preview
Xamarin. Кроссплатформенная мобильная разработка на C#
Андрей Гаевский [email protected] @gaevskij
2,5 ГОДА !
20+ ПРИЛОЖЕНИЙ !
40+ ЧЕЛОВЕК !
МНОГО СЧАСТЛИВЫХ КЛИЕНТОВ
Счастливые клиенты
– Nat Frieman, CEO Xamarin
“Touch Instinct — эксперты в разработке качественных и прекрасных мобильных приложений на технологиях Xamarin.”
Я расскажу вам о…
Разработка в теории
Разработка на практике
Мобильная разработка
Проблемы нативной разработки
• Anti-DRY (Don’t repeat yourself);
• Все говорят на разных языках;
• Один разработчик = одна платформа;
• Ошибки исправляются только на одной платформе.
?
Xamarin• C# везде! Можно писать для Mac OS, iOS и Android;
• Нативный и производительность UI;
• Одна IDE для разработки для всех платформ;
• Готовые компоненты для быстрой разработки;
• Огромное количество готовых C# библиотек;
• Можно использовать нативные библиотеки;
• Есть free лицензия.
Почему C#?Objective-C
C#
Внутренности
• Использует Mono Runtime (открытая реализация .NET Framework);
• Платформа развивается с 2004 года;
• В теории можно использовать любой .NET язык (есть плагин для F#);
• Обертки над нативным SDK.
Сборка и исполнение• Всё компилируется в сборки;
• Добавляется Mono Runtime, GC, BCL;
• iOS. AOT компиляция генерирует из IL машинный код;
• Линковщик оставляет только тот код, который используется;
• Исполняется нативно!
Работа с API/SDK• Не надо забывать, что вы учили раньше;
• Есть все знакомые классы и методы (UIViewController, Activity);
• Обертки над API сделаны по понятным правилам;
• Релиз в тот же день;
• C# упростил решение типовых задач.
Xamarin Studio
Xamarin Studio
• Выглядит прекрасно;
• Единая среда для всех платформ;
• Создание и рефакторинг кода;
• Полноценная отладка на симуляторах и устройствах.
Создание UI. iOS
Создание UI. Android
До 60% общего кода
Portable Class Library
• Указываются платформы, на которых должен работать код;
• Доступно только определенное подмножество классов;
• Гарантируется работа на всех платформах;
• Нельзя добавить код для конкретной платформы.
Минусы• Вам потребуется Mac (на первое хватит
Hackintosh`а);
• Лицензия на год стоит от $299;
• Приложения получаются на 2-3 МБ больше;
• Есть ограничения (JIT, Emit …);
• Поддержка Android запаздывает.
Плюсы• Не надо учить Objective-C и Java;
• Много общего кода;
• Исправление ошибок сразу для всех платформ;
• Один разработчик != одна платформа;
• Много примеров кода и хорошая документация;
• ~500 000 Xamarin разработчиков.
Личные впечатления
Вопросы?
bit.ly/fork_xamarin!
!
Рад буду продолжить общение !
[email protected] @gaevskij
+7 (911) 455 96 43