В чем разница между «ng-bootstrap» и «ngx-bootstrap»?


231

В чем разница между "ng-bootstrap" и "ngx-bootstrap"? Они связаны друг с другом? Или они просто параллельные реализации?

Кто-то работал с ними обоими и может дать / объяснить плюсы и минусы обоих?

Под «ng-bootstrap» я имею в виду https://ng-bootstrap.github.io/#/home и

под "ngx-bootstrap" я имею в виду http://valor-software.com/ngx-bootstrap/ .

Оба связаны с Angular 4 ( не с AngularJS! ) И Bootstrap 4.

Обратите внимание, что это не повторяющийся вопрос о разнице между ngx-bootstrap и ng2 bootstrap? ,


17
ngx-bootstrapsuppprts bootstrap 3 & 4, тогда как ng-bootstrap(ui-bootstrap в AngularJs) поддерживает только
developer033

1
я думаю, что ответ @snorkpete заслуживает того, чтобы его можно было установить как правильный ответ, он нашел время, чтобы найти ответ и написать его. Это хорошая культура, чтобы вернуться и прочитать ответы на свой вопрос, которые вы поместили в stackoverflow, а затем просмотреть их, и если вы удовлетворены одним из них, выберите его в качестве правильного ответа
hossein bakhtiari

Ответы:


213

ng-bootstrap и ngx-bootstrap - это два разных проекта двух разных проектных групп, которые пытаются более или менее выполнить одно и то же - позволяя вам использовать Bootstrap в Angular (2+) без использования jQuery.

Они оба перестраивают компоненты Bootstrap, используя только Angular (без jQuery). Основные различия заключаются в том, какую версию Bootstrap они поддерживают.

  • ngx-bootstrap поддерживает Bootstrap 3 и 4.
  • ng-bootstrap поддерживает Bootstrap 4 и требует Angular 5+.

Это означает, что если вам нужно использовать Bootstrap версии 3, тогда ngx-bootstrap - ваш единственный реальный выбор из двух. Если вы можете использовать Bootstrap 4, то можете выбирать между двумя проектами.

Другое (потенциально значительное) отличие - команды, стоящие за проектами. Ключевым моментом, который следует отметить в этом отношении, является то, что команда, стоящая за ng-bootstrap, также отвечала за angular-ui-bootstrap - версию AngularJS (т.е. 1.x) библиотеки Bootstrap.


3
Это вопрос для двух командных лидеров. Если смотреть со стороны, у них немного другие цели, так что я думаю, это как-то связано с этим, но это только предположение с моей стороны
snorkpete

Будет ли проблемой, если мы включим обе библиотеки в наш угловой проект? Если да, то какие проблемы ожидаются?
РИТЦ ХАВИ

вероятно, возможно, но кажется излишним. Если вам все равно, и вы используете Bootstrap 4, просто выберите один (случайным образом, если нужно).
snorkpete

38

Я думал о том, что использовать для моего проекта, а затем, сравнив оба проекта, я думаю, что ngx-bootstrap от valor-software - лучший вариант, поскольку в его модальный компонент встроена анимация. Ng-bootstrap анимация по-прежнему отсутствует, модальное всплывающее окно без анимации является большим обломом. Другая причина в том, что Ng-bootstrap все еще находится в бета-версии, и я не смог использовать его для своего производственного приложения по сравнению с ngx-bootstrap, который уже выпустил версию-кандидата (22.12.2017). Тем не менее, я желаю обоим проектам удачи и, надеюсь, придумаю надежные решения.


3
Теперь доступен Ng-bootstrap 1.0.0, и компилятор AOT собирается без проблем. См github.com/ng-bootstrap/ng-bootstrap/blob/master/CHANGELOG.md
Stevethemacguy

16

Согласитесь с @Dilshan. Я также принял решение выбрать ngx-bootstrap для нашего нового продукта. После некоторых исследований я обнаружил, что ngx более зрелый и стабильный для производства. ng-bootstrap находится в стадии разработки.

Хороший ресурс для справки, CoreUI.io имеет полнофункциональный пример проекта CoreUI + Angular 5.x + ngx-bootstrap . Я на самом деле узнал ngx из этого проекта. Вы можете просмотреть его предварительный просмотр или загрузить пакет проекта.


8
Зависит от того, как вы определяете «зрелый», поскольку у ngx-bootstrap нет ни одного теста ни на что. Где, как у ng-bootstrap, похоже, есть тест на все.
Рики Рунге

Приятно знать, спасибо, что поделились. Я считаю, что ng-bootstrap - верный путь. Я упомянул зрелость только потому, что он был выпущен неделю назад. («Эта библиотека находится в стадии разработки ...»)
Jiping

