Jaka jest różnica między „ng-bootstrap” a „ngx-bootstrap”?


231

Jaka jest różnica między „ng-bootstrap” a „ngx-bootstrap”? Czy są ze sobą spokrewnieni? A może są to po prostu jednoczesne wdrożenia?

Czy ktoś z nimi pracował i może podać / wyjaśnić zalety i wady obu?

Przez „ng-bootstrap” mam na myśli https://ng-bootstrap.github.io/#/home i

z „ngx-bootstrap” Mam na myśli http://valor-software.com/ngx-bootstrap/ .

Oba dotyczyły Angular 4 ( nie AngularJS! ) I Bootstrap 4.

Należy pamiętać, że nie jest to powielone pytanie o różnicę między programem bootstrap ngx a programem bootstrap ng2? .


17
ngx-bootstrapobsługuje bootstrap 3 i 4, podczas gdy ng-bootstrap(ui-bootstrap w AngularJs) obsługuje tylko bootstrap 4.
developer033

1
myślę, że @snorkpete odpowiedź zasługuje na ustawienie jako poprawnej odpowiedzi, poświęcił czas na znalezienie odpowiedzi i napisanie jej. dobrą kulturą jest powrót i przeczytanie odpowiedzi na pytanie postawione w
przepełnieniu stosu

Odpowiedzi:


213

ng-bootstrap i ngx-bootstrap to dwa różne projekty dwóch różnych zespołów projektowych, które starają się osiągnąć mniej więcej to samo - pozwalając na użycie Bootstrap w Angular (2+) bez użycia jQuery.

Obie odbudowują komponenty Bootstrap przy użyciu tylko Angulara (bez jQuery). Główne różnice dotyczą tego, którą wersję Bootstrap obsługują.

  • ngx-bootstrap obsługuje Bootstrap 3 i 4.
  • ng-bootstrap obsługuje Bootstrap 4 i wymaga Angular 5+.

Oznacza to, że jeśli potrzebujesz użyć Bootstrap w wersji 3, to ngx-bootstrap jest Twoją jedyną prawdziwą opcją. Jeśli możesz użyć Bootstrap 4, możesz wybierać między dwoma projektami.

Drugą (potencjalnie istotną) różnicą są zespoły odpowiedzialne za projekty. Kluczową kwestią w tym względzie jest to, że zespół odpowiedzialny za ng-bootstrap był również odpowiedzialny za angular-ui-bootstrap - wersję AngularJS (tj. 1.x) biblioteki Bootstrap.


3
To pytanie dotyczy dwóch liderów zespołu. Patrząc z zewnątrz, mają nieco inne cele, więc sądzę, że ma to coś wspólnego, ale to tylko domniemanie z mojej strony
snorkpete

Czy byłby problem, gdybyśmy umieścili obie biblioteki w naszym projekcie kątowym? Jeśli tak, jakie problemy są oczekiwane?
RITZ XAVI

prawdopodobnie możliwe, ale wydaje się, że to przesada. Jeśli nie przejmujesz się tym zbytnio i używasz Bootstrap 4, po prostu wybierz jeden (losowo, jeśli musisz).
snorkpete

38

Myślałem o tym, co wykorzystać w moim projekcie, a następnie po porównaniu obu projektów, myślę, że ngx-bootstrap przez valor-software jest lepszą opcją, ponieważ ma wbudowaną animację w moduł. Ng-bootstrap animacja wciąż nie jest obecna, Modal wyskakujący bez animacji jest dużym szumem. Innym powodem jest to, że Ng-bootstrap jest wciąż w fazie beta i nie byłem w stanie użyć go do mojej aplikacji produkcyjnej podczas porównywania z ngx-bootstrap, który ma już wersję kandydującą do wydania (12.22.2017). Życzę jednak obu projektom powodzenia i mam nadzieję, że uda mi się znaleźć solidne rozwiązania.


3
Ng-bootstrap 1.0.0 jest już dostępny, a kompilator AOT buduje się bez żadnych problemów. Zobacz github.com/ng-bootstrap/ng-bootstrap/blob/master/CHANGELOG.md
Stevethemacguy

16

Zgadzam się z @Dilshan. Podjąłem również decyzję o wyborze ngx-bootstrap dla naszego nowego produktu. Po kilku badaniach odkryłem, że ngx jest bardziej dojrzały i stabilny do produkcji. ng-bootstrap jest w fazie rozwoju.

CoreUI.io to dobry zasób dla odniesienia. Posiada w pełni funkcjonalny przykładowy projekt CoreUI + Angular 5.x + ngx-bootstrap . Właściwie nauczyłem się ngx z tego projektu. Możesz przeglądać jego podgląd na żywo lub pobrać pakiet projektu.


8
Zależy od tego, jak zdefiniujesz „dojrzały”, ponieważ ngx-bootstrap nie ma nawet żadnego testu na niczym. Gdzie jako ng-bootstrap wydaje się mieć test na wszystko.
Ricki Runge

Dobrze wiedzieć, dziękuję za udostępnienie. Wierzę, że ng-bootstrap jest właściwą drogą. Wspomniałem o dojrzałości tylko dlatego, że została wydana tydzień temu. („ta biblioteka jest w toku ...”)
Jiping

4
W dzisiejszym ekosystemie opartym na otwartym kodzie źródłowym „dojrzałe” wydaje się oznaczać „wypuszczony ponad 2 miesiące temu”. ;)
Eric Soyke

9

Użyłem zarówno ngx-bootstrap (przez Valor), jak i ng-bootstrap (przez ng-boostrap). Oto moje dwa centy unikalnych funkcji, które z nich otrzymujesz:

ngx-bootstrap:

  1. Wbudowana obsługa animacji na prawie wszystkim (modale, akordeon, collpase, menu rozwijane, datepicker ...)
  2. Lepsza obsługa modalna (moduły zagnieżdżone, modalne jako usługa, modalne jako szablon)
  3. Sortable Component (z funkcją Drag & Drop)

ng-bootstrap:

  1. Funkcja nawigacji (Tabset został uznany za przestarzały)
  2. Wbudowany komponent Toast
  3. Rozmiar pakietu jest prawie pół razy większy niż ngx-bootstrap (Minified + Gzipped)

Możesz także porównać liczbę pobrań npm z npmtrends .

[Uwaga: Moja odpowiedź jest oparta na bieżącej najnowszej wersji, tj. Ngx-bootstrap v5.5.0 i ng-boostrap v6.0.0]


7

Jedną różnicą jest format używany przez ich selektor dat. ng-bootstrap używa obiektu, ale ngx-bootstrap zajmie ciąg, który jest o wiele łatwiejszy w użyciu.


7

ng-bootstrap nie wydaje się być obsługiwany - najwyższe żądanie jest dołączane do treści, a opiekun mówi, że nie pracuje nad projektem.

Zmieniłem wszystko na ngx-bootstrap



4

Nie tyle odpowiedź, co rozszerzony komentarz ...

Nie jestem pewien, czy zespoły będą niezależne. Uruchomiony npm view ngx-bootstrapi npm view ng-bootstrappokaż, że oba zostały opublikowane z tym samym kontem e-mail.

Myślę, że te dwa zespoły są powiązane.

npm zobacz 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>

Zobacz npm 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 to stara nazwa ngx-bootstrap . W przypadku ng-bootstrap.github.io nazwa pakietu npm to @ ng-bootstrap / ng-bootstrap , tj.npm view @ng-bootstrap/ng-bootstrap
atao

1
brzmi bardziej jak ten „valorkin” facet z ng-bootstrap i otworzył własny zespół „valor-software” dla ngx
Facundo Colombier
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.