Skip to content

Frontend Development Stack

Vadim Dyachkov edited this page Mar 10, 2020 · 8 revisions

Что нужно

  • Фронтенд фреймворк, который будет ходить к нашему серверу за данными по REST/gRpc/GraphQL и отображать их пользователю
  • Данные:
    • Админка для настройки параметров работы поиска дубликатов
    • Список PR к отслеживаемым проектам
    • Отображнеие графа заимствований кода для каждого PR
    • Отображение diff между несколькими PR по клику на дугу в графе заимствований
    • ...
  • Поддержка авторизации
    • Для админа -- read-write права
    • Для остальных -- read-only права

Фреймворки

  • Библиотека для манипуляции элементами DOM-дерева и организации запросов
  • Не полноценный UI-фреймворк в отличии от React-Angular-Vue
  • Придется использовать server-side rendering
  • Много низкоуровеных манипуляций на уровне DOM-дерева
  • Есть мнение, что технология умирает
  • Не модно в 2к20
  • Поддерживается компанией Google
  • Самый старый из тройки React-Angular-Vue
  • Довольно тяжеловесная библиотека
  • Сложнее, чем React и Vue
  • Есть Dependency Injection
  • Не использует Virtual DOM (потенциально худший perfomance)
  • Поддерживается компанией Facebook
  • Самый популярный по Google Trends (больше готовых решений и примеров)
  • Позволяет комбинировать разметку и JS-код
  • Отличный тулинг: react-developer-tools, create-react-app, ...
  • Один человек в команде имел опыт работы с React
  • Не поддерживается крупными корпорациями
  • Самый молодой из тройки React-Angular-Vue
  • В каком-то смысле собрал лучшее из Angular и React
  • Недостаточно популярен в сравнении с конкурентами

Вывод

Google Trends

На самом деле, можно выбрать любой фреймворк и реализовать UI на нем. Но, ввиду большей популярности, хорошему тулингу и предыдущему опыту работы, предлагается сделать выбор в пользу React.

Дополнительные библиотеки

Graph visualization

Code diff

Clone this wiki locally