SlideShare a Scribd company logo
REACT NATIVE
REACT NATIVE
Workshop
Fellipe Chagas
@chagasaway
Ajudamos grandes empresas e
startups a focarem em seu negócio
entregando tecnologia
DESENVOLVIMENTO
NATIVO
DESENVOLVIMENTO NATIVO
DESENVOLVIMENTO NATIVO
DESENVOLVIMENTO NATIVO
DESENVOLVIMENTO NATIVO
DESENVOLVIMENTO
HÍBRIDO
DESENVOLVIMENTO HÍBRIDO
DESENVOLVIMENTO HÍBRIDO
DESENVOLVIMENTO HÍBRIDO
DESENVOLVIMENTO HÍBRIDO
DESENVOLVIMENTO HÍBRIDO
DESENVOLVIMENTO HÍBRIDO
DESENVOLVIMENTO HÍBRIDO
DESENVOLVIMENTO HÍBRIDO
FRAMEWORKS
FRAMEWORKS
FRAMEWORKS
FRAMEWORKS
FRAMEWORKS
FRAMEWORKS
FRAMEWORKS
35.350 stars
897 contribuidores

e crescendo…
REACT
REACT
REACT
REACT
REACT
e milhares de outros…
REACT
COMPONENTES
REACT
COMPONENTES
TUDO PODE SER JAVASCRIPT
REACT
VIRTUAL DOM
COMPONENTES
TUDO PODE SER JAVASCRIPT
COMPONENTES
APP
COMPONENTES
HEADER
TABS
CARD
CARD
COMPONENTES
HEADER
TABS
CARD
CARD IMAGE
USER
AVATAR
CARD TEXT
CARD IMAGE
USER
AVATAR
CARD TEXT
COMPONENTES
HEADER
TABS
CARD
CARD IMAGE
USER
AVATAR
CARD TEXT
CARD IMAGE
USER
AVATAR
CARD TEXT
HEADER
TABS
ACCOUNT INFO
USER
AVATAR
ACCOUNT SETTINGS
CARD TEXT
CARD IMAGE
USER

AVATAR
COMPONENTES
CARD TEXT
CARD IMAGE
USER

AVATAR
COMPONENTES
import React, {
Component, StyleSheet, PropTypes, Image,
} from 'react-native'
export default class Avatar extends Component {
constructor(props) {
super(props)
}
render() {
return (
<Image source={this.props.image} style={styles.image} />
)
}
}
Avatar.propTypes = {
image: PropTypes.object.isRequired,
}
const styles = StyleSheet.create({
image: {
width: 30,
height: 30,
borderRadius: 15
},
})
CARD IMAGE
USER

AVATAR
CARD TEXT
COMPONENTES
COMPONENTES
componentWillMount
COMPONENTES
componentWillMount
componentDidMount
COMPONENTES
componentWillMount
componentDidMount
componentWillReceiveProps
COMPONENTES
componentWillMount
componentDidMount
componentWillReceiveProps
shouldComponentUpdate
COMPONENTES
componentWillMount
componentDidMount
componentWillReceiveProps
shouldComponentUpdate
componentWillUpdate
COMPONENTES
componentWillMount
componentDidMount
componentWillReceiveProps
shouldComponentUpdate
componentWillUpdate
componentDidUpdate
COMPONENTES
componentWillMount
componentDidMount
componentWillReceiveProps
shouldComponentUpdate
componentWillUpdate
componentDidUpdate
componentWillUnmount
COMPONENTES
componentWillMount
componentDidMount
componentWillReceiveProps
shouldComponentUpdate
componentWillUpdate
componentDidUpdate
componentWillUnmount
Props
COMPONENTES
componentWillMount
componentDidMount
componentWillReceiveProps
shouldComponentUpdate
componentWillUpdate
componentDidUpdate
componentWillUnmount
Props &

