Обучающие видео » Компьютерные видеоуроки и обучающие интерактивные DVD » Программирование (видеоуроки)
Design Systems with React & StorybookГод выпуска: 2020
Производитель: frontendmasters.com
Сайт производителя:
https://frontendmasters.com/courses/design-systems/Автор: Emma Bostian
Продолжительность: 3 hours, 31 min
Тип раздаваемого материала: Видеоклипы
Язык: Английский
Описание: Design systems increase the speed of development across teams, as well as make your applications look and feel consistent. In this course, you'll create a design system from scratch and learn the foundational design concepts that go into one. You'll design your components using Figma, then take those designs and turn them into coded components using React. Finally, you'll animate those components, document them with Storybook, and deploy your Storybook application so you can share it with your team!
Published: May 12, 2020
Course Website
https://fem-design-systems.netlify.com/Course Code Repo
https://github.com/emmabostian/fem-design-systemsCourse Slides
https://static.frontendmasters.com/resources/2020-03-12-design-systems-storybook/...ms-formatted.pdfSpecial note Access to courses was provided by one of the rutracker users who wants to stay anonymous let's say all thanks to him, and i just downloaded it[spoiler="Содержание"]
Table of Contents
Introduction
Introduction
00:00:00 - 00:04:22
Introduction
Emma Bostian outlines what will be discussed during this course, namely what design systems are, basic rules in design, the design tool Figma, styled components, and animations. Also discussed is how design systems allows for building modularly.
Foundations of Design Systems
Design Systems & Why They Matter
00:04:23 - 00:07:46
Design Systems & Why They Matter
Emma explains that there is no clear definition of a design system, and adds that the definition of a design system might vary if an engineer is asked to define it versus a designer. Design systems matter because they determine if an application is accessible, consistent, responsive, well documented, flexible, and easy to update.
Drawbacks of Design Systems
00:07:47 - 00:08:54
Drawbacks of Design Systems
Emma explains that building a design system is time consuming, and always evolving. Without teamwork to implement and follow the chosen system, the system fails. Teamwork is necessary to consistently follow the design system blueprint.
Team Structure
00:08:55 - 00:10:23
Team Structure
Emma explains that there are different possible models to follow when forming the core team that builds the design system. The model can be centralized, which gives veto power to the team about any component added to the design system, it can be a distributed model with no centralized core team, or it can be a hybrid model that combines both a centralized and distributed model.
Who are Design Systems For?
00:10:24 - 00:10:57
Who are Design Systems For?
Emma explains that the primary purpose of a design system is to function and be useful to the company it was designed by.
A Practical Example
00:10:58 - 00:12:50
A Practical Example
Emma gives the example of buttons, and explains that making decisions about buttons can be harder than one might originally think because of all of the parameters one has to think about when designing a simple button. A design system would simplify the process and provide guidelines for all teams involved.
The Three Pillars of Design Systems
00:12:51 - 00:14:58
The Three Pillars of Design Systems
Emma defines the three pillars of design systems, namely, the design language, the component library, and the style guide, and explains why these pillars are essential to design systems.
Building a Design System
00:14:59 - 00:21:56
Building a Design System
Emma gives the different steps to follow in order to build a design system, explains why each step is essential to create a design system, and how to implement them.
Design System Checklist
00:21:57 - 00:24:08
Design System Checklist
Emma explains that a design checklist can help define the essential parts of a design system by providing rules and a blueprint a team can follow.
Common Mistakes
00:24:09 - 00:26:54
Common Mistakes
Emma reviews the common mistakes made when choosing and developing a design system, and how they can impact a team's workflow, and the product.
Foundations of Design
Color Overview
00:26:55 - 00:29:56
Color Overview
Emma reviews the two different types of color mixing, and what primary, secondary, and tertiary colors are. Palettes are also discussed.
Color Terminology
00:29:57 - 00:33:03
Color Terminology
Emma explains that, to ensure better communication with designers, it is important for developers to learn some of the commonly used language when it comes to color terminology, and reviews the main terms used.
Color Semantics
00:33:04 - 00:35:49
Color Semantics
Emma discusses the emotional responses colors can incite in a user, and what to avoid when using specific colors.
Color Values
00:35:50 - 00:36:56
Color Values
Emma reviews the definition of the different color code values, and how these values are calculated.
Creating a Color Palette
00:36:57 - 00:40:17
Creating a Color Palette
Emma demonstrates how to create an account on Figma, the design tool for the course, and how to create a monochromatic color palette.
Color Palette Practice
00:40:18 - 00:44:12
Color Palette Practice
Emma demonstrates how to copy palettes from one document to another in Figma, how to create a color palette on Figma, and how to update the colors within the color palette.
Typography
00:44:13 - 00:46:07
Typography
Emma defines ascenders, descenders, cap lines, X-heights, tracking, kerning, and leading in the context of typography.
Fonts
00:46:08 - 00:48:53
Fonts
Emma explores the different types of fonts, font measurements, and font accessibility.
Typescale
00:48:54 - 00:49:28
Typescale
Emma gives a brief introduction to typescales, the different kinds of typescales, the unit they are measured in, and how to use them.
Typescale Exercise
00:49:29 - 00:53:42
Typescale Exercise
Students are instructed to add typography to their Figma project, and copy some of the typescales created by the instructor.
Typescale Solution
00:53:43 - 00:55:38
Typescale Solution
Emma demonstrates how to add typography and typescales to the project started in the previous section, and answers questions about the use of different fonts within the same project.
Other Areas of Design
00:55:39 - 00:56:25
Other Areas of Design
Emma reviews what other areas of design one might want to know about when working on a design system.
Designing Components with Figma
Button States & Styles
00:56:26 - 01:00:20
Button States & Styles
Emma reviews a few different kinds of buttons and button styles, what types of buttons are accessible, and what type of buttons are used for specific functionalities.
Building a Button Exercise
01:00:21 - 01:02:38
Building a Button Exercise
Students are instructed to create a few buttons, implement some of the color styles chosen in a previous section, and add a text style.
Building a Button Solution
01:02:39 - 01:03:51
Building a Button Solution
Emma demonstrates how to build a primary and a secondary button. Primary buttons are for the most important actions on a form, secondary buttons are for less importants ones.
Designing a Modal
01:03:52 - 01:10:51
Designing a Modal
Emma demonstrates how to design a modal, how to add a button to a modal, and how to add illustrations to the modal.
Designing a Modal Practice
01:10:52 - 01:11:49
Designing a Modal Practice
The students are instructed to build a different modal with a different illustration, and a different icon.
Developing Styled Components
How We Apply CSS & Specificity
01:11:50 - 01:13:26
How We Apply CSS & Specificity
Emma explains how to add CSS to an application, what CSS specificity is, and how this is related to HTML.
Problems with CSS
01:13:27 - 01:14:48
Problems with CSS
Emma reviews the difficulties developers face when using CSS and the main issues they can lead to when working on an application, and mentions that an overall lack of knowledge about CSS can be one of the biggest barriers a team faces.
CSS Naming Architectures & Preprocessors
01:14:49 - 01:16:28
CSS Naming Architectures & Preprocessors
Emma reviews CSS naming architectures, and explains that these methods are not cure alls, and do not prevent leaked styling. Preprocessors and nesting are also discussed in this section.
CSS in JS
01:16:29 - 01:17:14
CSS in JS
Emma explains that although CSS in JS is a controversial practice, it allows developers to scope styling to a single component.
Application Setup
01:17:15 - 01:28:01
Application Setup
Emma demonstrates how to set up a React application, how to add CSS styling, and how to run the application.
Button Activity Exercise
01:28:02 - 01:31:44
Button Activity Exercise
Students are instructed to build a secondary and tertiary button for their application after Emma demonstrates how to build a primary button.
Button Activity Solution
01:31:45 - 01:34:00
Button Activity Solution
Emma live codes the solution to the button activity exercise.
Adding Utilities
01:34:01 - 01:37:17
Adding Utilities
Emma demonstrates how to create a utility file that contains information about typography, themes, and colors.
Creating a Theme
01:37:18 - 01:42:52
Creating a Theme
Emma creates a theme for the React application with specific typography, colors and typescales, and demonstrates how to replace hard coded values with styled components in a theme.
Adding Global Styles
01:42:53 - 01:48:22
Adding Global Styles
Emma explains that in some cases developers need to reset or normalize their UI, and therefore need a global style, after demonstrating how to set up a global style.
Adding State Exercise
01:48:23 - 01:50:49
Adding State Exercise
Students are instructed to add the focused, active and disabled state to the secondary and tertiary buttons after Emma demonstrates how to add states to a button.
Adding State Solution
01:50:50 - 01:55:58
Adding State Solution
Emma live codes the solution to the adding state exercise.
Button Variations
01:55:59 - 01:59:39
Button Variations
Emma explains what button variations are, how to add modifiers to a theme, and why modifiers are useful.
Button Variations Exercise
01:59:40 - 02:06:22
Button Variations Exercise
Students are instructed to add success, failure, and warning buttons using button modifiers, after Emma demonstrates how to add button modifiers to change the style of a button within a theme.
Button Variations Solution
02:06:23 - 02:07:21
Button Variations Solution
Emma explains the solution to the button variations exercise.
Making Extensible Themes
02:07:22 - 02:18:56
Making Extensible Themes
Emma demonstrates how to create an extensible theme by introducing the React hook useState, and explains how to modify the state and use properties.
Building a Modal Wrapper
02:18:57 - 02:25:41
Building a Modal Wrapper
Emma live codes a modal wrapper that contains most of the modal's styling.
Building a Modal
02:25:42 - 02:35:26
Building a Modal
Emma live codes a modal by creating a basic React component, and adds an icon as a stateless React component.
Animating Components
Micro-interactions
02:35:27 - 02:38:12
Micro-interactions
Emma explains the benefits of micro-interactions in an application, and shares best practices about how to build useful animations. A micro-interaction can give the user information about a task, lead the user to remain longer on a page thanks to perceived performance, state stanges, or forming user habits.
useSpring
02:38:13 - 02:42:59
useSpring
Emma demonstrates how to use the useSpring hook and the React spring animation library to build an animated button.
useTransition
02:43:00 - 02:48:58
useTransition
Emma explains when to use the useTransition hook, and live codes an example demonstrating how to implement it.
Animating the Modal
02:48:59 - 02:53:53
Animating the Modal
Emma demonstrates how to add animations to the modal started in the previous sections by using the react-spring library, and creating animations with the useSpring hook.
Documenting Components with Storybook
Documenting Components with Storybook
02:53:54 - 02:58:37
Documenting Components with Storybook
Emma introduces Storybook, and explains that developers can use it to document code or write a style guide.
Using Add-ons & Themes
02:58:38 - 03:11:58
Using Add-ons & Themes
Emma explains what addons are and how to use them with a theme in storybook.
Actions
03:11:59 - 03:13:35
Actions
Emma demonstrates how to add actions add-ons to be able to use the buttons added to the marked down file.
Knobs
03:13:36 - 03:17:24
Knobs
Emma demonstrates how to add knobs add-ons to be able to use the buttons added to the marked down file. Knobs allow developers to edit the props of an element. In this segment, the example of disabling a button is given.
Modal Documentation Exercise
03:17:25 - 03:17:54
Modal Documentation Exercise
Students are instructed to create documentation about the modals built in a previous section using storybook, and to use a knob to toggle the modals' visibility.
Modal Documentation Solution
03:17:55 - 03:18:43
Modal Documentation Solution
Emma live codes the solution to the modal documentation exercise.
Accessibility
03:18:44 - 03:21:08
Accessibility
Emma demonstrates how to add an accessibility add-on, and explains that the add-on allows developers to check if a given application has accessibility violations.
Customizing Storybook
03:21:09 - 03:23:44
Customizing Storybook
Emma demonstrates how to customize Storybook so that developers can write documentation that fits into a brand identity.
Deploying Storybook
03:23:45 - 03:29:55
Deploying Storybook
Emma explains that in order for the Storybook documentation to be available online, it needs to be deployed, and demonstrates how to use Storybook and Netlify to publish documentation online.
Wrapping Up
Wrapping Up
03:29:56 - 03:31:43
Wrapping Up
Emma wraps up the course and shares additional resources, namely information about frontend engineers with knowledge about design systems, conferences about design systems, and existing design systems to learn from.
FrontendMasters
Courses Learn Workshops Teachers Books
[/spoiler]
Файлы примеров: присутствуют
Формат видео: MP4
Видео: AVC, 1920x1080, 16:9, 30fps, ~1200kb/s
Аудио: AAC, 44.1kHz, ~244kb/s, stereo
[spoiler="Скриншоты"]

[/spoiler]