4
В сегодняшней открытой экосистеме с открытым исходным кодом «зрелый» теперь означает «выпущенный более 2 месяцев назад». ;)
Эрик Сойке

9

Я использовал как ngx-bootstrap (от Valor), так и ng-bootstrap (от ng-boostrap). Вот мои два цента уникальных функций, которые вы получаете от них:

NGX-самозагрузка:

  1. Встроенная поддержка анимации практически во всем (модалы, аккордеон, коллапс, выпадающий список, средство выбора даты ...)
  2. Лучшая модальная поддержка (вложенные модалы, модал как услуга, модал как шаблон)
  3. Сортируемый компонент (с функцией перетаскивания)

нг-самозагрузка:

  1. Функция Nav (Tabset устарела)
  2. Компонент Встроенный тост
  3. Размер пакета почти в два раза больше, чем у ngx-bootstrap (Minified + Gzipped)

Вы также можете сравнить их количество загрузок npm с npmtrends .

[Примечание: мой ответ основан на текущей последней версии, т.е. ngx-bootstrap v5.5.0 и ng-boostrap v6.0.0]


7

Одно из различий заключается в формате, используемом их сборщиком дат. ng-bootstrap использует объект, но ngx-bootstrap будет принимать строку, которая намного проще в использовании.


7

ng-bootstrap, похоже, не поддерживается - верхний запрос - это appendTo body, и сопровождающий говорит, что он не работает над проектом.

Я все переключаю на ngx-bootstrap


7

Упомянутый в вопросе ng-bootstrap (на https://ng-bootstrap.github.io ) - это не пакет npm ng-bootstrap.

Вместо этого, пакет npm - это @ ng-bootstrap / ng-bootstrap

Он разработан другой командой.

$ npm view @ ng-bootstrap / ng-bootstrap

@ ng-bootstrap / ng-bootstrap @ 3.2.0 | MIT | deps: 1 | версии: 61 Bootstrap с угловым питанием https://github.com/ng-bootstrap/ng-bootstrap#readme

Пакет npm ng-bootstrap действительно выглядит как старая версия ngx-bootstrap.


4

Не столько ответ, сколько расширенный комментарий ...

Я не уверен, что команды независимы. Бег npm view ngx-bootstrapиnpm view ng-bootstrap покажите, что оба были опубликованы с одной и той же учетной записью электронной почты.

Я думаю, что две команды связаны между собой.

npm view ngx -bootstrap

C:\:
17:07:25.16>npm view ngx-bootstrap

ngx-bootstrap@3.0.1 | MIT | deps: none | versions: 40
Native Angular Bootstrap Components
https://github.com/valor-software/ngx-bootstrap#readme

keywords: angular, bootstap, ng, ng2, angular2, twitter-bootstrap

dist
.tarball https://registry.npmjs.org/ngx-bootstrap/-/ngx-    bootstrap-3.0.1.tgz
.shasum: e98d2fc6340f32a9d358cd08e8fda7dcb23bdab3
.integrity: sha512-ni91yYtn8ldgf/pxrlwl9lkVcLURGzopSpJnEbbgG1v1EZWTobI8y7J3mx4Kxptkn0EeiQwnLel67G7XJSox4A==
.unpackedSize: 8.4 MB

maintainers:
- valorkin <valorkin@gmail.com>

dist-tags:
latest: 3.0.1       next: 3.0.1         test: 0.0.0-test.0

published a month ago by valorkin <valorkin@gmail.com>

npm view ng -bootstrap

C:\:
17:16:42.36>npm view ng-bootstrap

ng-bootstrap@1.6.3 | MIT | deps: 1 | versions: 8
Native Angular Bootstrap Components
https://github.com/valor-software/ngx-bootstrap#readme

keywords: ng, ng-bootstap, angular, angular2, bootstrap, twitter-bootstrap

dist
.tarball https://registry.npmjs.org/ng-bootstrap/-/ng-bootstrap-1.6.3.tgz
.shasum: d41fd42154c0593422cb83c473a3828aa7525bf5

dependencies:
moment: 2.18.1

maintainers:
- pkozlowski_os <pkozlowski.opensource@gmail.com>
- ng-bootstrap <foxandxss@gmail.com>

dist-tags:
beta: 1.1.16-3  latest: 1.6.3

published a year ago by valorkin <valorkin@gmail.com>

9
ng-bootstrap - это старое название ngx-bootstrap . Для ng-bootstrap.github.io имя пакета npm равно @ ng-bootstrap / ng-bootstrap , то естьnpm view @ng-bootstrap/ng-bootstrap
atao

1
больше похоже на того парня "valorkin" из ng-bootstrap, который открыл собственную команду "valor-software" для ngx
Facundo Colombier
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.