Яка різниця між "ng-bootstrap" і "ngx-bootstrap"?


231

Яка різниця між "ng-bootstrap" і "ngx-bootstrap"? Чи пов’язані вони між собою? Або вони просто паралельні реалізації?

Хтось працював з ними обома і може дати / пояснити плюси та мінуси обох?

Під "ng-bootstrap" я маю на увазі https://ng-bootstrap.github.io/#/home і

під "ngx-bootstrap" я маю на увазі http://valor-software.com/ngx-bootstrap/ .

Обидва стосуються Angular 4 ( не для AngularJS! ) Та Bootstrap 4.

Зверніть увагу, що це не дублюване питання про різницю між ngx-bootstrap і ng2 bootstrap? .


17
ngx-bootstrapsuppprts bootstrap 3 & 4, в той час як ng-bootstrap(ui-bootstrap в AngularJs) підтримує лише завантажувальний пристрій 4.
developer033

1
Я думаю, що відповідь @snorkpete заслуговує на те, щоб її було встановлено як правильну відповідь, йому знадобився час, щоб знайти відповідь і написати її. це хороша культура, щоб повернутися і прочитати відповіді на своє запитання, яке ви розмістили в stackoverflow, а потім перегляньте їх, і якщо вас задовольнив один, виберіть це як правильну відповідь
hossein bakhtiari

Відповіді:


213

ng-bootstrap і ngx-bootstrap - це два різних проекти двох різних команд проектів, які намагаються виконати більш-менш одне і те ж - дозволяючи використовувати Bootstrap у кутовій (2+) без використання jQuery.

Вони обидва відновлюють компоненти Bootstrap, використовуючи лише Angular (без jQuery). Основні відмінності полягають у тому, яку версію Bootstrap вони підтримують.

  • ngx-bootstrap підтримує Bootstrap 3 і 4.
  • ng-bootstrap підтримує Bootstrap 4 і вимагає Angular 5+.

Це означає, що якщо вам потрібно використовувати Bootstrap версії 3, то ngx-bootstrap - ваш єдиний реальний варіант із двох. Якщо ви можете використовувати Bootstrap 4, ви можете обирати між двома проектами.

Інша (потенційно значна) різниця - це команди, які стоять за проектами. Ключовий момент, який слід зазначити в цьому плані, полягає в тому, що команда, що стоїть за ng-bootstrap, також відповідала за кутову (англ. Ui-bootstrap) версію AngularJS (тобто 1.x) бібліотеки Bootstrap.


3
Це питання для ведучих двох команд. Ззовні дивлячись на це, вони мають дещо інші цілі, тож я здогадуюсь, що це має щось
спільне

Чи буде це проблемою, якщо ми включили обидві бібліотеки в наш кутовий проект? Якщо так, то які питання очікуються?
RITZ XAVI

ймовірно, можливо, але здається, що це зайве. Якщо вас це не так турбує, і ви використовуєте Bootstrap 4, просто виберіть його (випадково, якщо вам доведеться).
snorkpete

38

Я думав над тим, що використовувати для свого проекту, а потім порівнюючи обидва проекти, я вважаю, що ngx-bootstrap від valor-software є кращим варіантом, оскільки в нього є вбудована анімація в його модальний компонент. Ng-bootstrap анімації все ще немає, модальний спливаюче вікно без анімації - головний облом. Інша причина полягає в тому, що Ng-bootstrap все ще знаходиться в бета-версії, і я не зміг його використати для мого виробничого застосування при порівнянні з ngx-bootstrap, у якого вже вийшла версія кандидата на реліз (22.12.2017). Однак я бажаю удачі обом проектам і сподіваюся, що вони знайдуть надійні рішення.


3
Ng-bootstrap 1.0.0 тепер доступний, і компілятор AOT будує без проблем. Дивіться github.com/ng-bootstrap/ng-bootstrap/blob/master/CHANGELOG.md
Stevethemacguy

