Web Development with React and Redux
Struggling with web application complexity? Looking to break-free from your legacy spaghetti nightmare? Using or considering React for your next big project? Looking for a clean and elegant way to manage the state of your application? Used react before and want to catch-up with modern idioms? If you want to learn about React and Redux - this workshop is for you!
LEARN HOW TO
- Write robust, elegant, testable and maintainable code
- Compose your UIs declaratively
- Think about the state of your application
- Appreciate immutability, pure functions and composability
- Use hooks to manage component state, work with React context and perform side-effects
- Make your application talk to the server and tame the complexity of asynchronous code
- The big picture
- Declarative vs. Imperative programming
- Components, Components, Components
- Understanding React elements and JSX
- Virtual DOM and reconciliation
- Props as “inputs” to your components
- Handling DOM events
- Stateful components (useState & useReducer)
- Side effects (useEffect)
- Working with forms
- State management strategies
- Inter-component communication
- Using React context (useContext)
- Other hooks (useCallback, useMemo, useRef)
- Encapsulating cross-cutting concerns and building reusable abstractions with custom hooks
- Performance - memoization and pure components
- Declarative routing using React Router
- Best practices and common pitfalls
- Challenges of state management
- Unidirectional data flow
- Using Redux store to encapsulate and manage application state
- Describe state changes with reducers
- Combining reducers using divide-and-conquer approach
- Actions and action creators
- Encapsulate store usage with Provider/connect
- Perform asynchronous operations
- Using thunk middleware
If you are an experienced Web Developer and you want to learn how to design, create and maintain complex and modern rich web applications using React & Redux, this is the course for you!
COURSE LABS & EXERCISES
This workshop is a combination of lectures, discussions and practical exercises.
Bring your own laptop with the following installed:
- Git client
- NodeJS 14
- Google Chrome (or any other modern web browser)
- Visual Studio Code (or any other text-editor/IDE)
The passion for programming and making new discoveries took me from unlocking the secrets of C=64 machine language to all things web. Today, after 20 years of professional experience, the sheer excitement and pride of making a new technologies "work" is still driving me every day.
I've worked on various domains in different industries (e-government, fixed-odds betting, online gaming, social networks, investment banking) and with different technology stacks. Designed and helped building several scalable, high-throughput, low-latency transaction processing systems. One of the founding fathers of MindMup.
Today, I'm helping ambitious teams achieve their goals and improve how they build software.
Regularly giving talks at various meetups and software development conferences.