3 days / 40+ speakers
12 workshops

May 17-19, 2017 | Vilnius, Lithuania
http://devdays.lt/wp-content/uploads/2017/04/Tomas-Miliauskas-web-320x320.jpg
Wix.com, Lithuania

Tomas Miliauskas


Tomas is the Front-End Guild Lead at Wix.com Vilnius. After multiple years of designing and developing various applications, he came to realise that the best way to produce top-quality software is simply work in Agile and combine development with automated testing.




Make

Connection

Follow


Workshop

Modern Web Development With React & Redux

React is a JavaScript library for creating user interfaces developed by Facebook. It uses concept so-called Virtual DOM where all the components actually live. This Virtual DOM approach gives lots of flexibility and boosts the performance because React does smart calculations to minimise the amount of costly operations in the actual DOM.

This hands-on workshop will help you to deeply understand and learn the core concepts of React, how to structure your application with Redux and test it in a proper way.

Agenda

The workshop consists of four parts and each of them focuses on certain modern React key concept. Each and every part provides various code examples and detailed explanations followed by practical exercises.

● Part 1: Welcome to React (45min):
○ Modules and CommonJS;
○ Bundling with Webpack;
○ What’s JSX;
○ Virtual DOM and Rendering
● Part 2: Dive Into Components (45min):
○ Component concept explained;
○ Functional and Class Components
○ Props (input) and events (output);
○ Lifecycle and state;
○ Style within CSS modules;
● Part 3: State Management with Redux (45min):
○ What’s Redux;
○ Core concepts: Store, Actions, Reducers;
○ Presentational and Container components;
○ Connecting React and Redux
● Part 4: Testing React Apps (45min):
○ React Test Utilities;
○ Enzyme;
○ Testing with Jest and JSDOM
○ Component testing philosophy;


Target Audience

Level 2 Description: Intermediate material. Assumes knowledge and provides specific details about the topic.
Level 3 Description: Advanced material. Assumes in-depth understanding of features in a real-world environment,and strong coding skills. Provides a detailed technical overview of a subset of product/technology features, covering architecture, performance, migration, deployment, and development.

Course prerequisites

Hardware: A personal computer with internet connection.

Software:

  • A terminal client.
  • Favorite code editor or IDE like Visual Studio Code, Sublime Text, TextMate, WebStorm, etc.
    Node (LTS) + NPM ( https://nodejs.org/en/download/ ) installed.
  • Chrome browser ( https://www.google.com/chrome/browser/desktop/index.html ).

Skillset
Professional programming experience which includes an intermediate understanding of JavaScript, its fundamentals, ES6 and the DOM. It’s also perfectly fine to have no React experience.