Станислав Сидристый xamarin

26
КРОССПЛАТФОРМЕННАЯ РАЗРАБОТКА МОБИЛЬНЫХ ПРИОЛЖЕНИЙ. XAMARIN. СТАНИСЛАВ СИДРИСТЫЙ [email protected] touchin.ru @sidristij

Upload: apps4all

Post on 23-Dec-2014

600 views

Category:

Technology


4 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Станислав Сидристый Xamarin

КРОССПЛАТФОРМЕННАЯ РАЗРАБОТКА МОБИЛЬНЫХ ПРИОЛЖЕНИЙ. XAMARIN.

СТАНИСЛАВ СИДРИСТЫЙ[email protected]@sidristij

Page 2: Станислав Сидристый Xamarin

2ГОДА

20+ПРИЛОЖЕНИЙ

40ЧЕЛОВЕК

Page 3: Станислав Сидристый Xamarin

Streamдочерняя

МТС

Мегалабсдочерняя

Мегафона

Page 4: Станислав Сидристый Xamarin
Page 5: Станислав Сидристый Xamarin

ВАЖНОСТЬ ВЫБОРА ПРАВИЛЬНОГО ИНСТРУМЕНТА.

Page 6: Станислав Сидристый Xamarin

КОГДА РАЗРАБОТЧИК СЧАСТЛИВ?

— На работе интересно, коллектив гордится

— Дети первые в рейтингах WOT, вышел Half Life 3

— Жена понимает, когда говоришь «отрефакторил»

— ???

Page 7: Станислав Сидристый Xamarin

КОГДА РАЗРАБОТЧИК СЧАСТЛИВ?

— На работе интересно, коллектив гордится

— Дети первые в рейтингах WOT, вышел Half Life 3

— Жена понимает, когда говоришь «отрефакторил»

— Правильные инструменты разработки!

Page 8: Станислав Сидристый Xamarin

ВЛИЯНИЕ НА РАЗРАБОТКУ

ДЕШЕВО

КАЧЕСТВЕННО

БЫСТРО

ДЕШЕВО

Плохие – мешают жить Хорошие – улучшают продукт

КАЧЕСТВЕННО

БЫСТРО

Page 9: Станислав Сидристый Xamarin

XAMARIN

Позволяет разработывать iOS, MAC и Android

приложения на C#, используя почти всю

мощь .Net Framework

Имеет множество тулов для удобства

разработки

Page 10: Станислав Сидристый Xamarin

XAMARIN – НЕ НОВАЯ ПЛАТФОРМА

Основана на mono runtime

Которая развивается с 2001 года

Свободная реализация ECMA-334 (C#) и ECMA-

335 (CLI)

Основатель – Miguel de Icaza (GNOME, mc)

Исходники, комьюнити, свой стор, партнеры,…

Page 11: Станислав Сидристый Xamarin

XAMARIN. НЕМНОГО О КОМПАНИИ

Продает и осуществляет поддержку Monotouch/Monodroid

Цены от $299 для Indie (раньше было $399, приятно)

На сайте компании есть все для старта и работы

Огромное количество примеров на github.com/xamarin

Выпущено несколько книг

Page 12: Станислав Сидристый Xamarin
Page 13: Станислав Сидристый Xamarin

MONOTOUCH

Mono для iOS c AOT компиляцией и bindings к API

Код – на C#, UI – родной, через удобные обёртки

Обертки делают API iOS понятным на C#

Среда разработки – Xamarin Studio (MAC, Windows) + XCode

Page 14: Станислав Сидристый Xamarin

КОМПИЛЯЦИЯ

Все как в настоящем .NET, компилируется в сборки

Поэтому теоретически можно заюзать любой язык .NET

(сейчас можно F#, но есть Nemerle, Ruby, Python, JS)

IL превращается в машинный код при помощи AOT

копиляции

Программа воссоединяется с Mono Runtime, GC, BCL, …

Page 15: Станислав Сидристый Xamarin

КОМПИЛЯЦИЯ

Page 16: Станислав Сидристый Xamarin

ЛИНКОВКА

Когда все линкуется, берется только то, что используется

Если Вам все-таки что-то необходимо, но напрямую не

используется, можно пометить атрибутом

Сильно уменьшает размер приложения

Чем больше используем, тем больше приложение.

Page 17: Станислав Сидристый Xamarin

ЧТО ОБЩЕГО С НАТИВНЫМ API

Абсолютно идентичная работа с UI

AppDelegate, UIWindow,ViewControllers, ... на iOS

Activities, Fragments, … на Андроиде

Платформенное API с железом такое же как родное

Отличается только то, что можно C#-изировать

Page 18: Станислав Сидристый Xamarin

ОТЛАДКА

Честная отладка, с breakpoints

Можно просматривать в Watches, Immediate Window

Наводить курсор на переменные

Page 19: Станислав Сидристый Xamarin

Среда разработки – Xamarin Studio

Page 20: Станислав Сидристый Xamarin

iOS UI

Page 21: Станислав Сидристый Xamarin

Android UI

Page 22: Станислав Сидристый Xamarin

МИНУСЫ

Потираем ручки

Xamarin Studio прекрасна, но имеет проблемы с отладчиком

Bindings не всегда строятся правильно

Runtime неплохо нагружает приложение (+2-3 метра)

Немного страдает производительность

Нельзя Emit'тить

Нет Generic Virtual Methods / p/invokes в Generic Types

Page 23: Станислав Сидристый Xamarin

ПЛЮСЫ

Шарится много кода между всеми .NET платформами

Не обязательно знать Objective-C и Java

Проще и быстрее разработывать (особенно общие части)

Тонны библиотек для .NET на github, codeplex, …

Тонны нативных библиотек, которые можно юзать

Огромное сообщество .NET, и быстро растущее (400 тысяч

акков) сообщество Xamarin.

Page 24: Станислав Сидристый Xamarin

ПЛЮСЫ ДЛЯ КОМПАНИИ

Меньше программистов для тех же задач

Можно хантить как с iOS/Android так и .NET разработчиков,

уставших от корпоративного сектора

Сокращение стоимости разработки конечного продукта и как

следствие – довольные заказчики.

Page 25: Станислав Сидристый Xamarin

ЛИЧНЫЙ ОПЫТ И ВПЕЧАТЛЕНИЯ

Опыт прекрасен, отказываться не собираемся никогда

CoinKeeper… Да везде: быстрее кодим, меньше багов

Общая логика: не пишем все заново. 30-60%% шарим

Когда вышла iOS 7, API с Ксамарина был готов практически

сразу.

Page 26: Станислав Сидристый Xamarin

ВОПРОСЫ!

Fb: @touchinstinct

Twitter: @sidristij, @touchin_ru

Email: [email protected]

touchin.ru