SlideShare a Scribd company logo
Rami Sayar - @ramisayar
Senior Technical Evangelist
Microsoft Canada
@RAMISAYAR
@RAMISAYAR
@RAMISAYAR
@RAMISAYAR
• Introduction to React
• Introduction to React Native
• Building Apps with Flexbox
• Using the List View
• Builtin Components
• Demo Walkthrough
• Tools
@RAMISAYAR
Assumption: JavaScript Developer
@RAMISAYAR
@RAMISAYAR
• React is a UI *library* developed at Facebook.
• Lets you create interactive, stateful & reusable UI components.
@RAMISAYAR
@RAMISAYAR
Image: http://coenraets.org/blog/2014/12/sample-mobile-application-with-react-and-cordova/
• React can be used on both
the client and server side.
• Uses a Virtual DOM to
selectively render subtrees of
components on state change.
@RAMISAYAR
• Adds this weird thing to your HTML called JSX.
• Let’s you write HTML-ish tags in JavaScript to simplify creating
components.
var HelloWorldComponent = React.createClass({
render: function(){
return ( <h1>Hello, world!</h1> );
}
});
And you can use ES6 classes instead of calling createClass()
@RAMISAYAR
• Added attributes are called props and can be used to render
dynamic data.
var HelloNameComponent = React.createClass({
render: function(){
return ( <h1>Hello, {this.props.name}!</h1> );
}
});
ReactDOM.render(<HelloNameComponent name="Rami"
/>, document.getElementById('app'));
@RAMISAYAR
• Every component has a state object and a props object.
• Functions & Objects:
• getInitialState – Return value is the initial value for state.
• setState – Sets the state and triggers UI updates.
• getDefaultProps – Sets fallback props values if props aren’t supplied.
@RAMISAYAR
• React events are attached as properties and can trigger
methods.
• Data flows unidirectionally via the state and props objects.
• React seams to rerender the whole app on every data change
but really it only ends up rerendering the parts that changed.
@RAMISAYAR
@RAMISAYAR
• React Native is like React but instead of using web components
that you build yourself… you use native components instead.
• React Native allows you to use the same React concepts but
instead build native iOS and Android applications.
• There is also support for the Universal Windows platform and
Tizen platform.
@RAMISAYAR
class HelloWorldApp extends React.Component {
render(){
return ( <h1>Hello, world!</h1> );
}
}
Becomes
class HelloWorldApp extends Component {
render() {
return ( <Text>Hello world!</Text> );
}
}
@RAMISAYAR
ReactDOM.render(<HelloNameComponent name="Rami"
/>, document.getElementById('app'));
Becomes
AppRegistry.registerComponent('HelloWorldApp',
() => HelloWorldApp);
@RAMISAYAR
@RAMISAYAR
• All components have a style prop that accepts a JavaScript
object.
• You can use StyleSheet.create() to create a more complex style
sheet object that you can reference in your components.
@RAMISAYAR
class LotsOfStyles extends Component {
render() { return (
<View>
<Text style={styles.red}>just red</Text>
<Text style={styles.bigblue}>just bigblue</Text>
</View> );
}
}
const styles = StyleSheet.create({
bigblue: { color: 'blue', fontWeight: 'bold', fontSize: 30, },
red: { color: 'red', }
});
@RAMISAYAR
Take a look at JavaScript style libraries: jss, cssx, jscss, react inline styles,
radium & more..
@RAMISAYAR
• Mobile viewports have fixed dimensions.
• React Native allows you to use the flexbox algorithm to layout
components, just like on the web*.
* A few exceptions. The defaults are different, with flexDirection
defaulting to column instead of row, and alignItems defaulting to
stretch instead of flex-start, and the flex parameter only supports a
single number.
@RAMISAYAR
• Displays vertically scrolling list of structured data.
• Only renders elements currently on screen.
• Extremely useful components that we will see in our demo.
@RAMISAYAR
react-native init AwesomeProject
cd AwesomeProject
react-native run-android
@RAMISAYAR
• React Native provides the Fetch API for your networking needs.
• Fetch will seem familiar if you have used XMLHttpRequest or
other networking APIs.
• The XMLHttpRequest API is built in to React Native.
• React Native also supports WebSockets for full-duplex
communication channels over a single TCP connection.
@RAMISAYAR
• ActivityIndicator
• ActivityIndicatorIOS
• DatePickerIOS
• DrawerLayoutAndroid
• Image
• ListView
• MapView
• Modal
• Navigator
• NavigatorIOS
• Picker
• PickerIOS
• ProgressBarAndroid
• ProgressViewIOS
• RefreshControl
• ScrollView
• SegmentedControlIOS
• Slider
• SliderIOS
• StatusBar
• SnapshotViewIOS
• Switch
• SwitchAndroid
• SwitchIOS
• TabBarIOS
• TabBarIOS.Item
• Text
• TextInput
• ToolbarAndroid
• TouchableHighlight
• TouchableNativeFeedback
• TouchableOpacity
• TouchableWithoutFeedback
• View
• ViewPagerAndroid
• WebView
@RAMISAYAR
@RAMISAYAR
• Nuclide is a package on top
of Atom to add support for
React Native, including
remote debugging.
• nuclide.io
@RAMISAYAR
Extension for Visual Studio
Code that allows you to debug
your code, quickly run react-
native commands from the
command palette and use
IntelliSense to browse objects,
functions and parameters for
React Native APIs.
github.com/Microsoft/vscode-
react-native
@RAMISAYAR
@RAMISAYAR
• No Need to Fork! Command-line Generator
• Apps, Components/Styles, Containers
(smart components), Screens
(opinionated containers), and more...
• ALL CODE works with iOS and Android
• Redux State Management
• Optional Redux Persistence (uses
AsyncStorage via redux-persist)
• Reactotron Ready
• Included Common Libs:
• react-native-vector-icons
• react-native-animatable
• react-native-i18n
• react-native-drawer
• apisauce
• reduxsauce
• react-native-maps
• rn-translate-template
• Included Developer Libs:
• reactotron
• AVA
• enzyme
• react-native-mock
• mockery
• nyc
@RAMISAYAR
• A cloud service that enables Cordova and React Native
developers to deploy mobile app updates directly to their
users’ devices. FREE.
• http://codepush.tools
@RAMISAYAR
@RAMISAYAR
@RAMISAYAR
• Introduction to React
• Introduction to React Native
• Building Apps with Flexbox
• Using the List View
• Builtin Components
• Demo Walkthrough
• Tools
@RAMISAYAR
tw: @ramisayar | gh: @sayar
@RAMISAYAR
©2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Office, Azure, System Center, Dynamics and other product names are or may be registered trademarks and/or trademarks in the
U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft
must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after
the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

