SlideShare ist ein Scribd-Unternehmen logo
1 von 25
Downloaden Sie, um offline zu lesen
Xamarin. Кроссплатформенная
мобильная разработка на C#

Андрей Гаевский
ag@touchin.ru
@gaevskij
2,5
ГОДА
!

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

40+
ЧЕЛОВЕК
!

МНОГО
СЧАСТЛИВЫХ КЛИЕНТОВ
Счастливые клиенты
“Touch Instinct — эксперты в разработке
качественных и прекрасных мобильных
приложений на технологиях Xamarin.”
– Nat Frieman, CEO 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

Weitere ähnliche Inhalte

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

Разработка в Vs2015
Разработка в Vs2015Разработка в Vs2015
Разработка в Vs2015Tatiana Smetanina
 
DevCon 2016 - Xamarin
DevCon 2016 - XamarinDevCon 2016 - Xamarin
DevCon 2016 - XamarinAnton Shunkov
 
Преимущества создания кроссплатформенных приложений с использованием Phone ga...
Преимущества создания кроссплатформенных приложений с использованием Phone ga...Преимущества создания кроссплатформенных приложений с использованием Phone ga...
Преимущества создания кроссплатформенных приложений с использованием Phone ga...geekfamilyrussia
 
«Кроссплатформенная разработка мобильных приложений для бизнеса» Александр Еп...
«Кроссплатформенная разработка мобильных приложений для бизнеса» Александр Еп...«Кроссплатформенная разработка мобильных приложений для бизнеса» Александр Еп...
«Кроссплатформенная разработка мобильных приложений для бизнеса» Александр Еп...DataArt
 
Кроссплатформенная разработка
Кроссплатформенная разработкаКроссплатформенная разработка
Кроссплатформенная разработкаValery
 
2015-12-12 | AzovDevMeetup 2015 | Мобильная разработка: Native, Hybrid, Cross...
2015-12-12 | AzovDevMeetup 2015 | Мобильная разработка: Native, Hybrid, Cross...2015-12-12 | AzovDevMeetup 2015 | Мобильная разработка: Native, Hybrid, Cross...
2015-12-12 | AzovDevMeetup 2015 | Мобильная разработка: Native, Hybrid, Cross...JSC “Arcadia Inc”
 
Разработка кросплатформенных приложений
Разработка кросплатформенных приложенийРазработка кросплатформенных приложений
Разработка кросплатформенных приложенийbarbariska89
 
Павел Федотовский «Как мы разрабатывали приложение для DotNetRu на Xamarin.Fo...
Павел Федотовский «Как мы разрабатывали приложение для DotNetRu на Xamarin.Fo...Павел Федотовский «Как мы разрабатывали приложение для DotNetRu на Xamarin.Fo...
Павел Федотовский «Как мы разрабатывали приложение для DotNetRu на Xamarin.Fo...SpbDotNet Community
 
Xamarin.Forms в реальных проектах
Xamarin.Forms в реальных проектахXamarin.Forms в реальных проектах
Xamarin.Forms в реальных проектахAppTractor
 
Кросс-платформенная мобильная разработка
Кросс-платформенная мобильная разработкаКросс-платформенная мобильная разработка
Кросс-платформенная мобильная разработкаArtur Drobinskiy
 
Настоящее и будущее решений для разработки кросс-платформенных мобильных гибр...
Настоящее и будущее решений для разработки кросс-платформенных мобильных гибр...Настоящее и будущее решений для разработки кросс-платформенных мобильных гибр...
Настоящее и будущее решений для разработки кросс-платформенных мобильных гибр...CEE-SEC(R)
 
Вячеслав Черников (Binwell) | Xamarin на практике
Вячеслав Черников (Binwell) | Xamarin на практике Вячеслав Черников (Binwell) | Xamarin на практике
Вячеслав Черников (Binwell) | Xamarin на практике RIF-Technology
 
Программист как профессия
Программист как профессияПрограммист как профессия
Программист как профессияJaroslav Khorishenko
 
презентация резидента сколково Freemium 300711
презентация резидента сколково Freemium 300711презентация резидента сколково Freemium 300711
презентация резидента сколково Freemium 300711ggennix
 
Разработка мобильных приложений на HTML5
Разработка мобильных приложений на HTML5Разработка мобильных приложений на HTML5
Разработка мобильных приложений на HTML5DevDay
 
