Xamarin. Кроссплатформенная разработка на C#

Preview:

Citation preview

Xamarin. Кроссплатформенная мобильная разработка на C#

Андрей Гаевский ag@touchin.ru @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!

!

Рад буду продолжить общение !

ag@touchin.ru @gaevskij

+7 (911) 455 96 43