Практическая архитектура программного обеспечения для фронтенд-разработки

Привет.

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

У этого стремления есть еще одна цель. Вопрос, который беспокоил и очаровывал меня с тех пор, как я начал программировать: как, черт возьми, устроено веб-приложение? Я имею в виду что-то сложное вроде Facebook, Airbnb или Spotify. И я говорю о внешнем коде, о клиенте, о том, что отправляется в браузер. Я не говорю об API-интерфейсах REST мира и базах данных, конвейерах данных и т. д. Я говорю о том, как мы можем организовать огромное количество JavaScript, CSS и HTML, которые мы пишем сегодня в веб-приложениях, в таких способ, который позволяет командам и продуктам развиваться с меньшими трудностями. Это то, что мне нужно. Я знаю, что создание таких веб-сайтов, как Facebook и Airbnb, — это огромная задача, на выполнение которой уходят годы и сотни профессионалов, и даже со всеми этими ресурсами код для этих сайтов, вероятно, имеет много возможностей для улучшения. Я надеюсь получить информацию и опыт в области архитектуры программного обеспечения для разработки интерфейса с помощью этого проекта. И в процессе помогите продвинуть разговор по теме, потому что нам отчаянно нужны лучшие веб-приложения.

То, что я собираюсь создать, представляет собой смесь социальных сетей и приложения для управления задачами. Представьте, что Facebook и Todoist поженились и у них родился ребенок. Это то, что я хочу построить. Конечный результат (UI/UX, функции и т. д.) все еще остается открытым. Для меня важно разобраться в процессе и извлечь из него уроки.

Подводя итог, конечная цель этого проекта:

  • Изучайте и практикуйте архитектуру программного обеспечения, в основном применительно к фронтенд-разработке.
  • Изучайте и применяйте новые инструменты и техники
  • Создайте веб-приложение, которое я запустил бы в производство и представил бы пользователям.
  • Внесите свой вклад в сообщество, поделившись процессом и знаниями

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

Следующие три шага:

  • Исследование архитектуры внешнего интерфейса.
  • Настройте базовую структуру репозитория.
  • Настроить инструменты качества кода под проект: линтеры, хаски, тестирование и т.д.

Удачного кодирования!