264 votes

Quelle est la différence entre "ng-bootstrap" et "ngx-bootstrap"?

Quelle est la différence entre ng-bootstrap et ngx-bootstrap? Sont-ils liés l'un à l'autre? Ou sont-ils simplement des implémentations concurrentes?

Est-ce que quelqu'un a travaillé avec les deux et peut donner/expliquer les avantages et les inconvénients de chacun?

Avec ng-bootstrap, je fais référence à ng-bootstrap.github et

avec ngx-bootstrap, je fais référence à valor-software-ngx-bootstrap.

Les deux sont liés à Angular 4 (pas à AngularJS!) et Bootstrap 4.

Veuillez noter qu'il ne s'agit pas d'une question dupliquée de différence entre ngx-bootstrap et ng2-bootstrap?.

17 votes

ngx-bootstrap prend en charge bootstrap 3 & 4, tandis que ng-bootstrap (ui-bootstrap dans AngularJs) ne prend en charge que bootstrap 4.

2 votes

Je pense que la réponse de @snorkpete mérite d'être définie comme une réponse correcte, il a pris le temps de trouver une réponse et de l'écrire. Il est bon de revenir et de lire les réponses à votre question que vous avez posée sur stackoverflow, puis de les examiner et si vous êtes satisfait de l'une d'elles, de la choisir comme réponse correcte

250voto

Snorkpete Points 75

Ng-bootstrap et ngx-bootstrap sont deux projets différents développés par deux équipes de projet différentes qui tentent d'accomplir plus ou moins la même chose - vous permettre d'utiliser Bootstrap dans Angular (2+) sans utiliser jQuery.

Ils reconstruisent tous deux les composants Bootstrap en utilisant uniquement Angular (pas de jQuery). Les principales différences résident dans la version de Bootstrap qu'ils supportent.

  • ngx-bootstrap prend en charge Bootstrap 3 et 4.
  • ng-bootstrap prend en charge Bootstrap 4 et nécessite Angular 5+.

Cela signifie que si vous avez besoin d'utiliser la version 3 de Bootstrap, alors ngx-bootstrap est votre seule réelle option parmi les deux. Si vous pouvez utiliser Bootstrap 4, alors vous pouvez choisir entre les deux projets.

L'autre différence (potentiellement significative) est les équipes derrière les projets. Le point clé à noter à cet égard est que l'équipe derrière ng-bootstrap était également responsable de angular-ui-bootstrap - la version AngularJS (c'est-à-dire 1.x) de la bibliothèque Bootstrap.

3 votes

C'est une question pour les deux chefs d'équipe. De l'extérieur, ils ont des objectifs légèrement différents, donc je suppose que c'est ce qui en est la cause, mais ce ne sont que des conjectures de ma part.

0 votes

Est-ce que cela poserait problème si nous incluons les deux bibliothèques dans notre projet Angular ? Si oui, quels types de problèmes sont attendus ?

0 votes

Probable, mais semble être exagéré. Si vous ne vous en souciez pas autant et que vous utilisez Bootstrap 4, choisissez simplement l'un d'entre eux (au hasard si nécessaire).

42voto

Dilshan Liyanage Points 435

J'ai réfléchi à ce que j'allais utiliser pour mon projet, et après avoir comparé les deux projets, je pense que ngx-bootstrap de valor-software est une meilleure option car il intègre des animations dans son composant modal. Avec Ng-bootstrap, l'animation n'est toujours pas présente, donc un modal qui apparaît sans animation est vraiment décevant. Une autre raison est que Ng-bootstrap est encore en version bêta et je n'ai pas pu l'utiliser pour mon application de production en comparaison avec ngx-bootstrap qui a déjà une version candidate à la publication (12.22.2017). Cependant, je souhaite bonne chance aux deux projets et espère qu'ils proposeront des solutions solides.

3 votes

Ng-bootstrap 1.0.0 est désormais disponible et le compilateur AOT se construit sans problème. Voir github.com/ng-bootstrap/ng-bootstrap/blob/master/CHANGELOG.m‌​d

17voto

Jiping Points 198

D'accord avec @Dilshan. J'ai également pris la décision de choisir ngx-bootstrap pour notre nouveau produit. Après quelques recherches, j'ai trouvé que ngx est plus mature et stable pour la production. ng-bootstrap est en cours de développement.

Une bonne ressource de référence, CoreUI.io propose un projet exemple complet CoreUI + Angular 5.x + ngx-bootstrap. J'ai en fait appris ngx à partir de ce projet. Vous pouvez consulter son aperçu en direct ou télécharger le package du projet.

11 votes

Dépend de la façon dont vous définissez "mature", car ngx-bootstrap n'a même pas un seul test sur quoi que ce soit. Alors que ng-bootstrap semble avoir des tests sur tout.

0 votes

Bonne à savoir, merci pour le partage. Je crois que ng-bootstrap est la bonne voie à suivre. J'ai mentionné la maturité uniquement parce qu'elle vient de sortir il y a une semaine. ("cette bibliothèque est en cours de développement...")

4 votes

Dans l'écosystème open source de front-end d'aujourd'hui, le terme « mature » semble maintenant signifier « sorti il y a plus de 2 mois ». ;)

8voto

BBaysinger Points 1613

Une différence réside dans le format utilisé par leur sélecteur de date. ng-bootstrap utilise un objet, tandis que ngx-bootstrap prendra une chaîne de caractères, ce qui est beaucoup plus facile à utiliser.

8voto

Steve Points 45

Ng-bootstrap ne semble pas être pris en charge - la demande principale est appendTo body et le mainteneur dit qu'il ne travaille pas sur le projet.

J'ai tout changé pour ngx-bootstrap

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X