More Related Content

What's hot (20)

PPTX
React JS part 1
Diluka Wittahachchige
 
PDF
Spring Security
Knoldus Inc.
 
PDF
WEB DEVELOPMENT USING REACT JS
MuthuKumaran Singaravelu
 
PPTX
Spring Boot
Jiayun Zhou
 
PPTX
React & Redux JS
Hamed Farag
 
PDF
Intro To React Native
FITC
 
PPTX
Node.js Express
Eyal Vardi
 
PPTX
Angular
TejinderMakkar
 
PDF
NextJS, A JavaScript Framework for building next generation SPA
Pramendra Gupta
 
PDF
Use Node.js to create a REST API
Fabien Vauchelles
 
PDF
Expressjs
Yauheni Nikanovich
 
PPTX
How native is React Native? | React Native vs Native App Development
Devathon
 
PPTX
Spring boot Introduction
Jeevesh Pandey
 
PPTX
Vue Vuex 101
LocNguyen362
 
PDF
Intro to react native
ModusJesus
 
PPTX
Introduction to Spring Framework
Serhat Can
 
PDF
An introduction to React.js
Emanuele DelBono
 
PDF
Getting started with Spring Security
Knoldus Inc.
 
PDF
Angular 10 course_content
NAVEENSAGGAM1
 
React JS part 1
Diluka Wittahachchige
 
Spring Security
Knoldus Inc.
 
WEB DEVELOPMENT USING REACT JS
MuthuKumaran Singaravelu
 
Spring Boot
Jiayun Zhou
 
React & Redux JS
Hamed Farag
 
