What is the difference between “ng-bootstrap” and “ngx-bootstrap”?

孤者浪人 提交于 2019-11-27 17:32:51

ng-bootstrap and ngx-bootstrap are two different projects by two different project teams that are trying to accomplish more or less the same thing - allowing you to use Bootstrap in Angular (2+) without the use of jQuery.

They are both rebuilding the Bootstrap components using only Angular (no jQuery).The main differences are around which version of Bootstrap they support.

  • ngx-bootstrap supports Bootstrap 3 and 4.
  • ng-bootstrap supports Bootstrap 4 and requires Angular 5+.

This means that if you need to use Bootstrap version 3, then ngx-bootstrap is your only real option of the two. If you can use Bootstrap 4, then you can pick between the two projects.

The other (potentially significant) difference is the teams behind the projects. The key point to note in this regard is that the team behind ng-bootstrap was also responsible for angular-ui-bootstrap - the AngularJS (i.e. 1.x) version of the Bootstrap library.

I was thinking about what to use for my project and then after comparing both the projects I think ngx-bootstrap by valor-software is a better option since it has animation built into it's modal component. Ng-bootstrap the animation is still not present, A modal popping up without a animation is a major bummer. Other reason is that Ng-bootstrap is still in beta and I was unable to use it for my production application when comparing with ngx-bootstrap which already has a release candidate version out (12.22.2017). However I wish both the projects good luck and will hopefully come up with solid solutions.

Agree with @Dilshan. I also made the decision to choose ngx-bootstrap for our new product. After some research, I found ngx is more mature and stable for production. ng-bootstrap is under development.

A good resource for reference, CoreUI.io has a full functional CoreUI + Angular 5.x + ngx-bootstrap sample project. I actually learned ngx from this project. You can browse its live preview or download the project package.

One difference is in the format used by their date picker. ng-bootstrap uses an object, but ngx-bootstrap will take a string which is way easier to use.

The ng-bootstrap referred to in the question (the one at https://ng-bootstrap.github.io) is not the npm package ng-bootstrap.

Instead, the npm package is @ng-bootstrap/ng-bootstrap

It is developed by a different team.

$ npm view @ng-bootstrap/ng-bootstrap

@ng-bootstrap/ng-bootstrap@3.2.0 | MIT | deps: 1 | versions: 61 Angular powered Bootstrap https://github.com/ng-bootstrap/ng-bootstrap#readme

The npm package ng-bootstrap looks to be indeed an older version of ngx-bootstrap.

ng-bootstrap doesn't appear to be supported - the top request is appendTo body and the maintainer says he isn't working on the project.

I've been switching everything to ngx-bootstrap

Not so much an answer as an extended comment...

I'm not so sure about the teams being independant. Running npm view ngx-bootstrap and npm view ng-bootstrap show that both were published with the same email account.

I'm thinking the two teams are related.

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>
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!