#MBLTdev: Как не стать заложником одной платформы (Parallels)
#MBLTdev: Как не стать заложником одной платформы (Parallels)#MBLTdev: Как не стать заложником одной платформы (Parallels)
#MBLTdev: Как не стать заложником одной платформы (Parallels)e-Legion
 

Ähnlich wie Xamarin. Кроссплатформенная мобильная разработка на C# @ ForkConf (20)

Разработка в Vs2015
Разработка в Vs2015Разработка в Vs2015
Разработка в Vs2015
 
[Add 4] crossplatform .net
[Add 4] crossplatform .net[Add 4] crossplatform .net
[Add 4] crossplatform .net
 
DevCon 2016 - Xamarin
DevCon 2016 - XamarinDevCon 2016 - Xamarin
DevCon 2016 - Xamarin
 
Преимущества создания кроссплатформенных приложений с использованием Phone ga...
Преимущества создания кроссплатформенных приложений с использованием Phone ga...Преимущества создания кроссплатформенных приложений с использованием Phone ga...
Преимущества создания кроссплатформенных приложений с использованием Phone ga...
 
«Кроссплатформенная разработка мобильных приложений для бизнеса» Александр Еп...
«Кроссплатформенная разработка мобильных приложений для бизнеса» Александр Еп...«Кроссплатформенная разработка мобильных приложений для бизнеса» Александр Еп...
«Кроссплатформенная разработка мобильных приложений для бизнеса» Александр Еп...
 
Кроссплатформенная разработка
Кроссплатформенная разработкаКроссплатформенная разработка
Кроссплатформенная разработка
 
2015-12-12 | AzovDevMeetup 2015 | Мобильная разработка: Native, Hybrid, Cross...
2015-12-12 | AzovDevMeetup 2015 | Мобильная разработка: Native, Hybrid, Cross...2015-12-12 | AzovDevMeetup 2015 | Мобильная разработка: Native, Hybrid, Cross...
2015-12-12 | AzovDevMeetup 2015 | Мобильная разработка: Native, Hybrid, Cross...
 
Разработка кросплатформенных приложений
Разработка кросплатформенных приложенийРазработка кросплатформенных приложений
Разработка кросплатформенных приложений
 
Павел Федотовский «Как мы разрабатывали приложение для DotNetRu на Xamarin.Fo...
Павел Федотовский «Как мы разрабатывали приложение для DotNetRu на Xamarin.Fo...Павел Федотовский «Как мы разрабатывали приложение для DotNetRu на Xamarin.Fo...
Павел Федотовский «Как мы разрабатывали приложение для DotNetRu на Xamarin.Fo...
 
4-urii
4-urii4-urii
4-urii
 
Vacancy testing engineer
Vacancy testing engineerVacancy testing engineer
Vacancy testing engineer
 
Xamarin.Forms в реальных проектах
Xamarin.Forms в реальных проектахXamarin.Forms в реальных проектах
Xamarin.Forms в реальных проектах
 
Кросс-платформенная мобильная разработка
Кросс-платформенная мобильная разработкаКросс-платформенная мобильная разработка
Кросс-платформенная мобильная разработка
 
Настоящее и будущее решений для разработки кросс-платформенных мобильных гибр...
Настоящее и будущее решений для разработки кросс-платформенных мобильных гибр...Настоящее и будущее решений для разработки кросс-платформенных мобильных гибр...
Настоящее и будущее решений для разработки кросс-платформенных мобильных гибр...
 
Вячеслав Черников (Binwell) | Xamarin на практике
Вячеслав Черников (Binwell) | Xamarin на практике Вячеслав Черников (Binwell) | Xamarin на практике
Вячеслав Черников (Binwell) | Xamarin на практике
 
Программист как профессия
Программист как профессияПрограммист как профессия
Программист как профессия
 
презентация резидента сколково Freemium 300711
презентация резидента сколково Freemium 300711презентация резидента сколково Freemium 300711
презентация резидента сколково Freemium 300711
 
Embarcadero strategy
Embarcadero strategyEmbarcadero strategy
Embarcadero strategy
 
Разработка мобильных приложений на HTML5
Разработка мобильных приложений на HTML5Разработка мобильных приложений на HTML5
Разработка мобильных приложений на HTML5
 
#MBLTdev: Как не стать заложником одной платформы (Parallels)
#MBLTdev: Как не стать заложником одной платформы (Parallels)#MBLTdev: Как не стать заложником одной платформы (Parallels)
#MBLTdev: Как не стать заложником одной платформы (Parallels)
 

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