Intro To React Native
FITC
 
Node.js Express
Eyal Vardi
 
NextJS, A JavaScript Framework for building next generation SPA
Pramendra Gupta
 
Use Node.js to create a REST API
Fabien Vauchelles
 
How native is React Native? | React Native vs Native App Development
Devathon
 
Spring boot Introduction
Jeevesh Pandey
 
Vue Vuex 101
LocNguyen362
 
Intro to react native
ModusJesus
 
Introduction to Spring Framework
Serhat Can
 
An introduction to React.js
Emanuele DelBono
 
Getting started with Spring Security
Knoldus Inc.
 
Angular 10 course_content
NAVEENSAGGAM1
 

Viewers also liked (20)

PDF
React Native Introduction: Making Real iOS and Android Mobile App By JavaScript
Kobkrit Viriyayudhakorn
 
PDF
React Native - Workshop
Fellipe Chagas
 
PDF
Introduction to React Native
Polidea
 
PPTX
SONY BBS - React Native
Mehmet Ali Bağcı
 
PDF
Web a Quebec - JS Debugging
Rami Sayar
 
PDF
FITC - Exploring Art-Directed Responsive Images
Rami Sayar
 
PDF
An Intense Overview of the React Ecosystem
Rami Sayar
 
PDF
FITC - Here Be Dragons: Advanced JavaScript Debugging
Rami Sayar
 
PDF
What's New in ES6 for Web Devs
Rami Sayar
 
PDF
FITC - Bootstrap Unleashed
Rami Sayar
 
PDF
The State of WebSockets in Django
Rami Sayar
 
PPTX
React Native
Artyom Trityak
 
PDF
Introduzione a React Native - Alessandro Giannini
Develer S.R.L.
 
PDF
Introduction to React Native & Redux
Barak Cohen
 
PDF
React native - What, Why, How?
Teerasej Jiraphatchandej
 
PPTX
Creating books app with react native
Ali Sa'o
 
PDF
React Native: Developing an app similar to Uber in JavaScript
Caio Ariede
 
PDF
Putting the Native in React Native - React Native Boston
stan229
 
PDF
A tour of React Native
Tadeu Zagallo
 
PDF
Devoxx France 2015 - Développement web en 2015
Romain Linsolas
 
React Native Introduction: Making Real iOS and Android Mobile App By JavaScript
Kobkrit Viriyayudhakorn
 
React Native - Workshop
Fellipe Chagas
 
Introduction to React Native
Polidea
 
SONY BBS - React Native
Mehmet Ali Bağcı
 
Web a Quebec - JS Debugging
Rami Sayar
 
FITC - Exploring Art-Directed Responsive Images
Rami Sayar
 
An Intense Overview of the React Ecosystem
Rami Sayar
 
FITC - Here Be Dragons: Advanced JavaScript Debugging
Rami Sayar
 
What's New in ES6 for Web Devs
Rami Sayar
 
FITC - Bootstrap Unleashed
Rami Sayar
 
The State of WebSockets in Django
Rami Sayar
 
React Native
Artyom Trityak
 
Introduzione a React Native - Alessandro Giannini
Develer S.R.L.
 
Introduction to React Native & Redux
Barak Cohen
 
React native - What, Why, How?
Teerasej Jiraphatchandej
 
Creating books app with react native
Ali Sa'o
 
React Native: Developing an app similar to Uber in JavaScript
Caio Ariede
 
Putting the Native in React Native - React Native Boston
stan229
 
A tour of React Native
Tadeu Zagallo
 
Devoxx France 2015 - Développement web en 2015
Romain Linsolas
 
Ad

Similar to Introduction to React Native (20)

PDF
Introduction to React Native Workshop
Ignacio Martín
 
PDF
React Native Workshop - React Alicante
Ignacio Martín
 
PDF
An Overview of the React Ecosystem
FITC
 
PPTX
JS Fest 2018. Илья Иванов. Введение в React-Native
JSFestUA
 
PDF
React native: building native iOS apps with javascript
Polidea
 
PPTX
Introduction to React Native
Waqqas Jabbar
 
PPTX
React Native: Introduction
InnerFood
 