State
Props
REACT
VIRTUAL DOM
COMPONENTES
TUDO PODE SER JAVASCRIPT
TUDO PODE SER JAVASCRIPT
TUDO PODE SER JAVASCRIPT
HTML
import React, {
Component, StyleSheet, PropTypes, Image,
} from 'react-native'
export default class Avatar extends Component {
constructor(props) {
super(props)
}
render() {
return (
<Image source={this.props.image} style={styles.image} />
)
}
}
Avatar.propTypes = {
image: PropTypes.object.isRequired,
}
const styles = StyleSheet.create({
image: {
width: 30,
height: 30,
borderRadius: 15,
},
})
import React, {
Component, StyleSheet, PropTypes, Image,
} from 'react-native'
export default class Avatar extends Component {
constructor(props) {
super(props)
}
render() {
return (
<Image source={this.props.image} style={styles.image} />
)
}
}
Avatar.propTypes = {
image: PropTypes.object.isRequired,
}
const styles = StyleSheet.create({
image: {
width: 30,
height: 30,
borderRadius: 15,
},
})
TUDO PODE SER JAVASCRIPT
<Image source={this.props.image}
style={styles.image}
/>
TUDO PODE SER JAVASCRIPT
<Image source={this.props.image}
style={styles.image}
/>
JSX
TUDO PODE SER JAVASCRIPT
<Image source={this.props.image}
style={styles.image}
/>
JSX
let image = React.createElement(
Image,
{ source: this.props.image,
style: styles.image })
TUDO PODE SER JAVASCRIPT
<Image source={this.props.image}
style={styles.image}
/>
JSX
<img src=‘imagem.png’
style=‘border-radius: 5px’
/>
HTML
CSS
import React, {
Component, StyleSheet, PropTypes, Image,
} from 'react-native'
export default class Avatar extends Component {
constructor(props) {
super(props)
}
render() {
return (
<Image source={this.props.image} style={styles.image} />
)
}
}
Avatar.propTypes = {
image: PropTypes.object.isRequired,
}
const styles = StyleSheet.create({
image: {
width: 30,
height: 30,
borderRadius: 15,
},
})
import React, {
Component, StyleSheet, PropTypes, Image,
} from 'react-native'
export default class Avatar extends Component {
constructor(props) {
super(props)
}
render() {
return (
<Image source={this.props.image} style={styles.image} />
)
}
}
Avatar.propTypes = {
image: PropTypes.object.isRequired,
}
const styles = StyleSheet.create({
image: {
width: 30,
height: 30,
borderRadius: 15,
},
})
TUDO PODE SER JAVASCRIPT
StyleSheet.create({
image: {
width: 30,
height: 30,
borderRadius: 15,
},
})
TUDO PODE SER JAVASCRIPT
StyleSheet.create({
image: {
width: 30,
height: 30,
borderRadius: 15,
},
})
StyleSheet
TUDO PODE SER JAVASCRIPT
StyleSheet.create({
image: {
width: 30,
height: 30,
borderRadius: 15,
},
})
StyleSheet
.image {
width: 30px,
height: 30px,
borderRadius: 15px
}
CSS
REACT
VIRTUAL DOM
COMPONENTES
TUDO PODE SER JAVASCRIPT
VIRTUAL DOM
HTML DOM
VIRTUAL DOM
HTML DOM
JAVASCRIPT
VIRTUAL DOM
HTML DOM
JAVASCRIPT
VIRTUAL DOM
VIRTUAL DOM
VIRTUAL DOM
ANDROID
DOM
iOS
DOM
HTML
DOM
VIRTUAL DOM
ANDROID
DOM
iOS
DOM
HTML
DOM
SONY
DOM
SAMSUNG
DOM
WINDOWS
DOM
BRASTEMP
DOM
LG
DOM
PHILIPS
DOM
REACT NATIVE
COMPONENTES
View Image Text
Activity
Indicator
Modal Navigator
Refresh
Control
ScrollView
StatusBar Switch ListView TextInput
WebView MapView
ProgressBar
Android
…
APIs
Alert Animated AppState BackAndroid
CameraRoll Clipboard
DatePicker
Android
Dimensions
Geolocation Linking NetInfo ToastAndroid
PixelRatio
PushNotification
IOS
Vibration +++
COMUNIDADE
COMUNIDADE
COMUNIDADE
BIBLIOTECAS
NATIVAS
BIBLIOTECAS NATIVAS
BIBLIOTECA NATIVA
REACT NATIVE
BIBLIOTECAS NATIVAS
BIBLIOTECA NATIVA
REACT NATIVE
BIBLIOTECAS NATIVAS
BIBLIOTECA NATIVA
REACT NATIVE
BIBLIOTECAS NATIVAS
BIBLIOTECA NATIVA
REACT NATIVE
REACT NATIVE BRIDGE
'use strict';
var {PayPal} = require('react-native').NativeModules;
var constants = {};
var constantNames = Object.keys(PayPal).filter(p => p == p.toUpperCase());
constantNames.forEach(c => constants[c] = PayPal[c]);
var functions = {
paymentRequest(payPalParameters) {
return new Promise(function(resolve, reject) {
PayPal.paymentRequest(payPalParameters, resolve, reject);
});
}
};
var exported = {};
Object.assign(exported, constants, functions);
module.exports = exported;
'use strict';
var {PayPal} = require('react-native').NativeModules;
var constants = {};
var constantNames = Object.keys(PayPal).filter(p => p == p.toUpperCase());
constantNames.forEach(c => constants[c] = PayPal[c]);
var functions = {
paymentRequest(payPalParameters) {
return new Promise(function(resolve, reject) {
PayPal.paymentRequest(payPalParameters, resolve, reject);
});
}
};
var exported = {};
Object.assign(exported, constants, functions);
module.exports = exported;
public class PayPal extends ReactContextBaseJavaModule {
@ReactMethod
public void paymentRequest(
final ReadableMap payPalParameters,
final Callback successCallback, final Callback errorCallback
) {
final String environment = payPalParameters.getString("environment");
final String clientId = payPalParameters.getString("clientId");
final String price = payPalParameters.getString("price");
final String currency = payPalParameters.getString("currency");
final String description = payPalParameters.getString("description");
PayPalConfiguration config =
new PayPalConfiguration().environment(environment).clientId(clientId);
startPayPalService(config);
PayPalPayment thingToBuy = new PayPalPayment(
new BigDecimal(price), currency, description,
PayPalPayment.PAYMENT_INTENT_SALE);
Intent intent = new Intent(activityContext, PaymentActivity.class)
.putExtra(PayPalService.EXTRA_PAYPAL_CONFIGURATION, config)
.putExtra(PaymentActivity.EXTRA_PAYMENT, thingToBuy);
currentActivity.startActivityForResult(intent, paymentIntentRequestCode);
}
}
public class PayPal extends ReactContextBaseJavaModule {
@ReactMethod
public void paymentRequest(
final ReadableMap payPalParameters,
final Callback successCallback, final Callback errorCallback
) {
final String environment = payPalParameters.getString("environment");
final String clientId = payPalParameters.getString("clientId");
final String price = payPalParameters.getString("price");
final String currency = payPalParameters.getString("currency");
final String description = payPalParameters.getString("description");
PayPalConfiguration config =
new PayPalConfiguration().environment(environment).clientId(clientId);
startPayPalService(config);
PayPalPayment thingToBuy = new PayPalPayment(
new BigDecimal(price), currency, description,
PayPalPayment.PAYMENT_INTENT_SALE);
Intent intent = new Intent(activityContext, PaymentActivity.class)
.putExtra(PayPalService.EXTRA_PAYPAL_CONFIGURATION, config)
.putExtra(PaymentActivity.EXTRA_PAYMENT, thingToBuy);
currentActivity.startActivityForResult(intent, paymentIntentRequestCode);
}
}
public class PayPal extends ReactContextBaseJavaModule {
@ReactMethod
public void paymentRequest(
final ReadableMap payPalParameters,
final Callback successCallback, final Callback errorCallback
) {
final String environment = payPalParameters.getString("environment");
final String clientId = payPalParameters.getString("clientId");
final String price = payPalParameters.getString("price");
final String currency = payPalParameters.getString("currency");
final String description = payPalParameters.getString("description");
PayPalConfiguration config =
new PayPalConfiguration().environment(environment).clientId(clientId);
startPayPalService(config);
PayPalPayment thingToBuy = new PayPalPayment(
new BigDecimal(price), currency, description,
PayPalPayment.PAYMENT_INTENT_SALE);
Intent intent = new Intent(activityContext, PaymentActivity.class)
.putExtra(PayPalService.EXTRA_PAYPAL_CONFIGURATION, config)
.putExtra(PaymentActivity.EXTRA_PAYMENT, thingToBuy);
currentActivity.startActivityForResult(intent, paymentIntentRequestCode);
}
}
PLATAFORMAS
PLATAFORMAS
PLATAFORMAS
=
PLATAFORMAS
=
PLATAFORMAS
=
PLATAFORMAS
const Loader = Platform.select({
ios: () => require('LoaderIOS'),
android: () => require('LoaderAndroid'),
})()
render () {
...
<Loader />
...
}
PLATAFORMAS
import Loader from './Loader'
render () {
...
<Loader />
...
}
- Loader.ios.js

