LINUX.ORG.RU

Сообщения russelcrow

 

Грамотная архитектура фронта на vue

Встала задача переписать достаточно крупный легаси проект, работающий сейчас на angular 1.4.9 и sails (порядка 170к строк в сумме, в базе сотни тысяч записей).

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

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

Сейчас остро стоит вопрос архитектуры. Я выступаю за монолит, но я крупных приложений пока и не разрабатывал.

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

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

-Есть внутренняя бизнес-логика, а есть модули, которыми пользуются сторонние компании. Любая утечка кода не в те руки, может обернуться крахом для компании. Доступ к этим модулям будет по правам, но на выходе ведь в любом случае имеется один собранный js файл. Из этого так же вытекает проблема подгрузки большого количества ненужного кода клиентом, которому доступен только один модуль.

Что касается последнего момента, я пока нашел варианты с асинхронными компонентами и конфигурацией вебпак. Но пока не имею ни малейшего представления о том, как это нужно применять на практике (да, я совершенно не притрагивался к настройке вебпака прежде).

Из решений, на которые упал глаз это Nuxt и single-spa, но эти же решения, в свою очередь, являются утяжелением и усложнением проекта, на мой взгляд.

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

 ,

russelcrow
()

RSS подписка на новые темы