React Workshop
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 several 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 many projects across a variety of industries through his career.
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
- State management patterns
- Container/Smart components
- Hooks
- Redux
- Error Handling
- Error Boundaries
- Routing and Single Page Applications (SPA’s)
Day 2: Real-world React
- Application/source control structure
- Automated testing
- Optimising app performance
- webpack
- Production configuration
- Bundling
- Code splitting/lazy loading
- Integrating with a web server
Pre-requisites:
- Understanding of JavaScript fundamentals
- Participants need to bring a laptop
- Latest Node LTS](http://npmjs.com/)
- [Git](https://git-scm.com/)
- [VSCode](https://code.visualstudio.com/) or other text editor
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.