React
React is a JavaScript library for creating high-performing, maintainable JavaScript applications and brings a fresh approach to thinking into the JavaScript community.
Being a declarative user interface library that is un-opinionated about the rest of your application it is easy to reason about it is simpler to learn and master the basics than a full application framework like Angular. Also thanks to the simple nature of React, the patterns and lessons you will learn are transferable to other libraries and frameworks.
Aaron started using React in its v0.8 days after having worked with a number of other web frameworks, and immediately liked what he saw. From its drive towards componentisation to data management it’s been a great tool for building application dashboards, public websites and native applications. Aaron has introduced it to a number of different projects across a variety of industries through his role as a Readify consultant.
Day 1: React fundamentals
- Introducing React and the Virtual DOM
- Why React?
- React's Architecture
- Advantages
- Components
- Props
- State
- Lifecycle
- Styling
- Developer experience
- Dev Tools
- Hot Reload
- React with TypeScript
- Functional patterns and immutability
- Routing and Single Page Applications (SPA’s)
- State management patterns
- Container/Smart components
- Redux
Day 2: Real world React
- Architecting a React application
- Application structure
- Automated testing
- Optimising app performance
- WebPack
- Production configuration
- Bundling
- Code splitting/lazy loading
- Using React with ASP.NET Core and Node.js
- Integrating with a web server
- Server side rendering
- React Native
Pre-requisites:
Understanding of JavaScript fundamentals
Who should attend:
This workshop is for you if you:
- Want to learn what all the fuss is about React
- Improve your JavaScript skills, this workshop will touch on many JavaScript patterns and features
- Take your React understanding to the next level
Computer setup:
Participants need to bring a laptop with the following installed:
- Latest Node (likely v10) (http://npmjs.com/)
- Git (https://git-scm.com/)
- npm (Comes with node)
- VSCode (https://code.visualstudio.com/)
Aaron is a Developer Advocate at Microsoft. Having spent 15 years doing web development he's seen it all, from browser wars, the rise of AJAX and the fall of 20 JavaScript frameworks (and that was just yesterday!). Always tinkering with something new he explores crazy ideas like writing your own implementation of numbers in .NET, creating IoC in JavaScript or implementing tic-tac-toe using git commits.