16

Погодьтеся з @Dilshan. Я також прийняв рішення вибрати ngx-bootstrap для нашого нового продукту. Після деяких досліджень я виявив, що ngx є більш зрілим і стабільним для виробництва. ng-bootstrap знаходиться в стадії розробки.

Хороший ресурс для довідки, CoreUI.io має повнофункціональний зразок CoreUI + Angular 5.x + ngx-bootstrap . Я фактично дізнався ngx з цього проекту. Ви можете переглянути його попередній перегляд або завантажити пакет проекту.


8
Залежить від того, як ви визначаєте "зрілий", оскільки ngx-bootstrap навіть не має жодного тесту на що-небудь. Де, як здається, ng-bootstrap має тест на все.
Рікі Рунж

Приємно знати, дякую за обмін. Я вважаю, що ng-bootstrap - це правильний шлях. Я згадав про зрілість лише тому, що він тільки що вийшов тиждень тому. ("у цій бібліотеці незавершена робота ...")
Jiping

4
У сьогоднішній екосистемі з відкритим кодом з відкритим кодом, зрілий зараз, мабуть, означає "випущений більше 2 місяців тому". ;)
Ерік Сойке

9

Я використовував і ngx-bootstrap (від Valor), і ng-bootstrap (від ng-boostrap). Ось два мої центи унікальних функцій, які ви отримуєте від них:

ngx-bootstrap:

  1. Підтримка вбудованої анімації майже на всьому (модалі, акордеон, коллапаза, спадне меню, панель дат ...)
  2. Краща підтримка Modal (вкладені модалі, модальні як послуга, модальні як шаблон)
  3. Сортируваний компонент (із функцією перетягування та опускання)

ng-bootstrap:

  1. Nav Feature (Tabset був застарілий)
  2. Компонент Builtin Toast
  3. Розмір упаковки майже вдвічі перевищує ngx-bootstrap (Minified + Gzipped)

Ви також можете порівнювати кількість завантажень npm для npmtrends .

[Примітка: моя відповідь базується на останній останній версії, тобто ngx-bootstrap v5.5.0 та ng-boostrap v6.0.0]


7

Одна відмінність полягає у форматі, який використовується їх вибором дати. ng-bootstrap використовує об'єкт, але ngx-bootstrap візьме рядок, який простіше використовувати.


7

Схоже, що ng-bootstrap не підтримується - головний запит - додаток до органу, і технічний керівник каже, що не працює над проектом.

Я переключав все на ngx-bootstrap


7

Ng-bootstrap, згаданий у запитанні (той, який знаходиться на https://ng-bootstrap.github.io ), не є пакетом npm ng-bootstrap.

Натомість пакет npm - це @ ng-bootstrap / ng-bootstrap

Його розробляє інша команда.

$ npm view @ ng-bootstrap / ng-bootstrap

@ ng-bootstrap / ng-bootstrap @ 3.2.0 | MIT | відвали: 1 | версії: 61 Кутовий завантажувач https://github.com/ng-bootstrap/ng-bootstrap#readme

Пакет npm ng-bootstrap виглядає, як справді, старшою версією ngx-bootstrap.


4

Не стільки відповідь, скільки розширений коментар ...

Я не так впевнений, що команди незалежні. Запуск npm view ngx-bootstrapта npm view ng-bootstrapпоказ, що обидва були опубліковані з одним і тим же обліковим записом електронної пошти.

Я думаю, що дві команди пов'язані.

npm перегляд 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 перегляд 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 - стара назва для ngx-bootstrap . Для ng-bootstrap.github.io назва пакету npm - це @ ng-bootstrap / ng-bootstrap , тобтоnpm view @ng-bootstrap/ng-bootstrap
atao

1
звучить більше, як хлопець "valorkin" був з ng-bootstrap і відкрив власну команду "доблесне програмне забезпечення" для ngx
Facundo Colombier
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.