- Loader.android.js
REACT NATIVE
TOOLS
REACT NATIVE TOOLS
REACT NATIVE TOOLS
Não precisa compilar
Desenvolvimento dinâmico
Monitor de performance
REACT NATIVE TOOLS
$ react-native logs-ios

$ react-native logs-android
REACT NATIVE TOOLS
$ react-native logs-ios

$ react-native logs-android
Debug on Chrome
CODE PUSH
CODE PUSH
CODE PUSH
CODE PUSH
npm i —save react-native-code-push@latest
CODE PUSH
npm i —save react-native-code-push@latest
import codePush from ‘react-native-code-push'
...
componentDidMount() {
codePush.sync()
}
CODE PUSH
npm i —save react-native-code-push@latest
import codePush from ‘react-native-code-push'
...
componentDidMount() {
codePush.sync()
}
code-push release-react SampleApp ios
CODE PUSH
code-push release-react SampleApp
-- rollout 25%
-- targetBinaryVersion “~1.1.0”
CODE PUSH
code-push rollback
RNPM
RNPM
RNPM
RNPM
RNPM
RNPM
RNPM
npm i rnpm -g
RNPM
npm i rnpm -g
npm i react-native-module --save

rnpm link react-native-module
RNPM
npm i rnpm -g
rnpm install react-native-module
BOAS PRÁTICAS
BOAS PRÁTICAS
ESTRUTURA DO SEU PROJETO
FLUXO DE DADOS
TESTANDO SEUS COMPONENTES
FLUXO DE DADOS
COMPONENT
FLUXO DE DADOS
COMPONENT
API
FLUXO DE DADOS
COMPONENT
API
class SampleComponent extends Component {
...
componentDidMount() {
fetch(‘http://api.com/data‘).then((res) => {
this.setState({ data: res })
})
}
...
}
FLUXO DE DADOS
COMPONENT
API
COMPONENT
API
COMPONENT
API
COMPONENT
API
COMPONENT
API
FLUXO DE DADOS
COMPONENT
API
COMPONENT
API
COMPONENT
API
COMPONENT
API
COMPONENT
API
FLUXO DE DADOS
FLUXO DE DADOS
REDUX
COMPONENT
API
ACTION
CREATORS
REDUX
COMPONENTAPI
ACTION
CREATORS
REDUCERS
REDUX
COMPONENTAPI
ACTION
CREATORS
STORE
REDUCERS
REDUX
COMPONENTAPI
ACTION
CREATORS
STORE
REDUCERS
REDUX
COMPONENTAPI
ACTION
CREATORS
componentDidMounted
STORE
REDUCERS
REDUX
COMPONENTAPI
ACTION
CREATORS
componentDidMounted
fetchData STORE
REDUCERS
REDUX
COMPONENTAPI
ACTION
CREATORS
componentDidMounted
fetchDataHTTP STORE
REDUCERS
REDUX
COMPONENTAPI
ACTION
CREATORS
componentDidMounted
fetchDataHTTP JSON STORE
REDUCERS
REDUX
COMPONENTAPI
ACTION
CREATORS
STORE
REDUCERS
componentDidMounted
fetchDataHTTP JSON
Data
REDUX
COMPONENTAPI
ACTION
CREATORS
STORE
REDUCERS
componentDidMounted
fetchDataHTTP JSON
Data
New State
REDUX
COMPONENTAPI
ACTION
CREATORS
STORE
REDUCERS
componentDidMounted
fetchDataHTTP JSON
Data
New State
State
BOAS PRÁTICAS
ESTRUTURA DO SEU PROJETO
FLUXO DE DADOS
TESTANDO SEUS COMPONENTES
TESTANDO SEUS COMPONENTES
TESTANDO SEUS COMPONENTES
TESTANDO SEUS COMPONENTES
TESTANDO SEUS COMPONENTES
COMPONENT
ACTION
CREATORS
STOREREDUCERS
TESTANDO SEUS COMPONENTES
COMPONENT
ACTION
CREATORS
STOREREDUCERS
TESTANDO SEUS COMPONENTES
COMPONENT
ACTION
CREATORS
STOREREDUCERS
TESTANDO SEUS COMPONENTES
COMPONENT
ACTION
CREATORS
REDUCERS
TESTANDO SEUS COMPONENTES
ACTION
CREATORS
describe('actions', () => {
it('should create an action to load items', () =>
{
// given
const loading = true
const expectedAction = {
type: 'START_LOADER',
loading: loading
}
// when
let action = actions.loadItems()
// then
expect(action).toEqual(expectedAction)
}
})
TESTANDO SEUS COMPONENTES
COMPONENT
ACTION
CREATORS
REDUCERS
REDUCERS
TESTANDO SEUS COMPONENTES
describe('items reducer', () => {
it('should handle START_LOADER', () => {
// given
const initialState = {
loading: false,
items: []
}
const expectedState = {
loading: true,
items: []
}
const action = {
type: 'START_LOADER',
loading: true
}
// when
let state = reducer(initialState, action)
// then
expect(state).toEqual(expectedState)
}
})
TESTANDO SEUS COMPONENTES
COMPONENT
ACTION
CREATORS
REDUCERS
COMPONENT
TESTANDO SEUS COMPONENTES
class ItemList extends Component {
constructor(props) {
super(props)
}
_handleLoader() {
if (this.props.loading) {
return <Loader />
}
}
render() {
let loader = this._handleLoader()
return (
<View>
{loader}
</View>
)
}
}
COMPONENT
TESTANDO SEUS COMPONENTES
describe(‘ItemList Component', () => {
it('should render a view without loader', () => {
// given
const props = {
loading: false,
}
// when
let renderer = TestUtils.createRenderer()
renderer.render(<ItemList {...props} />)
let output = renderer.getRenderOutput()
// then
expect(output.type).toBe(View)
expect(output.props.children).toEqual(undefined)
}
})
TESTANDO SEUS COMPONENTES
COMPONENT
ACTION
CREATORS
REDUCERS
TESTANDO SEUS COMPONENTES
COMPONENT
ACTION
CREATORS
REDUCERS
SERVER
TESTANDO SEUS COMPONENTES
COMPONENT
ACTION
CREATORS
REDUCERS
SERVER
BOAS PRÁTICAS
ESTRUTURA DO SEU PROJETO
FLUXO DE DADOS
TESTANDO SEUS COMPONENTES
ESTRUTURA DO SEU PROJETO
your-project/
android/
ios/
- index.android.js

- index.ios.js
ESTRUTURA DO SEU PROJETO
your-project/
android/
ios/
src/
- index.android.js

- index.ios.js
ESTRUTURA DO SEU PROJETO
your-project/
android/
ios/
src/
actions/
components/
containers/
reducers/
store/
- index.android.js

- index.ios.js
ESTRUTURA DO SEU PROJETO
src/
actions/
- Posts.js
- Posts.spec.js
components/
containers/
reducers/
store/
ESTRUTURA DO SEU PROJETO
src/
actions/
components/
- Loader.js
- Loader.spec.js
- Post.js
- Post.spec.js
containers/
reducers/
store/
ESTRUTURA DO SEU PROJETO
src/
actions/
components/
base/
- Loader.js
- Loader.spec.js
post/
- Post.js
- Post.spec.js
- PostActions.js
- PostActions.spec.js
account/
- AccountSettings.js
- AccountSettings.spec.js
containers/
reducers/
store/
ESTRUTURA DO SEU PROJETO
src/
actions/
components/
containers/
- Root.js
- Root.spec.js
- Timeline.js
- Timeline.spec.js
- Account.js
- Account.spec.js
reducers/
store/
ESTRUTURA DO SEU PROJETO
src/
actions/
components/
containers/
reducers/
- Root.js
- Root.spec.js
- Posts.js
- Posts.spec.js
- Account.js
- Account.spec.js
store/
ESTRUTURA DO SEU PROJETO
src/
actions/
components/
containers/
reducers/
store/
- ConfigureStore.js
SAMPLE APP
SAMPLE APP
https://github.com/Vizir/ReactNativeWorkshop
Obrigado
chagas@vizir.com.br

github.com/chagasaway

More Related Content

What's hot

ReactJS presentation
ReactJS presentationReactJS presentation
ReactJS presentation
Thanh Tuong
 
Laravel 8 export data as excel file with example
Laravel 8 export data as excel file with exampleLaravel 8 export data as excel file with example
Laravel 8 export data as excel file with example
Katy Slemon
 
React js basics
React js basicsReact js basics
React js basics
Maulik Shah
 
React native app with type script tutorial
React native app with type script tutorialReact native app with type script tutorial
React native app with type script tutorial
Katy Slemon
 
Dsc Charusat Learning React Part 1
Dsc Charusat Learning React Part 1 Dsc Charusat Learning React Part 1
Dsc Charusat Learning React Part 1
JainamMehta19
 
Angular2 Development for Java developers
Angular2 Development for Java developersAngular2 Development for Java developers
Angular2 Development for Java developers
Yakov Fain
 
Workshop 26: React Native - The Native Side
Workshop 26: React Native - The Native SideWorkshop 26: React Native - The Native Side
Workshop 26: React Native - The Native Side
Visual Engineering
 
Learn react-js
Learn react-jsLearn react-js
Mobile Open Day: React Native: Crossplatform fast dive
Mobile Open Day: React Native: Crossplatform fast diveMobile Open Day: React Native: Crossplatform fast dive
Mobile Open Day: React Native: Crossplatform fast dive
epamspb
 
Intro to ReactJS
Intro to ReactJSIntro to ReactJS
Intro to ReactJS
Harvard Web Working Group
 
Seven Versions of One Web Application
Seven Versions of One Web ApplicationSeven Versions of One Web Application
Seven Versions of One Web Application
Yakov Fain
 
Developing Modern Java Web Applications with Java EE 7 and AngularJS
Developing Modern Java Web Applications with Java EE 7 and AngularJSDeveloping Modern Java Web Applications with Java EE 7 and AngularJS
Developing Modern Java Web Applications with Java EE 7 and AngularJS
Shekhar Gulati
 
Getting Started with React-Nathan Smith
Getting Started with React-Nathan SmithGetting Started with React-Nathan Smith
Getting Started with React-Nathan Smith
TandemSeven
 
Modern JavaScript, without giving up on Rails
Modern JavaScript, without giving up on RailsModern JavaScript, without giving up on Rails
Modern JavaScript, without giving up on Rails
Jonathan Johnson
 
20171108 PDN HOL React Basics
20171108 PDN HOL React Basics20171108 PDN HOL React Basics
20171108 PDN HOL React Basics
Rich Ross
 
React on es6+
React on es6+React on es6+
React on es6+
Nikolaus Graf
 
Finally, Professional Frontend Dev with ReactJS, WebPack & Symfony (Symfony C...
Finally, Professional Frontend Dev with ReactJS, WebPack & Symfony (Symfony C...Finally, Professional Frontend Dev with ReactJS, WebPack & Symfony (Symfony C...
Finally, Professional Frontend Dev with ReactJS, WebPack & Symfony (Symfony C...
Ryan Weaver
 
JOSA TechTalks - Better Web Apps with React and Redux
JOSA TechTalks - Better Web Apps with React and ReduxJOSA TechTalks - Better Web Apps with React and Redux
JOSA TechTalks - Better Web Apps with React and Redux
Jordan Open Source Association
 
React Native Introduction: Making Real iOS and Android Mobile App By JavaScript
React Native Introduction: Making Real iOS and Android Mobile App By JavaScriptReact Native Introduction: Making Real iOS and Android Mobile App By JavaScript
React Native Introduction: Making Real iOS and Android Mobile App By JavaScript
Kobkrit Viriyayudhakorn
 
Building Modern Web Applications using React and Redux
 Building Modern Web Applications using React and Redux Building Modern Web Applications using React and Redux
Building Modern Web Applications using React and Redux
Maxime Najim
 

What's hot (20)

ReactJS presentation
ReactJS presentationReactJS presentation
ReactJS presentation
 
Laravel 8 export data as excel file with example
Laravel 8 export data as excel file with exampleLaravel 8 export data as excel file with example
Laravel 8 export data as excel file with example
 
React js basics
React js basicsReact js basics
React js basics
 
React native app with type script tutorial
React native app with type script tutorialReact native app with type script tutorial
React native app with type script tutorial
 
Dsc Charusat Learning React Part 1
Dsc Charusat Learning React Part 1 Dsc Charusat Learning React Part 1
Dsc Charusat Learning React Part 1
 
Angular2 Development for Java developers
Angular2 Development for Java developersAngular2 Development for Java developers
Angular2 Development for Java developers
 
Workshop 26: React Native - The Native Side
Workshop 26: React Native - The Native SideWorkshop 26: React Native - The Native Side
Workshop 26: React Native - The Native Side
 
Learn react-js
Learn react-jsLearn react-js
Learn react-js
 
Mobile Open Day: React Native: Crossplatform fast dive
Mobile Open Day: React Native: Crossplatform fast diveMobile Open Day: React Native: Crossplatform fast dive
Mobile Open Day: React Native: Crossplatform fast dive
 
Intro to ReactJS
Intro to ReactJSIntro to ReactJS
Intro to ReactJS
 
Seven Versions of One Web Application
Seven Versions of One Web ApplicationSeven Versions of One Web Application
Seven Versions of One Web Application
 
Developing Modern Java Web Applications with Java EE 7 and AngularJS
Developing Modern Java Web Applications with Java EE 7 and AngularJSDeveloping Modern Java Web Applications with Java EE 7 and AngularJS
Developing Modern Java Web Applications with Java EE 7 and AngularJS
 
Getting Started with React-Nathan Smith
Getting Started with React-Nathan SmithGetting Started with React-Nathan Smith
Getting Started with React-Nathan Smith
 
Modern JavaScript, without giving up on Rails
Modern JavaScript, without giving up on RailsModern JavaScript, without giving up on Rails
Modern JavaScript, without giving up on Rails
 
20171108 PDN HOL React Basics
20171108 PDN HOL React Basics20171108 PDN HOL React Basics
20171108 PDN HOL React Basics
 
React on es6+
React on es6+React on es6+
React on es6+
 
Finally, Professional Frontend Dev with ReactJS, WebPack & Symfony (Symfony C...
Finally, Professional Frontend Dev with ReactJS, WebPack & Symfony (Symfony C...Finally, Professional Frontend Dev with ReactJS, WebPack & Symfony (Symfony C...
Finally, Professional Frontend Dev with ReactJS, WebPack & Symfony (Symfony C...
 
JOSA TechTalks - Better Web Apps with React and Redux
JOSA TechTalks - Better Web Apps with React and ReduxJOSA TechTalks - Better Web Apps with React and Redux
JOSA TechTalks - Better Web Apps with React and Redux
 
React Native Introduction: Making Real iOS and Android Mobile App By JavaScript
React Native Introduction: Making Real iOS and Android Mobile App By JavaScriptReact Native Introduction: Making Real iOS and Android Mobile App By JavaScript
React Native Introduction: Making Real iOS and Android Mobile App By JavaScript
 
Building Modern Web Applications using React and Redux
 Building Modern Web Applications using React and Redux Building Modern Web Applications using React and Redux
Building Modern Web Applications using React and Redux
 

Viewers also liked

Introduction to React Native
Introduction to React NativeIntroduction to React Native
Introduction to React Native
Rami Sayar
 
Amar_Ranjan_Das_Resume
Amar_Ranjan_Das_ResumeAmar_Ranjan_Das_Resume
Amar_Ranjan_Das_ResumeAmarRanjan Das
 
Moody - International - Aid and Development
Moody - International - Aid and DevelopmentMoody - International - Aid and Development
Moody - International - Aid and DevelopmentChris Moody
 
Carolina villacis
Carolina villacisCarolina villacis
Carolina villacis
0604937011
 
Defence Force
Defence ForceDefence Force
Defence Force
Good Education Group
 
Cformato celdas
Cformato celdasCformato celdas
Cformato celdas
0604937011
 
Tooling manufacturing check list
Tooling manufacturing check list Tooling manufacturing check list
Tooling manufacturing check list
Huang Simon
 
Repaint & reflow
Repaint & reflowRepaint & reflow
Repaint & reflow
Kingsley Zheng
 
React entry
React entryReact entry
React entry
Nobuaki Miura
 
Synchronizing application state using Virtual DOM trees
Synchronizing application state using Virtual DOM treesSynchronizing application state using Virtual DOM trees
Synchronizing application state using Virtual DOM trees
Jari Voutilainen
 
Intro to Web Map APIs
Intro to Web Map APIsIntro to Web Map APIs
Intro to Web Map APIs
Yos Riady
 
Introduction to React
Introduction to ReactIntroduction to React
Introduction to React
Yos Riady
 
Kdan Mobile - Growth Hack 產品運營與實作
Kdan Mobile - Growth Hack 產品運營與實作Kdan Mobile - Growth Hack 產品運營與實作
Kdan Mobile - Growth Hack 產品運營與實作
Kdan Mobile
 
Introduction to React
Introduction to ReactIntroduction to React
Introduction to React
Quentin Leonetti
 
Digitaalisesti vaikuttavaksi. @HelsinkiUniUX -projektin tarina
Digitaalisesti vaikuttavaksi. @HelsinkiUniUX  -projektin tarina Digitaalisesti vaikuttavaksi. @HelsinkiUniUX  -projektin tarina
Digitaalisesti vaikuttavaksi. @HelsinkiUniUX -projektin tarina
University of Helsinki
 
Carnaval ppt 2017
Carnaval ppt 2017Carnaval ppt 2017
Carnaval ppt 2017
ANDRÉA LEMOS
 
React Native: Developing an app similar to Uber in JavaScript
React Native: Developing an app similar to Uber in JavaScriptReact Native: Developing an app similar to Uber in JavaScript
React Native: Developing an app similar to Uber in JavaScript
Caio Ariede
 
Creating books app with react native
Creating books app with react nativeCreating books app with react native
Creating books app with react native
Ali Sa'o
 
Why and How to Use Virtual DOM
Why and How to Use Virtual DOMWhy and How to Use Virtual DOM
Why and How to Use Virtual DOM
Daiwei Lu
 

Viewers also liked (20)

Introduction to React Native
Introduction to React NativeIntroduction to React Native
Introduction to React Native
 
Amar_Ranjan_Das_Resume
Amar_Ranjan_Das_ResumeAmar_Ranjan_Das_Resume
Amar_Ranjan_Das_Resume
 
Moody - International - Aid and Development
Moody - International - Aid and DevelopmentMoody - International - Aid and Development
Moody - International - Aid and Development
 
Carolina villacis
Carolina villacisCarolina villacis
Carolina villacis
 
Defence Force
Defence ForceDefence Force
Defence Force
 
Cformato celdas
Cformato celdasCformato celdas
Cformato celdas
 
Tooling manufacturing check list
Tooling manufacturing check list Tooling manufacturing check list
Tooling manufacturing check list
 
Kad hiasan bacaan
Kad hiasan bacaanKad hiasan bacaan
Kad hiasan bacaan
 
Repaint & reflow
Repaint & reflowRepaint & reflow
Repaint & reflow
 
React entry
React entryReact entry
React entry
 
Synchronizing application state using Virtual DOM trees
Synchronizing application state using Virtual DOM treesSynchronizing application state using Virtual DOM trees
Synchronizing application state using Virtual DOM trees
 
Intro to Web Map APIs
Intro to Web Map APIsIntro to Web Map APIs
Intro to Web Map APIs
 
Introduction to React
Introduction to ReactIntroduction to React
Introduction to React
 
Kdan Mobile - Growth Hack 產品運營與實作
Kdan Mobile - Growth Hack 產品運營與實作Kdan Mobile - Growth Hack 產品運營與實作
Kdan Mobile - Growth Hack 產品運營與實作
 
Introduction to React
Introduction to ReactIntroduction to React
Introduction to React
 
Digitaalisesti vaikuttavaksi. @HelsinkiUniUX -projektin tarina
Digitaalisesti vaikuttavaksi. @HelsinkiUniUX  -projektin tarina Digitaalisesti vaikuttavaksi. @HelsinkiUniUX  -projektin tarina
Digitaalisesti vaikuttavaksi. @HelsinkiUniUX -projektin tarina
 
Carnaval ppt 2017
Carnaval ppt 2017Carnaval ppt 2017
Carnaval ppt 2017
 
React Native: Developing an app similar to Uber in JavaScript
React Native: Developing an app similar to Uber in JavaScriptReact Native: Developing an app similar to Uber in JavaScript
React Native: Developing an app similar to Uber in JavaScript
 
Creating books app with react native
Creating books app with react nativeCreating books app with react native
Creating books app with react native
 
Why and How to Use Virtual DOM
Why and How to Use Virtual DOMWhy and How to Use Virtual DOM
Why and How to Use Virtual DOM
 

Similar to React Native - Workshop

JSLab. Алексей Волков. "React на практике"
JSLab. Алексей Волков. "React на практике"JSLab. Алексей Волков. "React на практике"
JSLab. Алексей Волков. "React на практике"
GeeksLab Odessa
 
CiklumJavaSat_15112011:Alex Kruk VMForce
CiklumJavaSat_15112011:Alex Kruk VMForceCiklumJavaSat_15112011:Alex Kruk VMForce
CiklumJavaSat_15112011:Alex Kruk VMForceCiklum Ukraine
 
React table tutorial project setup, use table, and usefilter
React table tutorial project setup, use table, and usefilterReact table tutorial project setup, use table, and usefilter
React table tutorial project setup, use table, and usefilter
Katy Slemon
 
Python Code Camp for Professionals 1/4
Python Code Camp for Professionals 1/4Python Code Camp for Professionals 1/4
Python Code Camp for Professionals 1/4
DEVCON
 
Aplicacoes dinamicas Rails com Backbone
Aplicacoes dinamicas Rails com BackboneAplicacoes dinamicas Rails com Backbone
Aplicacoes dinamicas Rails com Backbone
Rafael Felix da Silva
 
React lecture
React lectureReact lecture
React lecture
Christoffer Noring
 
Connect.js - Exploring React.Native
Connect.js - Exploring React.NativeConnect.js - Exploring React.Native
Connect.js - Exploring React.Native
joshcjensen
 
Reactive programming every day
Reactive programming every dayReactive programming every day
Reactive programming every day
Vadym Khondar
 
Full Stack Scala
Full Stack ScalaFull Stack Scala
Full Stack Scala
Ramnivas Laddad
 
Boost delivery stream with code discipline engineering
Boost delivery stream with code discipline engineeringBoost delivery stream with code discipline engineering
Boost delivery stream with code discipline engineering
Miro Wengner
 
Single Page Web Applications with CoffeeScript, Backbone and Jasmine
Single Page Web Applications with CoffeeScript, Backbone and JasmineSingle Page Web Applications with CoffeeScript, Backbone and Jasmine
Single Page Web Applications with CoffeeScript, Backbone and JasminePaulo Ragonha
 
jQuery & 10,000 Global Functions: Working with Legacy JavaScript
jQuery & 10,000 Global Functions: Working with Legacy JavaScriptjQuery & 10,000 Global Functions: Working with Legacy JavaScript
jQuery & 10,000 Global Functions: Working with Legacy JavaScript
Guy Royse
 
Recompacting your react application
Recompacting your react applicationRecompacting your react application
Recompacting your react application
Greg Bergé
 
Relay Modern: architecture and workflow
Relay Modern: architecture and workflowRelay Modern: architecture and workflow
Relay Modern: architecture and workflow
Alex Alexeev
 
Introduction to Redux
Introduction to ReduxIntroduction to Redux
Introduction to Redux
Ignacio Martín
 
Rails 6 frontend frameworks
Rails 6 frontend frameworksRails 6 frontend frameworks
Rails 6 frontend frameworks
Eric Guo
 
N Things You Don't Want to Repeat in React Native
N Things You Don't Want to Repeat in React NativeN Things You Don't Want to Repeat in React Native
N Things You Don't Want to Repeat in React Native
Anton Kulyk
 
Apollo. The client we deserve
Apollo. The client we deserveApollo. The client we deserve
Apollo. The client we deserve
Yuri Nezdemkovski
 
JS Fest 2019. Glenn Reyes. With great power comes great React hooks!
JS Fest 2019. Glenn Reyes. With great power comes great React hooks!JS Fest 2019. Glenn Reyes. With great power comes great React hooks!
JS Fest 2019. Glenn Reyes. With great power comes great React hooks!
JSFestUA
 
Jarv.us Showcase — SenchaCon 2011
Jarv.us Showcase — SenchaCon 2011Jarv.us Showcase — SenchaCon 2011
Jarv.us Showcase — SenchaCon 2011Chris Alfano
 

Similar to React Native - Workshop (20)

JSLab. Алексей Волков. "React на практике"
JSLab. Алексей Волков. "React на практике"JSLab. Алексей Волков. "React на практике"
JSLab. Алексей Волков. "React на практике"
 
CiklumJavaSat_15112011:Alex Kruk VMForce
CiklumJavaSat_15112011:Alex Kruk VMForceCiklumJavaSat_15112011:Alex Kruk VMForce
CiklumJavaSat_15112011:Alex Kruk VMForce
 
React table tutorial project setup, use table, and usefilter
React table tutorial project setup, use table, and usefilterReact table tutorial project setup, use table, and usefilter
React table tutorial project setup, use table, and usefilter
 
Python Code Camp for Professionals 1/4
Python Code Camp for Professionals 1/4Python Code Camp for Professionals 1/4
Python Code Camp for Professionals 1/4
 
Aplicacoes dinamicas Rails com Backbone
Aplicacoes dinamicas Rails com BackboneAplicacoes dinamicas Rails com Backbone
Aplicacoes dinamicas Rails com Backbone
 
React lecture
React lectureReact lecture
React lecture
 
Connect.js - Exploring React.Native
Connect.js - Exploring React.NativeConnect.js - Exploring React.Native
Connect.js - Exploring React.Native
 
Reactive programming every day
Reactive programming every dayReactive programming every day
Reactive programming every day
 
Full Stack Scala
Full Stack ScalaFull Stack Scala
Full Stack Scala
 
Boost delivery stream with code discipline engineering
Boost delivery stream with code discipline engineeringBoost delivery stream with code discipline engineering
Boost delivery stream with code discipline engineering
 
Single Page Web Applications with CoffeeScript, Backbone and Jasmine
Single Page Web Applications with CoffeeScript, Backbone and JasmineSingle Page Web Applications with CoffeeScript, Backbone and Jasmine
Single Page Web Applications with CoffeeScript, Backbone and Jasmine
 
jQuery & 10,000 Global Functions: Working with Legacy JavaScript
jQuery & 10,000 Global Functions: Working with Legacy JavaScriptjQuery & 10,000 Global Functions: Working with Legacy JavaScript
jQuery & 10,000 Global Functions: Working with Legacy JavaScript
 
Recompacting your react application
Recompacting your react applicationRecompacting your react application
Recompacting your react application
 
Relay Modern: architecture and workflow
Relay Modern: architecture and workflowRelay Modern: architecture and workflow
Relay Modern: architecture and workflow
 
Introduction to Redux
Introduction to ReduxIntroduction to Redux
Introduction to Redux
 
Rails 6 frontend frameworks
Rails 6 frontend frameworksRails 6 frontend frameworks
Rails 6 frontend frameworks
 
N Things You Don't Want to Repeat in React Native
N Things You Don't Want to Repeat in React NativeN Things You Don't Want to Repeat in React Native
N Things You Don't Want to Repeat in React Native
 
Apollo. The client we deserve
Apollo. The client we deserveApollo. The client we deserve
Apollo. The client we deserve
 
JS Fest 2019. Glenn Reyes. With great power comes great React hooks!
JS Fest 2019. Glenn Reyes. With great power comes great React hooks!JS Fest 2019. Glenn Reyes. With great power comes great React hooks!
JS Fest 2019. Glenn Reyes. With great power comes great React hooks!
 
Jarv.us Showcase — SenchaCon 2011
Jarv.us Showcase — SenchaCon 2011Jarv.us Showcase — SenchaCon 2011
Jarv.us Showcase — SenchaCon 2011
 

Recently uploaded

Advanced Flow Concepts Every Developer Should Know
Advanced Flow Concepts Every Developer Should KnowAdvanced Flow Concepts Every Developer Should Know
Advanced Flow Concepts Every Developer Should Know
Peter Caitens
 
GlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote session
Globus
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
Paco van Beckhoven
 
Why React Native as a Strategic Advantage for Startup Innovation.pdf
Why React Native as a Strategic Advantage for Startup Innovation.pdfWhy React Native as a Strategic Advantage for Startup Innovation.pdf
Why React Native as a Strategic Advantage for Startup Innovation.pdf
ayushiqss
 
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
Tier1 app
 
Software Testing Exam imp Ques Notes.pdf
Software Testing Exam imp Ques Notes.pdfSoftware Testing Exam imp Ques Notes.pdf
Software Testing Exam imp Ques Notes.pdf
MayankTawar1
 
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.ILBeyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Natan Silnitsky
 
Understanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSageUnderstanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSage
Globus
 
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Globus
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus
 
Visitor Management System in India- Vizman.app
Visitor Management System in India- Vizman.appVisitor Management System in India- Vizman.app
Visitor Management System in India- Vizman.app
NaapbooksPrivateLimi
 
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
Hivelance Technology
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
AMB-Review
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
Ortus Solutions, Corp
 
Strategies for Successful Data Migration Tools.pptx
Strategies for Successful Data Migration Tools.pptxStrategies for Successful Data Migration Tools.pptx
Strategies for Successful Data Migration Tools.pptx
varshanayak241
 
Lecture 1 Introduction to games development
Lecture 1 Introduction to games developmentLecture 1 Introduction to games development
Lecture 1 Introduction to games development
abdulrafaychaudhry
 
Cyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdfCyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdf
Cyanic lab
 
De mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FMEDe mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FME
Jelle | Nordend
 
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns
 
How Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptxHow Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptx
wottaspaceseo
 

Recently uploaded (20)

Advanced Flow Concepts Every Developer Should Know
Advanced Flow Concepts Every Developer Should KnowAdvanced Flow Concepts Every Developer Should Know
Advanced Flow Concepts Every Developer Should Know
 
GlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote session
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
 
Why React Native as a Strategic Advantage for Startup Innovation.pdf
Why React Native as a Strategic Advantage for Startup Innovation.pdfWhy React Native as a Strategic Advantage for Startup Innovation.pdf
Why React Native as a Strategic Advantage for Startup Innovation.pdf
 
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
 
Software Testing Exam imp Ques Notes.pdf
Software Testing Exam imp Ques Notes.pdfSoftware Testing Exam imp Ques Notes.pdf
Software Testing Exam imp Ques Notes.pdf
 
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.ILBeyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
 
Understanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSageUnderstanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSage
 
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
 
Visitor Management System in India- Vizman.app
Visitor Management System in India- Vizman.appVisitor Management System in India- Vizman.app
Visitor Management System in India- Vizman.app
 
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
 
Strategies for Successful Data Migration Tools.pptx
Strategies for Successful Data Migration Tools.pptxStrategies for Successful Data Migration Tools.pptx
Strategies for Successful Data Migration Tools.pptx
 
Lecture 1 Introduction to games development
Lecture 1 Introduction to games developmentLecture 1 Introduction to games development
Lecture 1 Introduction to games development
 
Cyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdfCyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdf
 
De mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FMEDe mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FME
 
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology Solutions
 
How Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptxHow Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptx
 

React Native - Workshop