Skip to content

Latest commit

 

History

History
117 lines (88 loc) · 6.7 KB

File metadata and controls

117 lines (88 loc) · 6.7 KB

Pekkis' Hardcore React Training

React

React is a JavaScript library for building user interfaces, invented by Facebook. When I discovered React back in 2014, I got hooked super fast. It became super obvious to me that React would seriously disrupt the webdev scene, and I began to preach the joys of the library to everyone who would listen.

The wisdom of hindsight has proven me right. In 2021, React is everywhere, and I still believe it's for the benefit of mankind. You shouldn’t of course fall in love with technology, tech is just a tool and you should always be skeptical and keep an eye out for new disruptions, but all in all, React has proven to be sustainable so far.

Pekkis

I have taught the joys of React to peers for years. For the longest time I did this within the framework of the Finland's toughest React training organized by Fraktio, and after returning from my coaching hiatus in 2021 I'm now silently selling it through my current employer, Nitor.

You can get to know my person by googleing me (Mikko "Pekkis" Forsström is a good search term) and / or by clicking directly on the links below.

React vs. "React"

If I were to teach the user interface library React, the course would be over in an hour. React is small and easy to learn. However, when people talk about React, they usually mean "React" in quotation marks. Indeed, a simple user interface library isn't usually enough to build a complete web application, and thus a huge ecosystem of various tools and libraries has grown around React over the years.

In two days of hands-on coaching, we implement a small but complete React application from start to finish. The training is always up to date because I try to learn these things myself every day at work and I maintain the material in "real time" according to what I think is worth teaching and / or sharing at any given time. I will try my best to summarize the most essential part of my knowledge born over the years into these two days of coaching.

All course materials are open source and "free game", so whatever you get from the course, you can use as you like.

Who is it for?

The training will be good for you if you are a software developer and / or a devsigner who will use JavaScript, React and / or other up-to-date front-end development tools in your work. Many of the topics are difficult and the pace will be rapid, so the course really is not suitable for beginners.

You do not need to be a guru, but I'm serious when I say that my coaching is intended for professionals and I expect all participants to have a professional working background in software development. In addition, you should have applicable experience in JavaScript, HTML, CSS, and web development in general.

To participate in the course, you will need:

  • An open mind that is freed from "real" work for the two course days.
  • A computer and a development environment
    • I will send preparation instructions about a week in advance. They should take no more than half an hour to complete, and completing the instructions in advance is an absolute prerequisite for articipation in the course.
  • During epidemics or other exceptional circumstances, coaching takes place remotely. This has consequences that vary and are difficult for me to anticipate. Please keep this in mind in your expectation values, we play with the cards that are dealt to us.

Course content

We code and talk about coding for two days. I don't believe in slide hells. If there are more than 20 slides at the beginning or you don’t think they make sense, you can gently punch me in the face and make me stop.

We use libraries and ways of working that I personally think are good or otherwise worth presenting. The content lives on according to what I deem currently relevant and what the specicic interests of your class are. Experience has shown that in the end, only the participants determine what we do with our two days together.

We use modern JavaScript and TypeScript on top of that. This is both awful and wonderful, but since you’re 100% sure to encounter TypeScript in your day job anyway, it’s pointless to resist it. TypeScript has its own quirks and is a subjective subject, but at the basic level it won't slow us down too bad. It's just a matter of implementing it "correctly", I think.

Here are some bulletin points for each coaching day. Don’t think of them in absolute terms. If you have specific interests or development needs, please let me know about them beforehand so that I may be able to say something deeper than usual about these subjects.

Day 1

  • The tower of Babel
    • Package managers: NPM & Yarn
    • Babel, ES2021 +, TypeScript
    • Webpack
    • Editors, IDEs, tools, configurations
      • linting, Prettier, etc.
  • The basics of React
    • JSX
    • think of state and only state.
    • Hooks vs class components
    • State management with React hooks
  • functional paradigm and immutable data
  • forms
  • styling
    • New, nice CSS features
    • component-based styling
    • CSS modules, PostCSS and other CSS related languages
    • CSS-in-JavaScript
      • emotion, theme-ui, etc.
  • animations

Day 2

  • spate management with specialized tools
    • A brief history of spate management
    • Redux, the old de facto standard
    • What after or instead of Redux (if anything?!?)
    • GraphQL, React Query, etc.
  • routing
  • code reuse
    • more functions
    • Higher-Order Component (HOC) vs render props vs Hooks
  • performance profiling and optimization
  • testing
  • building and deploying
  • optional subjects:
    • more advanced state management
    • "Native" web components and React
    • Design systems / styleguides
      • Storybook
      • StencilJS
      • what else?
    • GraphQL
    • ready-made boilerplates vs "do-it-yourself"
      • Create-React-App
      • JAMStack / SSR
      • Gatsby / Next
    • Progressive Web Apps (PWA)
    • internationalization & localization
    • Deep Webpack / bundler dive
      • Alternatives
    • React's "competitors" and future
      • Vue
      • Svelte
      • Angular
  • Q&A
    • Ask and you will be answered

Contact

I currently only teach the subject in private courses for your business.

The price is 6000 euros + VAT, and for this price, a maximum of ten people can join. This is also a practical limitation - I simply can’t teach a larger set of people at once even if I wanted.

Spark your interest? Email me at mikko.forsstrom@nitor.com and lets's continue the conversation!