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

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

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

Под "ng-bootstrap" я имею в виду https://ng-bootstrap.github.io/ и

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

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

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

7 ответов

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.

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

ngx-bootstrap:

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

ng-bootstrap:

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

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

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

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

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

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

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

Упомянутый в вопросе 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

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

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

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

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

Я не уверен, что команды независимы. Бег 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>

Это зависит от потребностей, но, следуя практическому правилу, ng-bootstrap в целом более подходит по следующим причинам:

  • ng-bootstrap имеет больше звезд
  • ng-bootstrap - относительно новое решение
  • ng-bootstrap легче

Если у меня нет особой причины использовать bootstrap 3, предпочтительнее использовать ng-bootstrap.

пожалуйста, обратитесь к следующим репозиториям github для получения более подробной информации о фактах и ​​цифрах:

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