Сложный угловой элемент (веб-компонент) или угловая библиотека - PullRequest
0 голосов
/ 26 февраля 2019

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

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

Редактировать: Модуль предназначен только для внутреннего использования, а не для клиента.Он будет включать в себя функциональность для операций CRUD на различных ресурсах, общих для всех наших приложений (типы, языки, статусы ...).Каждый из них будет представлен на вкладке, поэтому, например, на вкладке «Языки» вы увидите таблицу с нумерацией страниц, отображающую все записи языков, и вы можете создавать новые языки, заполняя форму, редактировать языки и удалять их.

1 Ответ

0 голосов
/ 26 февраля 2019

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

1) Это просто меньше работы, и поскольку ваша компания переходит на Angular и не планирует менять ее, я бы определенно упростил задачу / избежал дополнительной работы.

2) Развертывание, скорее всего, усложняется при использовании независимого веб-компонента.

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

4) Вы говорите, что это сложный модуль.В библиотеке вы можете легко разделить это на несколько компонентов / сервисов.Хотя вы можете сделать это и в независимом веб-компоненте, это всегда дополнительная работа.

5) И наконец: если ваша компания решит использовать другую среду, отличную от Angular, это будет огромным шагом, так как вы в большей или меньшей степенипереписать все!Если вы делаете такой шаг, всегда разумно переосмыслить подходы, пользовательский опыт и все такое.И это, скорее всего, приведет к решению о том, что ваш веб-компонент должен быть подвергнут серьезному рефакторингу, также не должен больше использовать Angular или устарел.

Так что мне кажется, что вы не получите никакой выгоды от своей дополнительной работы, если создадите независимый веб-компонент.Однако: если вы обнаружите реальную выгоду от создания независимого веб-компонента, за который кто-то (ваш начальник или клиент) готов платить, вам следует выбрать этот вариант.

...