Was ist der Unterschied zwischen "ng-bootstrap" und "ngx-bootstrap"?

231

Was ist der Unterschied zwischen "ng-bootstrap" und "ngx-bootstrap"? Sind sie miteinander verwandt? Oder handelt es sich einfach um gleichzeitige Implementierungen?

Hat jemand mit beiden zusammengearbeitet und kann Vor- und Nachteile von beiden erklären?

Mit "ng-bootstrap" meine ich https://ng-bootstrap.github.io/#/home und

mit "ngx-bootstrap" meine ich http://valor-software.com/ngx-bootstrap/ .

Beide bezogen sich auf Angular 4 ( nicht auf AngularJS! ) Und Bootstrap 4.

Bitte beachten Sie, dass dies keine doppelte Frage des Unterschieds zwischen ngx-bootstrap und ng2 bootstrap ist. .

Wolfrevo
quelle
17
ngx-bootstrapunterstützt Bootstrap 3 & 4, während ng-bootstrap(UI-Bootstrap in AngularJs) nur Bootstrap 4 unterstützt.
Developer033
1
Ich denke, @snorkpete Antwort verdient es, als richtige Antwort festgelegt zu werden. Er nahm sich Zeit, um eine Antwort zu finden und sie zu schreiben. Es ist eine gute Kultur, zurück zu kommen und die Antworten auf Ihre Frage zu lesen, die Sie in stackoverflow gestellt haben, und sie dann zu überprüfen. Wenn Sie mit einer zufrieden sind, wählen Sie diese als richtige Antwort
hossein bakhtiari

Antworten:

213

ng-bootstrap und ngx-bootstrap sind zwei verschiedene Projekte von zwei verschiedenen Projektteams, die versuchen, mehr oder weniger dasselbe zu erreichen. So können Sie Bootstrap in Angular (2+) ohne die Verwendung von jQuery verwenden.

Beide erstellen die Bootstrap-Komponenten nur mit Angular (kein jQuery) neu. Die Hauptunterschiede bestehen darin, welche Bootstrap-Version sie unterstützen.

  • ngx-bootstrap unterstützt Bootstrap 3 und 4.
  • ng-bootstrap unterstützt Bootstrap 4 und erfordert Angular 5+.

Dies bedeutet, dass ngx-bootstrap Ihre einzige echte Option ist, wenn Sie Bootstrap Version 3 verwenden müssen. Wenn Sie Bootstrap 4 verwenden können, können Sie zwischen den beiden Projekten wählen.

Der andere (möglicherweise signifikante) Unterschied sind die Teams hinter den Projekten. Der wichtigste Punkt in diesem Zusammenhang ist, dass das Team hinter ng-bootstrap auch für angle-ui-bootstrap verantwortlich war - die AngularJS-Version (dh 1.x) der Bootstrap-Bibliothek.

Schnorchel
quelle
3
Das ist eine Frage für die beiden Teamleiter. Von außen betrachtet haben sie leicht unterschiedliche Ziele, also würde ich vermuten, dass das etwas damit zu tun hat, aber das ist nur eine Vermutung von meiner Seite
Schnorchler
Wäre es ein Problem, wenn wir beide Bibliotheken in unser Winkelprojekt aufnehmen würden? Wenn ja, welche Probleme werden erwartet?
RITZ XAVI
wahrscheinlich möglich, scheint aber übertrieben. Wenn Sie sich nicht so sehr darum kümmern und Bootstrap 4 verwenden, wählen Sie einfach einen aus (zufällig, wenn Sie müssen).
Schnorchel
38

Ich habe darüber nachgedacht, was ich für mein Projekt verwenden soll, und nachdem ich beide Projekte verglichen habe, denke ich, dass ngx-bootstrap von valor-software eine bessere Option ist, da die modale Komponente eine Animation enthält. Ng-Bootstrap die Animation ist immer noch nicht vorhanden. Ein Modal, das ohne Animation auftaucht, ist ein großer Mist. Ein weiterer Grund ist, dass sich Ng-bootstrap noch in der Beta-Phase befindet und ich es im Vergleich zu ngx-bootstrap, für das bereits eine Release Candidate-Version (12.22.2017) verfügbar ist, nicht für meine Produktionsanwendung verwenden konnte. Ich wünsche beiden Projekten jedoch viel Glück und werde hoffentlich solide Lösungen finden.

Dilshan Liyanage
quelle
3
Ng-bootstrap 1.0.0 ist jetzt verfügbar und der AOT-Compiler wird ohne Probleme erstellt. Siehe github.com/ng-bootstrap/ng-bootstrap/blob/master/CHANGELOG.md
Stevethemacguy
16

