Exploring the continuum
between Cordova and
React Native
Martijn Walraven
Core Developer, Meteor Development Group
M E T E O R : F U L L S T A C K J A V A S C R I P T
App Microservices
FRAMEWORK
Blaze
Livequery
Client Data Cache
DB REST SOAP
App Components & Logic
React Angular
SERVER
CLIENT
SOURCES
DDP
MobileWeb
Universal JavaScript
The same code runs from the client to the cloud, from packages
to database APIs. The same code runs cross browsers and
mobile devices via Meteor's unified build system.
Reactive Rendering
Client GUI components provide the look, feel and response of a
thick client app using any combination of React, Angular, or
Blaze.
Optimistic UI
Meteor presents 'Data-on-the-wire' with latency compensation
and conflict resolution built-in. When data changes, updates
propagate reliably to affected clients and users’ screens update
via Livequery, full stack DB drivers and mini database sources.
Websocket Microservices
Meteor's Distributed Data Protocol (DDP) provides 'REST for
Websockets', a standard protocol for delivering microservice
APIs over Websockets that push data from the cloud to live-
updating clients.
• Only downloads changed assets
• Detects faulty JavaScript and rolls back to the last known good version
• Blocks updates when the platforms or plugins have changed
Hot Code Push in Meteor 1.3
W H Y C O R D O V A ?
Product teams, not
technology teams
Learn once, write anywhere
Responsive design is for
web sites, not for apps
You’ll probably need a
mobile UI framework
Composable user interfaces
React Angular
Raise the level of abstraction
from HTML/CSS 

to declarative components
class Story extends React.Component {
render() {
const story = this.props.story;
return (
<Card>
<ProfilePicture user={story.author} />
<span>{story.author.name}</span>
<span>{story.body}</span>
<CommentList comments={story.comments} />
</Card>
);
}
}
<ProfilePicture>
<Card>
<CommentList>
<div>
<span>
<img>
<span>
<div> <Comment>
<div>
story.author.name
story.body
DOM independence
React Native
Bringing modern web
techniques to mobile
Web View Plugins
JavaScript-native bridge
Native App
Application code
(HTML, CSS, and
JavaScript)
Native code
C O R D O V A
JavaScript context Native UI components
JavaScript-native bridge
Native App
Application code
(JavaScript)
Native code
R E A C T N A T I V E
iOS
85%
code reuse
Android
<ProfilePicture>
<Card>
<CommentList>
<View>
<Text>
<Image>
<Text>
<View> <Comment>
<View>
story.author.name
story.body
https://github.com/necolas/react-native-web
https://github.com/axemclion/react-native-cordova-plugin
Microsoft’s Project Ace: 

https://github.com/Microsoft/ace
Thank you
@martijnwalraven

Exploring the continuum between Cordova and React Native