2015-12-12 | azovdevmeetup 2015 | Мобильная разработка: native, hybrid,...
TRANSCRIPT
Mobile: Native / Hybrid / Cross-Platform
Виктор Котов, Аркадия
2
Виктор Котов
20+ лет в ИТ
5+ лет в мобильной разработке (iOS)
Немного о себе
3
Аркадия / Мобильная разработка
• Разработка iOS приложений с 2009, около 20 проектов
• Разработка Android приложений с 2011, около 10 проектов
• Cross-platform (hybrid) разработка с 2012, около 5 проектов
http://www.softwarecountry.com/our-experience/
4
Мобильная разработка сегодня
5
Мобильная разработка / Native
• Аппаратные требования: компьютер с Mac OS X
• Языки программирования: Objective-C, Swift
iOS
6
• AppStore $99 в год
• Физические лица
• Организации (D-U-N-S Number required)
• Enterprise $299 в год
• Volume Purchase Program for Business
• VPP Store
• Доступно не во всех странах*
iOS
* https://deploy.apple.com/qforms/open/register/country/avs
Мобильная разработка / Native
7
• Аппаратные требования : компьютер с любой современной ОС
• Язык программирования: Java
Android
Мобильная разработка / Native
8
• Google Play Store $25 в год
• Google Apps for Work от $5 за один аккаунт в месяц
• Google Play for Work Store
• Enterprise Mobility Management via Google Partners*
Android
* https://www.google.com/work/android/partners/index.html?activeTab=emm
Мобильная разработка / Native
9
Мобильная разработка / Альтернативы
PhoneGapIonic Sencha
Touch AppGyver
React Native
Xamarin
10
. / Альтернативы / Примеры
11
Native Android UI
12
Xamarin
13
http://phonegap.com/
Pros:o Один код для всех платформ (iOS, Android,
Windows Phone, Blackberry, mobile web)o Cloud Build Service https://build.phonegap.com/o Поддержка плагинов
Cons:o “Из коробки” слабая поддержка Native UI &
transitionso Отдельный CSS для каждой платформыo WebView не гарантирует одинаковый результатo Недостаточно документации
. / Альтернативы / PhoneGap
14
Pros:o Дополнительно при помощи CefSharp получили
приложение Windows 7+ o ngTouch или FastClick помогли избавиться от лагов
Cons:o Многие плагины не поддерживаются
разработчиками, баги пришлось исправлять самостоятельно (Obj-C & Java код)
o Проблема с текстовым полем – пришлось добавлять нативный код/интерфейс
. / Альтернативы / PhoneGap / Аркадия
15
http://xamarin.com/
Pros:o Xamarin Test Cloud http://xamarin.com/test-cloud o Xamarin Insights http://xamarin.com/insights o Xamarin.Form 2.0o Native libs&SDKs via Objective Sharpieo Xamarin Inspectoro UITest 1.0 C# framework for UI tests + Test Recorder
Commercial licenses ($1000 per developer per platform per year).Free Starter Licenses - with poor functionality.
. / Альтернативы / Xamarin
16
. / Альтернативы / Xamarin
17
. / Альтернативы / Xamarin / Inspector
18
Cons:o Дополнительные ограничения для UIo Утечки памятиo Дополнительные компоненты и библиотеки
распространяются в виде DLL https://components.xamarin.com/
o Debug exceptions малоинформативныo XAML (Xamarin.Forms UI) редактируются только в
текстовом виде
. / Альтернативы / Xamarin
19
https://facebook.github.io/react-native/http://www.reactnative.com
Pros:o iOS&Android приложения на JavaScripto Native UI & UXo Возможность обновления приложения без ревью
Cons:o Имеет зависимость от других инструментовo Debugging issue https://github.com/facebook/react-
devtools/issues/229 o Пока недостаточно ресурсов (книг/документации)o Юридические аспекты требуют внимания
. / Альтернативы / React Native
20
. / Альтернативы / React Native
Javascript-NativeBridge
Javascript Engine
Application Code (JS) and
Resources
React Native Obj-C
Native UI
Application Obj-C
21
. / Альтернативы / React Native
Native App
React Native lib
Javascript Engine
React JS
RN JS lib
JS
22
Что же выбрать?Native Xamarin Web Apps Hybrid
Should work offline þ þ þ þNative apps development background þ þ þSimple UI/Functionality þ þ þ þHeavily customized UI / gestures þ þ þHas to be fast prototyped for few platforms þ þ þHas website as fully functional alternative þ þGoing to use platform specific features þ þ þ þHas to be fast and responsive. UX at the first place. þ þ þ þHas to be secure þ þ þ þKnowledge base, Developers Communities þ þ þ þCost for few platforms þ þ þ þ
23
Ссылкиo http://mashable.com/2015/01/02/mobile-trends-2015/ Mobile trends 2015o https://www.icsalabs.com/blogs/will-promise-hybrid-mobile-apps-outweigh-new-
security-concerns http://mostconf.org/2014/papers/s3p5.pdf Code Injection Attacks on HTML5-based Mobile Apps
o http://hackingthroughcomplexity.nl/tag/hybrid-apps/ The other, darker side of hybrid apps
o https://developer.salesforce.com/page/Native,_HTML5,_or_Hybrid:_Understanding_Your_Mobile_Application_Development_Options
o http://developer.xamarin.com/guides/cross-platform/xamarin-forms/creating-mobile-apps-xamarin-forms/
o Презентация Xamarin 4 https://goto.webcasts.com/viewer/event.jsp?ei=1084533o https://developer.xamarin.com/guides/ios/advanced_topics/binding_objective-c/
objective_sharpie/o React Native https://github.com/facebook/react-nativeo React Native sandbox https://rnplay.org/ o http://www.slideshare.net/Polidea/react-native-building-native-ios-apps-with-javascript?
related=1o https://github.com/jondot/awesome-react-native