You are viewing content from a past/completed QCon

Workshop: React Workshop

Location: Henry Moore, 4th flr.

Duration: 1:00pm - 4:00pm

Day of week: Thursday

Level: Intermediate

Key Takeaways

  • Learn how to build components in React using JSX.

  • Master the component life cycle and state management in a React application.

  • Become comfortable with using Redux for synchronous and asynchronous state management in a React application.

  • Build sophisticated user interfaces using modern tools, such as React and Redux, in a cross-platform desktop application.

Prerequisites

You'll need a recent version of Node.js installed on your computer with administrative access. Yarn is not required, but Electron Forge uses it, so it would be helpful to install beforehand. 

Please make sure you're using a supported platform. This is particularly important if you're running Linux. 

Important note: If you're using Windows, make sure you're not using the Windows Subsystem for Linux. This will confuse Electron to thinking you're running on a Linux machine when you're really not.

While Redux has no relation to React. You can write Redux apps with React, Angular, Ember, jQuery, or vanilla JavaScript, Redux works especially well with libraries like React and Deku because they let you describe UI as a function of state, and Redux emits state updates in response to actions.

React is a library for building sophisticated user interfaces in the browser. In this workshop, we'll build a UI in React on top of an Electron application. We'll explore building React components using JSX as well as state management using React's built-in state management and Context. In addition, we'll use Redux, a framework-agnostic state management library that has often coupled with React for implementing advanced state management patterns.

This workshop consists of 2 parts: Part 1 (the morning session) covers Electron and part 2 (afternoon session) which covers React/Redux. Part 1 is required to attend part 2.

Taken together Electron and React/Redux enables you to build sophisticated user interfaces, write end-to-end tests for your desktop applications, write to the filesystem, and package applications for distribution.

Method of Instruction:

    • Lecture and Hands-on Development

Transfer

    • Knowledge: 40%
    • Skill-Building: 60%

Target Audience

    • Intermediate Developers

Speaker: Steve Kinney

Principal Engineer @SendGrid

Steve is a principal front-end engineer at SendGrid. He is the author of Electron in Action. Steve is the director emeritus and founder of the front-end engineering program at the Turing School for Software and Design—a non-profit developer training program. He is an organizer of DinosaurJS, a JavaScript conference in Denver, Colorado and an instructor for Frontend Masters.

Find Steve Kinney at

Tracks

  • Architectures You've Always Wondered About

    Hard-earned lessons from the names you know on scalability, reliability, security, and performance.

  • Machine Learning: The Latest Innovations

    AI and machine learning is more approachable than ever. Discover how ML, deep learning, and other modern approaches are being used in practice.

  • Kubernetes and Cloud Architectures

    Learn about cloud native architectural approaches from the leading industry experts who have operated Kubernetes and FaaS at scale, and explore the associated modern DevOps practices.

  • Evolving Java

    JVM futures, JIT directions and improvements to the runtimes stack is the theme of this year’s JVM track.

  • Next Generation Microservices: Building Distributed Systems the Right Way

    Microservice-based applications are everywhere, but well-built distributed systems are not so common. Early adopters of microservices share their insights on how to design systems the right way.

  • Chaos and Resilience: Architecting for Success

    Making systems resilient involves people and tech. Learn about strategies being used, from cognitive systems engineering to chaos engineering.

  • The Future of the API: REST, gRPC, GraphQL and More

    The humble web-based API is evolving. This track provides the what, how, and why of future APIs.

  • Streaming Data Architectures

    Today's systems move huge volumes of data. Hear how the innovators in this space are designing systems and leveraging modern data stream processing platforms.

  • Modern Compilation Targets

    Learn about the innovation happening in the compilation target space. WebAssembly is only the tip of the iceberg.

  • Leaving the Ivory Tower: Modern CS Research in the Real World

    Thoughts pushing software forward, including consensus, CRDT's, formal methods & probabilistic programming.

  • Bare Knuckle Performance

    Crushing latency and getting the most out of your hardware.

  • Leading Distributed Teams

    Remote and distributed working are increasing in popularity, but many organisations underestimate the leadership challenges. Learn from those who are doing this effectively.

  • Full Cycle Developers: Lead the People, Manage the Process & Systems

    "Full cycle developers" is not just another catch phrase; it's about engineers taking ownership and delivering value, and doing so with the support of their entire organisation. Learn more from the pioneers.

  • JavaScript: Pushing the Client Beyond the Browser

    JavaScript is not just the language of the web. Join this track to learn how the innovators are pushing the boundaries of this classic language and ecosystem.

  • When Things Go Wrong: GDPR, Ethics, & Politics

    Privacy, confidentiality, safety and security: learning from the frontlines, from both good and bad experiences

  • Growing Unicorns in the EU: Building, Leading and Scaling Financial Tech Start Ups

    Learn how EU FinTech innovators have designed, built, and led both their technologies and organisations.

  • Building High Performing Teams

    To have a high-performing team, everybody on it has to feel and act like an owner. Learn about cultivating culture, creating psychological safety, sharing the vision effectively, and more

  • Scaling Security, from Device to Cloud

    Implementing effective security is vitally important, regardless of where you are deploying software applications.