UI Engineering
13 modules with over 170 videos cover DOM APIs and Web Components, modern CSS, Accessibility, Forms, Design Systems, Applications, Tools, and more, making this the most extensive course on UI Engineering with modern Web Standards available on the market today.
Interactive Learning
Leverage the custom learning app to follow along with videos, experiment with the Web, and lookup important references. Every lesson is represented in the app with either slides or an in-browser runnable demo with notes. There's no need to download or install anything to get started learning.
Career Growth
Regardless of your level of experience, this course is the Web Platform resource you've been looking for. Take your skills and your career to the next level with training that goes beyond what most people know and gives you a certificate to showcase your accomplishments.
Trusted By Top Companies
What's Inside
Enroll in our self-paced master class designed to teach you Web Standards with modern, component-oriented HTML.
Introduction
- Welcome
- Prerequisites
- Setup
- Using the Learning App
- Pacing Your Learning
- About Web Components
Using Web Components
- Introduction
- Using Libraries of Web Components
- Theming Web Components
- Custom Styling Web Components
- Styling Undefined Elements
- Interacting with Web Components from JavaScript
- Integrating Web Components with JavaScript Frameworks
- Rendering Web Components with Server Frameworks
- Exercises
- Review
Defining Web Components
- Introduction
- Autonomous Custom Elements
- Shadow DOM
- Slot Composition
- HTML Templates
- Custom Element Lifecycle
- Observed Attributes
- Styling
- Customizable Built-in Elements
- Debugging Web Components
- Exercises
- Review
Working with the DOM
- Introduction
- Scaffolding a Tabs Component
- Host DOM
- Attributes
- Properties
- Events
- Managing Selection
- Finishing Touches
- ASIDE: Custom Element Registries
- Exercises
- Review
Styling Web Components
- Introduction
- Constructible and Adopted Style Sheets
- FUTURE: CSS Module Scripts
- Scaffolding a Responsive Card System
- Document Root Styling
- Host Styling
- ASIDE: CSS Part and Exportpart
- Styling Slotted Content
- Container Style Queries
- Container Size Queries
- Organizing Your CSS
- ASIDE: CSS Custom States
- ASIDE: Shadow DOM Fonts
- Exercises
- Review
Leveraging Shadow DOM
- Introduction
- Light and Shadow DOM Composition
- Event Behavior
- Walking Composed DOM
- Slot Change Events
- ASIDE: MutationObserver
- Manual Slot Assignment
- Declarative Shadow DOM (DSD)
- DSD Style Sharing
- FUTURE: Manual Slot Assignment with DSD
- Custom Element DSD Hydration
- ASIDE: Polyfilling DSD
- Exercises
- Review
Web Component Toolkit
- Introduction
- Scaffolding a Name Tag Component
- Improved Style Helper
- Template Helper
- View Helper
- Web Component Metadata
- Web Component Base Class
- Attribute Metaprogramming
- Robust Attributes
- Extensible Attributes
- Ergonomics
- SSR Hydration
- Exercises
- Review
Designing for Accessibility
- Introduction
- Scaffolding an Accordion Component
- ARIA Roles, States, and Attributes
- Focus Delegation
- Toolkit: BooleanAttr
- Screen Readers
- Focus Styling
- Color Contrast
- Vision Deficiencies
- Forced Colors and System Color Keywords
- Vertical Keyboard Navigation
- Modernizing the Tabs Component
- Horizontal and RTL Keyboard Navigation
- CSS Logical Properties
- ElementInternals ARIA
- ASIDE: Polyfilling ElementInternals ARIA
- FUTURE: ARIA Mixin and Cross Root ARIA
- Exercises
- Review
Integrating with Forms
- Introduction
- Form Association
- Toolkit: Form Component Base Class
- Disabling Form Elements
- Scaffolding a Switch Component
- Interactive vs. Container Elements
- Form Element Values
- Handling Form Reset
- Handling State Restoration
- Forwarding Events
- Adjustments for Empty Slots
- Styling the Switch
- Scaffolding a Button Component
- Toolkit: TransferringPropertyAttr
- Standard Button Attributes
- Making a Submit Button
- Making a Reset Button
- Styling the Button
- Scaffolding an Input Component
- Form Validation
- Form Submission Requests
- Styling the Input
- Exercises
- Review
Design Systems
- Introduction
- What is a Design System?
- Component Specifications
- The MyLibrary Project
- Code Organization
- Design Tokens
- W3C Design Tokens Format
- CSS Mixins
- Behaviors, Controllers, and Recipes
- Headless Components
- Custom Elements Manifest
- Library Registration, Export, and Package Patterns
- Exercises
- Review
Applications
- Introduction
- Architectures and Topologies
- MyLibrary App Demo
- Code Organization
- Application Startup
- The Application Shell
- Handling Icons
- Sharing Styles
- Routing and Navigation
- Using View Transitions
- Context and Dependency Injection
- Templating Over Data
- Security
- Form Data
- Modal Dialogs
- Progressive Web Apps
- Exercises
- Review
Libraries and Tools
- Introduction
- Tool: Storybook
- Tool: esbuild
- Tool: Playwright
- Tool: Modern Web & Web Test Runner
- Tool: Custom Elements Analyzer
- Tool: VS Code
- Tool: TypeScript
- Library: Reactively
- Library: FAST
- Library: Lit
- Library: Shoelace
- Exercises
- Review
Conclusion
- Next Steps
- Wrapping Up
Purchase Today
Join Rob Eisenberg as he explores UI Engineering through the application of a broad range of modern Web Standards. With Web Components as its anchor, this course will cover dozens of topics that professional UI Engineers and Designers can use on a daily basis. From DOM APIs and Web Components to modern CSS, Accessibility, Forms, Design Systems, Applications, Tools and more. Regardless of your level of experience, this course is the Web Platform resource you've been looking for.
- 13 modules with over 170 videos.
- An interactive learning environment.
- Mastery of dozens of Web Standards.
- Downloadable notes and examples.
- A Certificate of Completion.