Component Odyssey is currently in early-access so only a few modules are available. I plan to release a new module once every few months. Each new module will be made available at no extra cost to anyone who purchases Component Odyssey.
Tools For Building User Interfaces
This section will take you through the different ways of building user interfaces. You’ll touch on vanilla HTML, utility classes, server-rendered components, and finally, web components.
By the end of this section you’ll understand why I’ve chosen web components as the tooling of choice for Component Odyssey.
Writing Your First Component
In this section you’ll learn the fundamentals of web components; what they are, what they’re made of, and how they work.
You’ll build a handful of components through a range of exercises.
In the latter half of this section, you’ll start to see some of the complexities associated with writing web components. I’ll introduce to you some lightweight tools that can make writing web components much easier.
Styling Your Components
You’ll learn how to customise the appearance of your web component, and how variables and theming can provide flexibility to you and your library’s consumers.
Publishing Your Library
You’ll discover the ins and outs of publishing a component library. You’ll learn about the JavaScript module system(s), publishing to the NPM registry, managing versions, and a lot more!
Future Modules
I plan to release a new module once every few months, though this timeframe is subject to change. Each new module will be made available to those who have purchased the course. They will cover the following topics:
To keep the scope of Component Odyssey small and focused on browser technologies. That way what you learn can be used with any web framework you work with in the future.
TypeScript is a great language, and I use it in my day-to-day work. However, it's not necessary to use TypeScript to build a component library. To make this course as accessible as possible, the code in this course is written using vanilla JavaScript.
I plan to release a new module once every few months, though this timeframe is subject to change. Each new module will be made available to those who have purchased the course.