Обзор курса

Free Preview
Продолжительность: 8 мин

Этот курс разделён на пять логических модулей, каждый из которых посвящён отдельному этапу архитектурного мышления во фронтенде.

🎓 Первый модуль - Foundations (Основы)

Стартовый модуль с которого мы начнем свой путь. В нём мы разбираем самые фундаментальные вопросы:

  • Что такое архитектура программного обеспечения?
  • Что такое архитектура фронтенда и чем она отличается от общей архитектуры ПО?

На первый взгляд эти вопросы кажутся простыми, но на деле - крайне сложны. Универсальных определений не существует: архитектура - понятие контекстное. Поэтому в этом модуле мы уточним, что именно мы подразумеваем под архитектурой в рамках данного курса. Это поможет сформировать общее понимание и подготовить почву для следующих модулей.

Также мы обсудим разницу между архитектурой и дизайном. Эти термины нередко используются как синонимы, и отчасти это справедливо - они действительно пересекаются. Но различия между ними важны, и мы подробно разберём, в чём они заключаются и почему это имеет значение на практике.

Наконец, мы рассмотрим роль фронтенд-архитектора. Официального определения этой профессии нет, и описания могут сильно различаться. Однако мы выделим наиболее распространённые ожидания и зоны ответственности специалиста, который выполняет архитектурные функции в команде фронтенда.

🧭 Второй модуль - Understanding (Понимание)

Во втором модуле мы познакомимся с учебным проектом - вымышленным веб-приложением, которое будем использовать в течение курса. На его примере мы изучим, как визуализировать архитектуру с помощью высокоуровневых диаграмм, и обсудим ключевые архитектурные понятия, важные на ранних этапах любого проекта.

Речь пойдёт о таких концепциях, как:

  • архитектурные драйверы,
  • архитектурные требования,
  • архитектурные решения.

Эти понятия помогают глубже понять проблему, которую предстоит решать. Ведь архитектор - это не просто человек, который ищет техническое решение. Его задача - убедиться, что команда решает правильную проблему. Поэтому модуль Understanding посвящён именно осмыслению и анализу задачи, прежде чем переходить к её реализации.

🧩 Третий модуль - Designing (Проектирование)

Здесь мы начнём непосредственное проектирование системы - разбиение приложения на части и определение структуры будущей архитектуры. Мы изучим техники и подходы, применимые на разных стадиях - как при старте нового проекта, так и при рефакторинге существующего.

В модуле рассматриваются:

  • проектирование предметной области (Domain Modeling),
  • декомпозиция приложения на модули,
  • основные диаграммы проектирования - например, диаграммы последовательностей и классов,
  • создание Design Doc - документа, описывающего архитектуру и основные решения.

Этот модуль объединяет теорию и практику проектирования, формируя основу архитектурной документации.

⚙️ Четвёртый модуль - Implementing (Реализация)

В этом модуле мы, наконец, переходим к практической части и начинаем писать код. Мы рассмотрим, как перевести архитектуру в структуру проекта и поддерживать её в кодовой базе.

Ключевые темы модуля:

  • организация файлов и папок в соответствии с архитектурой;
  • декомпозиция модулей на компоненты и управление иерархией;
  • внедрение ограничений и guardrails (защитных ограничителей), защищающих архитектурные принципы при росте проекта.

На этом этапе будут и практические упражнения: мы реализуем отдельные модули, чтобы на практике почувствовать, как архитектурные решения воплощаются в коде.

🚀 Пятый модуль - Wrapping Up (Завершение)

Заключительный модуль подводит итоги курса. Здесь я поделюсь дополнительными материалами для тех, кто хочет погрузиться глубже - в продвинутые архитектурные техники и практики.

Мы обсудим пути дальнейшего развития в профессии фронтенд-архитектора, рекомендации по литературе и инструментам. Это станет отправной точкой для самостоятельного изучения и практики.

💬 Итог

Этот курс - базовый. Он не охватывает всё возможное, но создаёт прочную основу, на которой можно строить более сложные знания и решения.

Мы пройдём через широкий круг тем - от принципов архитектуры до практической реализации и документирования. Курс подойдёт как новичкам, которые хотят структурировать знания, так и разработчикам, стремящимся перейти на следующий уровень - к архитектурному мышлению.