PDF
The Gist of React Native
Darren Cruse
 
PDF
React Native
Craig Jolicoeur
 
PDF
Introduzione a React Native - Facebook Developer Circle Rome
Matteo Manchi
 
PDF
An Emoji Introduction to React Native (Panagiotis Vourtsis, Senior Front End ...
GreeceJS
 
PPTX
React Native
Heber Silva
 
PDF
Workshop 24: React Native Introduction
Visual Engineering
 
PDF
Lviv MD Day 2015 Іван Лаврів "Mobile development with React Native"
Lviv Startup Club
 
PPTX
React Native - Unleash the power of React in your device - Eduard Tomàs - Cod...
Codemotion
 
PPTX
React native tour
Magdiel Duarte
 
PDF
Learning React Native Building Native Mobile Apps With Javascript 2nd Edition...
blvgtqnh252
 
PDF
Matteo Manchi - React Native for multi-platform mobile applications - Codemot...
Codemotion
 
PDF
"React Native" by Vanessa Leo e Roberto Brogi
ThinkOpen
 
PDF
GITS Class #20: Building A Fast and Responsive UI in React Native
GITS Indonesia
 
Introduction to React Native Workshop
Ignacio Martín
 
React Native Workshop - React Alicante
Ignacio Martín
 
An Overview of the React Ecosystem
FITC
 
JS Fest 2018. Илья Иванов. Введение в React-Native
JSFestUA
 
React native: building native iOS apps with javascript
Polidea
 
Introduction to React Native
Waqqas Jabbar
 
React Native: Introduction
InnerFood
 
The Gist of React Native
Darren Cruse
 
React Native
Craig Jolicoeur
 
Introduzione a React Native - Facebook Developer Circle Rome
Matteo Manchi
 
An Emoji Introduction to React Native (Panagiotis Vourtsis, Senior Front End ...
GreeceJS
 
React Native
Heber Silva
 
Workshop 24: React Native Introduction
Visual Engineering
 
Lviv MD Day 2015 Іван Лаврів "Mobile development with React Native"
Lviv Startup Club
 
React Native - Unleash the power of React in your device - Eduard Tomàs - Cod...
Codemotion
 
React native tour
Magdiel Duarte
 
Learning React Native Building Native Mobile Apps With Javascript 2nd Edition...
blvgtqnh252
 
Matteo Manchi - React Native for multi-platform mobile applications - Codemot...
Codemotion
 
"React Native" by Vanessa Leo e Roberto Brogi
ThinkOpen
 
GITS Class #20: Building A Fast and Responsive UI in React Native
GITS Indonesia
 
Ad

Recently uploaded (20)

PDF
MAD Unit - 1 Introduction of Android IT Department
JappanMavani
 
PPTX
What is Shot Peening | Shot Peening is a Surface Treatment Process
Vibra Finish
 
PPTX
Arduino Based Gas Leakage Detector Project
CircuitDigest
 
PPTX
DATA BASE MANAGEMENT AND RELATIONAL DATA
gomathisankariv2
 
PPTX
Depth First Search Algorithm in 🧠 DFS in Artificial Intelligence (AI)
rafeeqshaik212002
 
PDF
Set Relation Function Practice session 24.05.2025.pdf
DrStephenStrange4
 
PDF
PORTFOLIO Golam Kibria Khan — architect with a passion for thoughtful design...
MasumKhan59
 
PPT
Carmon_Remote Sensing GIS by Mahesh kumar
DhananjayM6
 
PPTX
原版一样(Acadia毕业证书)加拿大阿卡迪亚大学毕业证办理方法
Taqyea
 
PDF
AI TECHNIQUES FOR IDENTIFYING ALTERATIONS IN THE HUMAN GUT MICROBIOME IN MULT...
vidyalalltv1
 
PPTX
Element 11. ELECTRICITY safety and hazards
merrandomohandas
 
PDF
Zilliz Cloud Demo for performance and scale
Zilliz
 
PDF
MAD Unit - 2 Activity and Fragment Management in Android (Diploma IT)
JappanMavani
 
PPTX
Element 7. CHEMICAL AND BIOLOGICAL AGENT.pptx
merrandomohandas
 
PDF
Design Thinking basics for Engineers.pdf
CMR University
 
PPTX
Shinkawa Proposal to meet Vibration API670.pptx
AchmadBashori2
 
PPTX
Introduction to Design of Machine Elements
PradeepKumarS27
 
PPTX
fatigue in aircraft structures-221113192308-0ad6dc8c.pptx
aviatecofficial
 
PDF
Biomechanics of Gait: Engineering Solutions for Rehabilitation (www.kiu.ac.ug)
publication11
 
DOC
MRRS Strength and Durability of Concrete
CivilMythili
 
MAD Unit - 1 Introduction of Android IT Department
JappanMavani
 
What is Shot Peening | Shot Peening is a Surface Treatment Process
Vibra Finish
 
Arduino Based Gas Leakage Detector Project
CircuitDigest
 
DATA BASE MANAGEMENT AND RELATIONAL DATA
gomathisankariv2
 
Depth First Search Algorithm in 🧠 DFS in Artificial Intelligence (AI)
rafeeqshaik212002
 
Set Relation Function Practice session 24.05.2025.pdf
DrStephenStrange4
 
PORTFOLIO Golam Kibria Khan — architect with a passion for thoughtful design...
MasumKhan59
 
Carmon_Remote Sensing GIS by Mahesh kumar
DhananjayM6
 
原版一样(Acadia毕业证书)加拿大阿卡迪亚大学毕业证办理方法
Taqyea
 
AI TECHNIQUES FOR IDENTIFYING ALTERATIONS IN THE HUMAN GUT MICROBIOME IN MULT...
vidyalalltv1
 
Element 11. ELECTRICITY safety and hazards
merrandomohandas
 
Zilliz Cloud Demo for performance and scale
Zilliz
 
MAD Unit - 2 Activity and Fragment Management in Android (Diploma IT)
JappanMavani
 
Element 7. CHEMICAL AND BIOLOGICAL AGENT.pptx
merrandomohandas
 
Design Thinking basics for Engineers.pdf
CMR University
 
Shinkawa Proposal to meet Vibration API670.pptx
AchmadBashori2
 
Introduction to Design of Machine Elements
PradeepKumarS27
 
fatigue in aircraft structures-221113192308-0ad6dc8c.pptx
aviatecofficial
 
Biomechanics of Gait: Engineering Solutions for Rehabilitation (www.kiu.ac.ug)
publication11
 
MRRS Strength and Durability of Concrete
CivilMythili
 

Introduction to React Native

  • 1. Rami Sayar - @ramisayar Senior Technical Evangelist Microsoft Canada @RAMISAYAR
  • 5. • Introduction to React • Introduction to React Native • Building Apps with Flexbox • Using the List View • Builtin Components • Demo Walkthrough • Tools @RAMISAYAR
  • 8. • React is a UI *library* developed at Facebook. • Lets you create interactive, stateful & reusable UI components. @RAMISAYAR
  • 10. • React can be used on both the client and server side. • Uses a Virtual DOM to selectively render subtrees of components on state change. @RAMISAYAR
  • 11. • Adds this weird thing to your HTML called JSX. • Let’s you write HTML-ish tags in JavaScript to simplify creating components. var HelloWorldComponent = React.createClass({ render: function(){ return ( <h1>Hello, world!</h1> ); } }); And you can use ES6 classes instead of calling createClass() @RAMISAYAR
  • 12. • Added attributes are called props and can be used to render dynamic data. var HelloNameComponent = React.createClass({ render: function(){ return ( <h1>Hello, {this.props.name}!</h1> ); } }); ReactDOM.render(<HelloNameComponent name="Rami" />, document.getElementById('app')); @RAMISAYAR
  • 13. • Every component has a state object and a props object. • Functions & Objects: • getInitialState – Return value is the initial value for state. • setState – Sets the state and triggers UI updates. • getDefaultProps – Sets fallback props values if props aren’t supplied. @RAMISAYAR
  • 14. • React events are attached as properties and can trigger methods. • Data flows unidirectionally via the state and props objects. • React seams to rerender the whole app on every data change but really it only ends up rerendering the parts that changed. @RAMISAYAR
  • 16. • React Native is like React but instead of using web components that you build yourself… you use native components instead. • React Native allows you to use the same React concepts but instead build native iOS and Android applications. • There is also support for the Universal Windows platform and Tizen platform. @RAMISAYAR
  • 17. class HelloWorldApp extends React.Component { render(){ return ( <h1>Hello, world!</h1> ); } } Becomes class HelloWorldApp extends Component { render() { return ( <Text>Hello world!</Text> ); } } @RAMISAYAR
  • 20. • All components have a style prop that accepts a JavaScript object. • You can use StyleSheet.create() to create a more complex style sheet object that you can reference in your components. @RAMISAYAR
  • 21. class LotsOfStyles extends Component { render() { return ( <View> <Text style={styles.red}>just red</Text> <Text style={styles.bigblue}>just bigblue</Text> </View> ); } } const styles = StyleSheet.create({ bigblue: { color: 'blue', fontWeight: 'bold', fontSize: 30, }, red: { color: 'red', } }); @RAMISAYAR
  • 22. Take a look at JavaScript style libraries: jss, cssx, jscss, react inline styles, radium & more.. @RAMISAYAR
  • 23. • Mobile viewports have fixed dimensions. • React Native allows you to use the flexbox algorithm to layout components, just like on the web*. * A few exceptions. The defaults are different, with flexDirection defaulting to column instead of row, and alignItems defaulting to stretch instead of flex-start, and the flex parameter only supports a single number. @RAMISAYAR
  • 24. • Displays vertically scrolling list of structured data. • Only renders elements currently on screen. • Extremely useful components that we will see in our demo. @RAMISAYAR
  • 25. react-native init AwesomeProject cd AwesomeProject react-native run-android @RAMISAYAR
  • 26. • React Native provides the Fetch API for your networking needs. • Fetch will seem familiar if you have used XMLHttpRequest or other networking APIs. • The XMLHttpRequest API is built in to React Native. • React Native also supports WebSockets for full-duplex communication channels over a single TCP connection. @RAMISAYAR
  • 27. • ActivityIndicator • ActivityIndicatorIOS • DatePickerIOS • DrawerLayoutAndroid • Image • ListView • MapView • Modal • Navigator • NavigatorIOS • Picker • PickerIOS • ProgressBarAndroid • ProgressViewIOS • RefreshControl • ScrollView • SegmentedControlIOS • Slider • SliderIOS • StatusBar • SnapshotViewIOS • Switch • SwitchAndroid • SwitchIOS • TabBarIOS • TabBarIOS.Item • Text • TextInput • ToolbarAndroid • TouchableHighlight • TouchableNativeFeedback • TouchableOpacity • TouchableWithoutFeedback • View • ViewPagerAndroid • WebView @RAMISAYAR
  • 29. • Nuclide is a package on top of Atom to add support for React Native, including remote debugging. • nuclide.io @RAMISAYAR
  • 30. Extension for Visual Studio Code that allows you to debug your code, quickly run react- native commands from the command palette and use IntelliSense to browse objects, functions and parameters for React Native APIs. github.com/Microsoft/vscode- react-native @RAMISAYAR
  • 32. • No Need to Fork! Command-line Generator • Apps, Components/Styles, Containers (smart components), Screens (opinionated containers), and more... • ALL CODE works with iOS and Android • Redux State Management • Optional Redux Persistence (uses AsyncStorage via redux-persist) • Reactotron Ready • Included Common Libs: • react-native-vector-icons • react-native-animatable • react-native-i18n • react-native-drawer • apisauce • reduxsauce • react-native-maps • rn-translate-template • Included Developer Libs: • reactotron • AVA • enzyme • react-native-mock • mockery • nyc @RAMISAYAR
  • 33. • A cloud service that enables Cordova and React Native developers to deploy mobile app updates directly to their users’ devices. FREE. • http://codepush.tools @RAMISAYAR
  • 36. • Introduction to React • Introduction to React Native • Building Apps with Flexbox • Using the List View • Builtin Components • Demo Walkthrough • Tools @RAMISAYAR
  • 37. tw: @ramisayar | gh: @sayar @RAMISAYAR
  • 38. ©2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Office, Azure, System Center, Dynamics and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.