Сложный элемент Angular (веб-компонент) или библиотека Angular

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

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

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

когда вы говорите, что хотите создать библиотеку, что вы планируете? Не могли бы вы уточнить, чтобы помочь мне понять

Shashank Vivek 26.02.2019 09:25

вопрос отредактирован! :D

Pizzicato 26.02.2019 09:37
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Angular и React для вашего проекта веб-разработки?
Angular и React для вашего проекта веб-разработки?
Когда дело доходит до веб-разработки, выбор правильного front-end фреймворка имеет решающее значение. Angular и React - два самых популярных...
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Мы провели Twitter Space, обсудив несколько проблем, связанных с последними дополнениями в Angular. Также прошла Angular Tiny Conf с 25 докладами.
Угловой продивер
Угловой продивер
Оригинал этой статьи на турецком языке. ChatGPT используется только для перевода на английский язык.
Мое недавнее углубление в Angular
Мое недавнее углубление в Angular
Недавно я провел некоторое время, изучая фреймворк Angular, и я хотел поделиться своим опытом со всеми вами. Как человек, который любит глубоко...
Освоение Observables и Subjects в Rxjs:
Освоение Observables и Subjects в Rxjs:
Давайте начнем с основ и постепенно перейдем к более продвинутым концепциям в RxJS в Angular
1
2
610
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

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

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

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

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

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

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

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

Привет! Спасибо за Ваш ответ. Извините, я не указал, что библиотека будет Angular-библиотекой, которая включает в себя все эти функции (маршрутизация и т. д.)

Pizzicato 26.02.2019 09:59

Итак, вопрос: должен ли я использовать веб-компонент, который использует Angular, но полностью не зависит от того, где он используется, и может использоваться из другой библиотеки или обычной библиотеки Angular, которую вы просто добавляете в приложения, это зависит от того, что приложение использует Тоже угловатый?

Jeremy Benks 26.02.2019 10:02

Да, но добавление этого довольно сложного модуля

Pizzicato 26.02.2019 10:34

Понятно. Я обновил свой ответ. Я рекомендую использовать обычную библиотеку Angular, так как с ней просто меньше работы.

Jeremy Benks 26.02.2019 10:58

Другие вопросы по теме