Елена Жукова "native javascript на мобильных устройствах"
TRANSCRIPT
ЧТО ТАКОЕ НАТИВНОЕПРИЛОЖЕНИЕ ?
было разработано под конкретную OS ...
ТРЕБУЕТ ИНСТАЛЯЦИИНАТИВНЫЙ LOOK & FEEL (UX)
ЕСТЬ ДОСТУП К HARDWARE
ПРОИЗВОДИТЕЛЬНОСТЬ /ОТЗЫВЧИВОСТЬ
... НО!Нативный код, это код
компилируемый в машинныеинструкции и исполняемый
непосредственно процессором...
НЕДОСТАТКИ НАТИВНОЙРАЗРАБОТКИ
Нестандартный дизайн/UX/отображениеЦена(время/разработчики)Направленность на платформуОтсутствие шаринга кода
РЕАЛЬНЫЕ ПРОЕКТЫ:iOS PhoneGap
'Fabric''Crashlytics''UIColor-HexString''Slash''SVProgressHUD''SFStateViews''PPpdf417''SQLCipher''MPFoldTransition''SDWebImage''SSZipArchive''ZXingObjC''GoogleMaps''Flurry-iOS-SDK/FlurrySDK''Parse''ParseFacebookUtils''ParseCrashReporting''ParseUI''Reachability''FormatterKit''UIImageEffects''RESideMenu''GoogleAnalytics''Google-Mobile-Ads-SDK'
android.support.v4 1.0.0 "Android Support v4"co.themobilefirm.FlurryPlugin 3.3.6 "Flurry SDK"com.google.playservices 17.0.0 "Google Play Services for Android"com.googlemaps.ios 1.8.1 "Google Map iOS SDK for Cordova"com.jcesarmobile.IDFVPlugin 1.0.0 "Identifier For Vendor Plugin"com.phonegap.plugins.PushPlugin 2.2.0 "PushPlugin"com.phonegap.plugins.sqlite 0.7.0 "SQLitePlugin"com.phonegap.plugins.videoplayer 1.0 "VideoPlayer"com.plugin.datepicker 0.3.0 "Datepicker"de.appplant.cordova.plugin.email-composer 0.8.2dev "EmailComposer"nl.x-services.plugins.calendar 4.2.3 "Calendar"org.apache.cordova.camera 0.3.3 "Camera"org.apache.cordova.console 0.2.8 "Console"org.apache.cordova.device 0.2.9 "Device"org.apache.cordova.file 1.0.1 "File"org.apache.cordova.file-transfer 0.4.2 "File Transfer"org.apache.cordova.geolocation 0.3.10 "Geolocation"org.apache.cordova.inappbrowser 0.6.0 "InAppBrowser"org.apache.cordova.network-information 0.2.10-dev "Network Information"org.apache.cordova.splashscreen 0.3.4 "Splashscreen"plugin.google.maps 1.2.2 "phonegap-googlemaps-plugin"plugin.http.request 1.0.0 "phonegap-http-request"acra
ИДЕЯ: БРАУЗЕР ЕСТЬ ВЕЗДЕСПЕЦИФИКА PHONEGAP:
фонгап есть на 13 платформахсовместим с NW, Crosswalk, CocoonJS, Ludei ...это просто SPA (на любом фреймворке)мобильный браузер (память|GC|UI|UX)UX/UI будет таким, который вы реализуетесамое большое комьюнитинативные фитчи требуют нативной реализациипрактически не зависит от апдейтов OS
ИДЕЯ: ОДИН КОД ДЛЯ ВСЕХПЛАТФОРМ
СПЕЦИФИКА TITANIUM:
свой MVC фреймворкне весь нативный функционал поддерживаетсякомпилируемый нативный UIработа с нативным кодом через прокси классыапдейт платформы производителемпостоянно меняется архитектура/подходмаленькое комьюнити
СПЕЦИФИКА REACT NATIVE:
FlexBoxES6сериализация сообщений, все асинхронноReact и сопутствующие технологииnpmапдейт платформы производителемСторонние нативные библиотеки/Кастомный UI
ИДЕЯ: ПРЯМОЙ ДОСТУП К NATIVECODE
СПЕЦИФИКА NATIVE SCRIPT:
прямая работа с ЛЮБЫМ нативным кодомработа в UI потокеобщие абстракции между платформамиReflection, апдейта платформы не требуетсяMVVMnpmчастые релизы
PHONEGAPНестандартный UI/UX (презентации, партфолио,цифровые киоски, текст)Есть готовый SPAСамый быстрый способ опубликоваться в сторахВам нужны не только Android и iOS
TITANIUM MOBILEВы писали на Titanium раньшеРеализация особо хитрой нативнойфункциональности, которая есть только наTitaniumBaaSЯ больше никаких случаев не знаю ...
REACTNATIVEВы знакомы с Реактом и сопутствующимитехнологиямиПолностью стандартный UI, ничего кастомногоНадо ОЧЕНЬ быстро ( jsx + css + компоненты)
NATIVESCRIPTВам нужны сторонние нативные библиотекиВы готовы потратить чуть больше времени дляработы с нативой через jsВы понимаете, что полного шаринга кода несуществуетВас не особо раздражает MVVM или Вы готовыучить Angular 2