Top Banner
Native JavaScript на мобильных устройствах Елена Жукова
29

Елена Жукова "Native JavaScript на мобильных устройствах"

Jan 15, 2017

Download

Technology

fwdays
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Елена Жукова "Native JavaScript на мобильных устройствах"

Native JavaScript намобильных устройствах

Елена Жукова

Page 2: Елена Жукова "Native JavaScript на мобильных устройствах"

ЧТО ТАКОЕ НАТИВНОЕПРИЛОЖЕНИЕ ?

было разработано под конкретную OS ...

ТРЕБУЕТ ИНСТАЛЯЦИИНАТИВНЫЙ LOOK & FEEL (UX)

ЕСТЬ ДОСТУП К HARDWARE

ПРОИЗВОДИТЕЛЬНОСТЬ /ОТЗЫВЧИВОСТЬ

Page 3: Елена Жукова "Native JavaScript на мобильных устройствах"

... НО!Нативный код, это код

компилируемый в машинныеинструкции и исполняемый

непосредственно процессором...

Page 4: Елена Жукова "Native JavaScript на мобильных устройствах"

Любой Java код на android не нативный поопределению, так как исполняется в виртуальной

машине.

Page 5: Елена Жукова "Native JavaScript на мобильных устройствах"

Нативная разработка на android возможна только спомощью NDK.

За исключением ART

Page 6: Елена Жукова "Native JavaScript на мобильных устройствах"

ТЕРМИН "NATIVE APPLICATION"

ОТНОСИТЕЛЕН

Page 7: Елена Жукова "Native JavaScript на мобильных устройствах"

ПОЧЕМУ JAVASCRIPT?

Page 8: Елена Жукова "Native JavaScript на мобильных устройствах"

НЕДОСТАТКИ НАТИВНОЙРАЗРАБОТКИ

Нестандартный дизайн/UX/отображениеЦена(время/разработчики)Направленность на платформуОтсутствие шаринга кода

Page 9: Елена Жукова "Native JavaScript на мобильных устройствах"

РЕАЛЬНЫЕ ПРОЕКТЫ: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

Page 10: Елена Жукова "Native JavaScript на мобильных устройствах"

JS ПЛАТФОРМЫ ДЛЯ "NATIVEAPPLICATION"

Page 11: Елена Жукова "Native JavaScript на мобильных устройствах"

ТАК ЧТО ЖЕ ЛУЧШЕ ВСЕГО?Это зависит от того...

...Что именно вам нужно

Page 12: Елена Жукова "Native JavaScript на мобильных устройствах"

НАЧНЕМ

Page 13: Елена Жукова "Native JavaScript на мобильных устройствах"

PHONEGAP

Page 14: Елена Жукова "Native JavaScript на мобильных устройствах"

ИДЕЯ: БРАУЗЕР ЕСТЬ ВЕЗДЕСПЕЦИФИКА PHONEGAP:

фонгап есть на 13 платформахсовместим с NW, Crosswalk, CocoonJS, Ludei ...это просто SPA (на любом фреймворке)мобильный браузер (память|GC|UI|UX)UX/UI будет таким, который вы реализуетесамое большое комьюнитинативные фитчи требуют нативной реализациипрактически не зависит от апдейтов OS

Page 15: Елена Жукова "Native JavaScript на мобильных устройствах"

Каждая OS имеет свой браузер

Но! В Android их более 30...

Page 16: Елена Жукова "Native JavaScript на мобильных устройствах"

TITANIUM MOBILE

Page 17: Елена Жукова "Native JavaScript на мобильных устройствах"

ИДЕЯ: ОДИН КОД ДЛЯ ВСЕХПЛАТФОРМ

СПЕЦИФИКА TITANIUM:

свой MVC фреймворкне весь нативный функционал поддерживаетсякомпилируемый нативный UIработа с нативным кодом через прокси классыапдейт платформы производителемпостоянно меняется архитектура/подходмаленькое комьюнити

Page 18: Елена Жукова "Native JavaScript на мобильных устройствах"

REACT NATIVE

Page 19: Елена Жукова "Native JavaScript на мобильных устройствах"

ИДЕЯ: ВЫУЧИЛ ОДНАЖДЫ, ПИШЕШЬПОД ВСЕ

Page 20: Елена Жукова "Native JavaScript на мобильных устройствах"

СПЕЦИФИКА REACT NATIVE:

FlexBoxES6сериализация сообщений, все асинхронноReact и сопутствующие технологииnpmапдейт платформы производителемСторонние нативные библиотеки/Кастомный UI

Page 21: Елена Жукова "Native JavaScript на мобильных устройствах"

NATIVE SCRIPT

Page 22: Елена Жукова "Native JavaScript на мобильных устройствах"

ИДЕЯ: ПРЯМОЙ ДОСТУП К NATIVECODE

СПЕЦИФИКА NATIVE SCRIPT:

прямая работа с ЛЮБЫМ нативным кодомработа в UI потокеобщие абстракции между платформамиReflection, апдейта платформы не требуетсяMVVMnpmчастые релизы

Page 23: Елена Жукова "Native JavaScript на мобильных устройствах"

ИДЕАЛЬНЫЕ КЕЙСЫ...

Page 24: Елена Жукова "Native JavaScript на мобильных устройствах"

PHONEGAPНестандартный UI/UX (презентации, партфолио,цифровые киоски, текст)Есть готовый SPAСамый быстрый способ опубликоваться в сторахВам нужны не только Android и iOS

Page 25: Елена Жукова "Native JavaScript на мобильных устройствах"

TITANIUM MOBILEВы писали на Titanium раньшеРеализация особо хитрой нативнойфункциональности, которая есть только наTitaniumBaaSЯ больше никаких случаев не знаю ...

Page 26: Елена Жукова "Native JavaScript на мобильных устройствах"

REACTNATIVEВы знакомы с Реактом и сопутствующимитехнологиямиПолностью стандартный UI, ничего кастомногоНадо ОЧЕНЬ быстро ( jsx + css + компоненты)

Page 27: Елена Жукова "Native JavaScript на мобильных устройствах"

NATIVESCRIPTВам нужны сторонние нативные библиотекиВы готовы потратить чуть больше времени дляработы с нативой через jsВы понимаете, что полного шаринга кода несуществуетВас не особо раздражает MVVM или Вы готовыучить Angular 2

Page 28: Елена Жукова "Native JavaScript на мобильных устройствах"

ВЫБИРАЙТЕИНСТРУМЕНТ С

УМОМ...

Page 29: Елена Жукова "Native JavaScript на мобильных устройствах"

ВОПРОСЫ ?