Top Banner
Building our App with React Native October 2016
20

Building our App with React Native

Jan 08, 2017

Download

Software

Nuxeo
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: Building our App with React Native

Building our App withReact Native

October 2016

Page 2: Building our App with React Native

Nuxeo Platform

An Open Source platform to develop your own content apps

Provides a REST API

Multiple clients

● Web Application● Desktop Synchronization● Mobile Application

Page 3: Building our App with React Native

Nuxeo Mobile for Browsing Assets

Page 4: Building our App with React Native

Why React Native?

Page 5: Building our App with React Native

What we tried?

2011: First android SDK

2012: Old jQuery Mobile app using Apache Cordova

2013: iOS SDK

2015: Tests using RoboVM / j2objc

2016: React Native

Page 6: Building our App with React Native

JavaScript to Build a Native App

Real native app, not a responsive web UI

No real native developers @ Nuxeo

Leverage our own JavaScript client

Powerful way to build a native app for both iOS and Android

Supported by Facebook

Page 7: Building our App with React Native

Our feedback

Page 8: Building our App with React Native

React Native

Bootstrap an app on iOS and Android in 10 minutes!

Active GitHub community

Short release cycle

Page 9: Building our App with React Native

External Modules

Large set of modules available in the npm registry

● Navigation: react-native-router-flux● Internationalization: react-native-i18n● File access: react-native-fetch-blob

○ Manage easily blob on local FS

Page 10: Building our App with React Native

For Developers (us!)

Code in ES6!

Easy layout with Flexbox

Productivity and debugging tools

● Live / Hot reload● Inspector● Remote debugging with Chrome

Page 11: Building our App with React Native

For Developers (us!)

Easy creation of reusable UI components

Easy use of the native bridge

● Sharing actions on iOS● Download manager on Android

Same code base for both platform (+90% of shared code)

Page 12: Building our App with React Native

Issues / Limitations

Slight style differences between iOS and Android

Different set of props depending on the platform

Frequent React Native upgrades

Page 13: Building our App with React Native

Build, Release and Delivery

React Native app well integrated with a bunch of tools

● npm● CocoaPods● Gradle● Fastlane● Jenkins

Page 14: Building our App with React Native

Delivery Workflow

Page 15: Building our App with React Native

Final Step: Slack Notification

Page 16: Building our App with React Native

Next Steps

Automated Android delivery

Functional testing

Automated Screenshots for releases

Page 17: Building our App with React Native

Next Steps

Refactoring by extracting more components

Provide an Open Source Nuxeo library with reusable components

Page 18: Building our App with React Native

Questions?

Page 19: Building our App with React Native

Thanks!

Page 20: Building our App with React Native

For Developers (us!)

Easy creation of reusable UI components

(TODO EXAMPLE?)

PageProviderListView code sample

Usage + content of PageProviderListView#render

Une slide : screenshot de la liste Search

Une slide : code sample