В чем разница между "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). Вот мои два цента уникальных функций, которые вы получаете от них:
- Встроенная поддержка анимации практически во всем (модальные окна, аккордеон, свертывание, раскрывающийся список, указатель даты...)
- Лучшая поддержка модальных окон (вложенные модальные окна, модальные окна как услуга, модальные окна как шаблон)
- Сортируемый компонент (с функцией перетаскивания)
- Функция навигации (набор вкладок устарел)
- Встроенный компонент Toast
- Размер пакета почти вдвое больше, чем у 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 для получения более подробной информации о фактах и цифрах: