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? .

wolfrevo
źródło
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.

snorkpete
źródło
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.

Dilshan Liyanage
źródło
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.

Jiping
źródło
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]

Imtiaz Shakil Siddique
źródło
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.

BBaysinger
źródło
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

Steve
źródło
7

Ng-bootstrap, o którym mowa w pytaniu (ten pod adresem https://ng-bootstrap.github.io ) nie jest pakietem npm ng-bootstrap.

Zamiast tego pakiet npm to @ ng-bootstrap / ng-bootstrap

Opracowuje go inny zespół.

$ npm view @ ng-bootstrap / ng-bootstrap

@ ng-bootstrap / ng-bootstrap @ 3.2.0 | MIT | deps: 1 | wersje: 61 Bootstrap zasilany kątowo https://github.com/ng-bootstrap/ng-bootstrap#readme

Pakiet npm ng-bootstrap wygląda na naprawdę starszą wersję ngx-bootstrap.

Thor
źródło
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

[email protected] | 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 <[email protected]>

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

published a month ago by valorkin <[email protected]>

Zobacz npm ng -bootstrap

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

[email protected] | 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 <[email protected]>
- ng-bootstrap <[email protected]>

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

published a year ago by valorkin <[email protected]>
Zarepheth
źródło
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