Native Apps in JavaScript with React Native - Esri [PDF]

Mar 8, 2016 - React Native: Lessons From a. Prototype. Gregory ... Flexible deployment (the JS bundle can be downloaded

0 downloads 4 Views 5MB Size

Recommend Stories


React Native - Building Mobile Apps with JavaScript Pdf
And you? When will you begin that long journey into yourself? Rumi

React Native - Building Mobile Apps with JavaScript Pdf
If you are irritated by every rub, how will your mirror be polished? Rumi

PDF Learning React Native
You have to expect things of yourself before you can do them. Michael Jordan

[PDF] Learning React Native
The wound is the place where the Light enters you. Rumi

Senior Javascript Developer for React Native
There are only two mistakes one can make along the road to truth; not going all the way, and not starting.

PDF Learning React Native
No amount of guilt can solve the past, and no amount of anxiety can change the future. Anonymous

Download Learning React Native
How wonderful it is that nobody need wait a single moment before starting to improve the world. Anne

Learning React Native
If your life's work can be accomplished in your lifetime, you're not thinking big enough. Wes Jacks

Ebook Learning React Native
And you? When will you begin that long journey into yourself? Rumi

Landscaping with Native Plants
You miss 100% of the shots you don’t take. Wayne Gretzky

Idea Transcript


Esri Developer Summit March 8–11, 2016 | Palm Springs, CA

Native Apps in JavaScript with React Native: Lessons From a Prototype Gregory L’Azou - [email protected] - github.com/glazou Steven Kitterman - [email protected] - github.com/skitterm

Agenda



Context of our prototype



React Native introduction



Demos



Hands-on UI



Hands-on Maps



Conclusion



Questions and Discussion

Context of our prototype

Context of our prototype What technology to implement for a cross-platform Map Tour app?

Criteria and technologies



Look and feel



Performance



Development / maintenance cost



Integration with native capabilities



Maturity, “future”



Fit for the team of web dev

AppStudio For ArcGIS

Technologies overview

Technology

Description

PhoneGap

Bundle a JavaScript web app in a native app

HTML

AppStudio

Write JavaScript & QML, output a native app that uses Qt Quick Framework

Qt Quick

React Native

Write JavaScript that uses native UI components and get a native app

App logic

JavaScript

Native PF access View

Yes Native UI framework

React Native introduction

React Native introduction



Build native apps for iOS and Android in JavaScript



OpenSource, started by Facebook



Released in March 2015 with iOS support, added Android in September



Active development, release every 2-3 weeks



Native implementation of React web framework -

Released in 2013, one of the three most popular (with Angular and Ember)

-

Very opinioned at UI, great concept that get adopted in other frameworks

React Native announcement https://code.facebook.com/videos/786462671439502/react-js-conf-2015-keynote-introducing-react-native-/ React native concepts https://code.facebook.com/posts/1014532261909640/react-native-bringing-modern-web-techniques-to-mobile/ React announcement https://www.youtube.com/watch?v=x7cQ3mrcKaY

Growing steadily https://facebook.github.io/react-native/showcase.html

https://github.com/facebook/react-native

https://js.coach/react-native

Why it’s attractive to the StoryMaps team •

Develop in JavaScript



Cross-platform web, Android and iOS



Beautiful UI and responsive app



Simple UI layout (Flexbox and CSS)



Productive environment: live reload, debug



Full native capabilities, can integrate existing native UI components



Flexible deployment (the JS bundle can be downloaded by the app from your server)



Well-known UI framework (React.js)

Philosophy

Write once  run anywhere

Learn once  write anywhere

AppStudio Phonegap

React Native Xamarin

App design

SignInForm .ios.js index.ios.js index.android.js

View View View View

iOS UI

React Native Android UI

Android UI

SignInForm Common.js

SignInForm .android.js

React Native exposes one implementation to the device

React Native iOS UI

React Native exposes one of the Forms to the view

At runtime

Source: www.ibm.com/developerworks/library/mo-bluemix-react-native-ios8/

Demos

Demos



Map Tour React Native prototype iOS



Example React Native app: -

Facebook Ads and Hacker News Reader on Android

-

Discovery VR on iOS



React Native UI explorer on iOS www.reactnative.com/uiexplorer/



React Native playground rnplay.org



Map Tour Phonegap prototype

Hands-on UI

Hands-on UI

github.com/skitterm/react-native-demo

Hands-on Maps

Hands-on Maps



Use ArcGIS Runtime SDK for iOS and Android in React native



While there is no plan for a ArcGIS SDK for React Native, this proof of concept may work for you if you need limited API in JavaScript or can develop in native



Other options to get a Map: -

Use JavaScript API through a web view (can’t send command or receive events)

-

Use JavaScript API through a Web Bridge (we prototyped with earlier version, it can allow to send command and receive events)

github.com/glazou/react-native-arcgis-sdk-demo

Hands-on Maps design

React Native iOS UI

iOS UI

ArcGISMap .ios.js

React Native ArcGIS iOS

ArcGIS Runtime SDK for iOS

ArcGISMap .android.js

React Native ArcGIS Android

ArcGIS Runtime SDK for Android

React Native Android UI

AndroidUI

index.ios.js App index.android.js

TestMap

Conclusion

Conclusion



Seems great for apps where look&feel and performance matter



Many challenges but it maybe ready for production for your needs



Resources about React Native: github.com/jondot/awesome-react-native



Let us know if you are interested

Questions and Discussion

Please Take Our Survey! Download the Esri Events app and find your event

Select the session you attended

Scroll down to find the survey

Complete Answers and Select “Submit”

Smile Life

When life gives you a hundred reasons to cry, show life that you have a thousand reasons to smile

Get in touch

© Copyright 2015 - 2024 PDFFOX.COM - All rights reserved.