Доступно

Вёрстка сайта с нуля: JSX, SCSS, JS, Vite, Minista, БЭМ [stepik] [Александр Ламков]

Тема в разделе "Курсы по программированию", создана пользователем mikulincz, 29 янв 2025.

Цена: 1999р.-91%
Взнос: 162р.
100%

Основной список: 36 участников

Резервный список: 16 участников

Статус обсуждения:
Комментирование ограничено.
  1. 29 янв 2025
    #1
    mikulincz
    mikulincz ЧКЧлен клуба

    Складчина: Вёрстка сайта с нуля: JSX, SCSS, JS, Vite, Minista, БЭМ [stepik] [Александр Ламков]

    2025-01-30_134730.png

    Уже знаете HTML, CSS и JavaScript? Примените знания на практике — шаг за шагом разработайте фронтенд для веб-приложения на современном стеке технологий! В курсе вас ждет много сложной вёрстки, тысячи строк качественного JavaScript-кода и крутейшая SSG-сборка с JSX-шаблонизатором на борту. Достойный проект для портфолио и мощная тренировка перед тем, как погрузиться в дальнейшее изучение фронтенд-фреймворков!

    Чему вы научитесь
    • Разрабатывать сайты на современном стеке технологий
    • С помощью JavaScript реализовывать сложные UI-компоненты (Select, Tabs, Slider, VideoPlayer, InputMask, OverlayMenu) через грамотно структурированный ООП-подход (синтаксис классов, механика наследования от абстрактных классов, методы-геттеры и др.)
    • Применять различные JavaScript API: Proxy, ResizeObserver, MatchMedia
    • Использовать фреймворк Minista (SSG, Static Site Generator) для ускорения процесса вёрстки
    • Использовать современный сборщик проектов Vite для автоматизации рутинных действий: обработка и минификация файлов стилей, обфускация скриптов, сжатие картинок, формирование SVG-иконок в спрайты
    • Писать декомпозированную разметку в JSX синтаксисе (крайне полезная технология для тех, кто планирует в дальнейшем изучать React)
    • Именовать классы элементов в разметке согласно БЭМ методологии
    • Применять современные HTML-теги: dialog, details, summary, dl, dt, dd, time и др.
    • Оперировать современным синтаксисом CSS: Flex и Grid-сетки, адаптивные единицы измерения (vw, vh, rem, em), псевдоклассы (has, nth, not, user-invalid, focus-visible), необычные свойства (appearance, column-count, break-inside, clip-path, grid-template-areas, grid-auto-flow, overscroll-behavior, display contents, transition-behavior), свойства-шорткаты (inset, inset-inline, padding-block, padding-inline, margin-inline), современный синтаксис медиазапросов, Scroll-driven Animations
    • Применять всю мощь препроцессора стилей Sass в синтаксисе SCSS: миксины, функции, условия, переменные, директивы use и forward
    • Обрабатывать код пост-процессором стилей PostCSS и плагином postcss-pxtorem для автоматического перевода единиц измерения пикселей в rem
    • Работать с менеджером пакетов NPM (установка и использование сторонних зависимостей)
    • Применять библиотеки Swiper, IMaskJS, classNames
    • Анализировать макет в Figma
    • Дебажить вёрстку в DevTools браузера
    • Внедрять принципы Accessibility в код (WAI-ARIA и атрибуты role)
    О курсе
    Цель курса — пошагово реализовать фронтенд многостраничного приложения стримингового сервиса, который состоит из 6 полноценных страниц со множеством секций и непростых UI компонентов.

    stream-vibe_3.png

    Нам здесь встретятся такие компоненты интерфейса как табы, мобильное меню, открывающееся и закрывающееся при клике на кнопку “бургер”, кастомный видеоплеер, множество слайдеров, маски для полей ввода, а так же кастомный селект — всё это мы будем реализовывать с помощью ванильного JavaScript и используем мы лишь нескольких сторонних NPM-библиотек.
    Классы элементов в разметке мы будем именовать по БЭМ-методологии, а для комфортного написания стилей мы будем использовать препроцессор стилей Sass на диалекте SCSS.
    И вишенка на торте — мы будем использовать сборщик проектов Vite в обёртке в виде фреймворка Minista, где есть самая нужная нам функциональность — шаблонизатор разметки на основе синтаксиса JSX (да-да, тот самый, из мира React).
    Пример того, что из себя представляют материалы курса — мой последний МК на YouTube. Только в этот раз — проект ещё более насыщенный, с весьма приятным стеком технологий, который значительно упрощает процесс разработки.

    Для кого этот курс
    Начинающие фронтенд-разработчики, которые хотят попрактиковаться в применении ванильного JavaScript прежде, чем приступать к изучению более серьёзных технологий, таких как React / Vue / Angluar • Более опытные фронтенд-разработчики, которые хотят освоиться в современных возможностях HTML, CSS и JavaScript • Фронтенд-разработчики любого уровня, которые хотят научиться быстро и удобно разрабатывать MPA (многостраничные приложения) на современном стеке с помощью SSG (Static Site Generator) с шаблонизатором разметки на JSX-синтаксисе

    Начальные требования
    Важно на базовом уровне знать HTML, CSS, JavaScript. А так же желательно быть знакомым с метолологией БЭМ и препроцессором стилей Sass.

    Программа курса
    Введение, подготовка папок и файлов
    1. Введение. Что будет в мастер-классе. Что нужно знать
    2. Сборщик проектов Vite и фреймворк Minista
    3. Установка Minista и библиотек. Настройка сборщика проектов
    4. Подготовка структуры папок проекта
    5. Файлы constants.scss и functions.scss — Sass-константы и функции
    6. Файл mixins.scss — Sass-миксины
    7. Файл media.scss — Sass-миксины для медиавыражений
    8. Файл helpers/index.js, автоподключение через сборщик проектов
    9. Подключение нормализации стилей
    10. Подключение шрифтов
    11. Файл variables.scss — подготовка глобальных CSS-переменных
    12. Файл utils.scss — подготовка утилитарных классов
    13. Файл globals.scss — подготовка глобальных стилей
    14. Шаблонизатор разметки JSX. Знакомство с синтаксисом. Особенности
    15. Файл global.jsx — настройка глобальной обертки каждой из страниц
    Шапка и футер страницы (Header и Footer)
    1. Sticky эффект, применение scroll animation-timelineДемо-доступ
    2. Компонент Logo, библиотека classNames
    3. Меню навигации, списки в JSX, метод массивов map
    4. Компоненты Button и Icon, SVG-спрайты
    5. Компонент BurgerButton
    6. Меню-оверлей, HTML-элемент dialog, display contents
    7. JavaScript-модуль OverlayMenu
    8. Футер страницы — компоненты Socials и Button (доработка)
    Главная страница
    1. Секция Hero, доработка Header
    2. Секция Categories — компонент Section
    3. Секция Categories — компоненты CategoryCard и Image
    4. Секция Categories — компоненты Slider и SliderNavigation
    5. Секция Categories — JavaScript-модуль SliderCollection (2 шага)
    6. Секция Devices — компоненты Grid и DeviceCard
    7. Секция Questions — компонент AccordionGroup
    8. Секция Questions — компонент Accordion
    9. Секция Plans — компоненты PlanCard и Button (доработка)
    10. Секция Plans — компоненты Tabs и TabsNavigation
    11. Секция Plans — JavaScript-модуль TabsCollection (2 шага)
    12. Абстрактный класс BaseComponent, Proxy API, доработка Tabs
    13. Секция Banner, доработка Content
    Страница Movies
    1. Секция MoviesBanner — MovieBannerCard, Slider (2 шага)
    2. Секция Collections — компонент Badge (2 шага)
    3. Секция Collections — компоненты MovieCard и RatingView (3 шага)
    Страница Movie (детальная страница фильма)
    1. Секция MovieBanner, доработка компонента MovieBannerCard
    2. Секция MovieDetails — компоненты PersonCard, ReviewCard (2 шага)
    3. Секция MovieDetails — компоненты Tags, Rating и PersonCard
    4. Секция MovieDetails — стилизация, Slider и SliderNavigation
    Страница Show (детальная страница сериала)
    1. Секция ShowBanner
    2. Секция MovieDetails — Seasons, AccordionGroup, Accordion
    3. Секция MovieDetails, компоненты Seasons и EpisodeCard (2 шага)
    4. Секция MovieDetails, JavaScript-модуль VideoPlayer
    Страница Support
    1. Секция Support — компонент Field (2 шага)
    2. Секция Support — JavaScript-модуль InputMask
    3. Секция Support — компонент Checkbox
    4. Секция Support — компонент Select (разметка)
    5. Секция Support — компонент Select (стилизация)
    6. Секция Support — JavaSscript-модуль Select (2 шага)
    Страница Subscriptions
    1. Секция PlansComparison — компонент Table
    Финал
    1. Рефакторинг и исправление ошибок
    2. Сборка приложения
    3. Заключение
    Цена: 1999р.
    Скрытая ссылка
     
    Последнее редактирование модератором: 1 фев 2025
    3 пользователям это понравилось.
  2. Последние события

    1. Лансер
      Лансер оставил отзыв "Отлично".
      19 мар 2025
    2. skladchik.com
      Складчина доступна.
      15 фев 2025
    3. Petr_petro
      Petr_petro участвует.
      14 фев 2025
    4. valera228
      valera228 участвует.
      14 фев 2025

    Последние важные события

    1. skladchik.com
      Складчина доступна.
      15 фев 2025
    2. skladchik.com
      Взнос составляет 81р.
      7 фев 2025
    3. skladchik.com
      Складчина активна.
      7 фев 2025
    4. skladchik.com
      Сбор взносов начинается 07.02.2025.
      5 фев 2025
  3. Отзывы участников

    5/5,
    • 5/5,
      Работой организатора доволен
      Интересный подход к верстке, раньше такого не встречал, однозначно буду внедрять эти практики, будет сложно на первых порах, но уже вижу облегчение работы в будущем, например сейчас медиа запросы пишу отдельно ниже основного кода и в дальнейшем неудобно вносить правки конкретному блоку (надо "скакать" по всему scss файлу), автор же предлагает использовать sass-функцию fluid() и мискины типа @import laptop, таким образом все стили компонента в одном месте и намного проще в будущем вносить правки. Что касается организации - в целом ОК, но реклама клуба раздражает, особенно был инцидент в начале: орг наложил рекламу на абсолютно все видео-файлы, это был просто треш и взрыв мозга. Спасибо пошел на встречу и убрал лишнее (оставил рекламу только на некоторых видео), за что ему спасибо, 4+.
      19 мар 2025
      3 пользователям это понравилось.
  4. Обсуждение
  5. 5 фев 2025
    #2
    Лансер
    Лансер ЧКЧлен клуба
    Взнос отличный, может пора собраться?
     
    1 человеку нравится это.
Статус обсуждения:
Комментирование ограничено.