Stimmen Sie mit @Dilshan überein. Ich habe mich auch für ngx-bootstrap für unser neues Produkt entschieden. Nach einigen Recherchen stellte ich fest, dass ngx reifer und stabiler für die Produktion ist. ng-bootstrap befindet sich in der Entwicklung.

CoreUI.io ist eine gute Referenzquelle und verfügt über ein voll funktionsfähiges CoreUI + Angular 5.x + ngx-Bootstrap-Beispielprojekt . Ich habe ngx aus diesem Projekt gelernt. Sie können die Live-Vorschau durchsuchen oder das Projektpaket herunterladen.

Jiping
quelle
8
Hängt davon ab, wie Sie "ausgereift" definieren, da ngx-bootstrap nicht einmal einen einzigen Test für irgendetwas hat. Wobei als ng-bootstrap anscheinend alles getestet ist.
Ricki Runge
Gut zu wissen, danke fürs Teilen. Ich glaube, ng-bootstrap ist der richtige Weg. Ich habe die Reife nur erwähnt, weil sie erst vor einer Woche veröffentlicht wurde. ("Diese Bibliothek ist in Arbeit ...")
Jiping
4
Im heutigen Open-Source-Front-End-Ökosystem scheint ausgereift jetzt "vor mehr als zwei Monaten veröffentlicht" zu bedeuten. ;)
Eric Soyke
9

Ich habe sowohl ngx-bootstrap (von Valor) als auch ng-bootstrap (von ng-boostrap) verwendet. Hier sind meine zwei Cent der einzigartigen Funktionen, die Sie von ihnen erhalten:

ngx-bootstrap:

  1. Integrierte Animationsunterstützung für fast alles (Modal, Akkordeon, Collpase, Dropdown, Datepicker ...)
  2. Bessere Modalunterstützung (verschachtelte Modalitäten, Modal als Dienst, Modal als Vorlage)
  3. Sortierbare Komponente (mit Drag & Drop-Funktion)

ng-bootstrap:

  1. Navigationsfunktion (Tabset ist veraltet)
  2. Eingebaute Toastkomponente
  3. Die Paketgröße ist fast halb so hoch wie die von ngx-bootstrap (Minified + Gzipped).

Sie können auch die Anzahl der npm-Downloads mit den npmtrends vergleichen .

[Hinweis: Meine Antwort basiert auf der aktuellen Version, dh ngx-bootstrap v5.5.0 und ng-boostrap v6.0.0]

Imtiaz Shakil Siddique
quelle
7

Ein Unterschied besteht im Format, das von der Datumsauswahl verwendet wird. ng-bootstrap verwendet ein Objekt, aber ngx-bootstrap verwendet eine Zeichenfolge, die viel einfacher zu verwenden ist.

BBaysinger
quelle
7

ng-bootstrap scheint nicht unterstützt zu werden - die oberste Anforderung ist appendTo body und der Betreuer sagt, dass er nicht an dem Projekt arbeitet.

Ich habe alles auf ngx-bootstrap umgestellt

Steve
quelle
7

Der in der Frage genannte ng-bootstrap (der unter https://ng-bootstrap.github.io ) ist nicht das npm-Paket ng-bootstrap.

Stattdessen lautet das npm-Paket @ ng-bootstrap / ng-bootstrap

Es wird von einem anderen Team entwickelt.

$ npm view @ ng-bootstrap / ng-bootstrap

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

Das npm-Paket ng-bootstrap scheint tatsächlich eine ältere Version von ngx-bootstrap zu sein.

Thor
quelle
4

Nicht so sehr eine Antwort als ein erweiterter Kommentar ...

Ich bin mir nicht so sicher, ob die Teams unabhängig sind. Laufen npm view ngx-bootstrapund npm view ng-bootstrapzeigen, dass beide mit demselben E-Mail-Konto veröffentlicht wurden.

Ich denke, die beiden Teams sind verwandt.

npm view 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]>

npm view 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
quelle
9
ng-bootstrap ist ein alter Name für ngx-bootstrap . Für ng-bootstrap.github.io lautet der Name des npm-Pakets @ ng-bootstrap / ng-bootstrap , dhnpm view @ng-bootstrap/ng-bootstrap
atao
1
klingt eher so, als ob "valorkin" von ng-bootstrap war und sein eigenes team "valor-software" für ngx eröffnete
Facundo Colombier