2013-03-24 14 views
23

Istnieją dwa menedżery pakietów dla JavaScriptu po stronie klienta, ale jak się z nimi porównują? Czy ktoś mógłby wytłumaczyć, na kogo celuje?Jam vs Bower, jaka jest różnica?

+1

Istnieje wiele więcej niż dwa. https://github.com/component/component, i npm do nazwania niektórych, są również aktywnie używane dla pakietów po stronie klienta. Krótka odpowiedź, wciąż jest to niespokojna przestrzeń. – generalhenry

+0

Na lepszą lub gorszą stronę witryny [component] (http://component.io/) brakuje informacji. –

+0

Zrobił dobry wpis na blogu, wyjaśniając myślenie stojące za nim: http://tjholowaychuk.com/post/27984551477/components – generalhenry

Odpowiedz

20

jak inni wymienionych w komentarzach już istnieje kilka alternatyw w tej przestrzeni poza tylko Jam i Bower.

  • Komponent
  • Ender
  • Volo

Obie mają na celu zapewnić sposób pakować swoje aktywa i zarządzania zależnościami między nimi dla klienta. Wydaje się, że zarówno Bower, jak i Jam zadebiutowali w 2012 roku - odpowiednio wrzesień i maj.

Oba są dostępne przez węzeł/npm i jeśli wszystko, co chcesz zrobić, to rozwiązać zależności między bibliotekami publicznymi, takimi jak szkielet, podkreślenie, jquery itp. Dla twojej aplikacji, wtedy albo rozwiązanie zadziała i pozwoli ci na kilka podstawowych opcji kontrolowania wersji , gdzie umieścić go w projekcie i sprawdzać aktualizacje.

Co się zmieniło - Bower jest nieco niższy niż Jam, dzięki czemu jest bardziej użyteczny dla szerszej publiczności. Możesz tworzyć komponenty altanowe dla więcej niż tylko bibliotek JavaScript. Jam skupia się bardziej wyłącznie na bibliotekach JavaScript w stylu AMD. Za pomocą Jam możesz określić swoje zależności w pliku package.json, którego używałbyś już z komponentami npm, podczas gdy Bower wybrał komponent.json według konwencji. Ograniczeniem z Bower jest to, że pobiera on tylko twoje zależności, wciąż potrzebujesz systemu kompilacji, jeśli chcesz używać Require.js lub innych rozwiązań, które Jam wybrał, aby otrzymać za darmo. Bower otrzymuje wsparcie od Twittera i kilku innych projektów (Ender, Yeoman).

Przeprosiny, jeśli jest to nieprawidłowe, ale jednym z dodatkowych ograniczeń Jam jest brak możliwości tworzenia własnych komponentów do dystrybucji w prywatnym repozytorium. To jest coś, co Bower pozwala skonfigurować jako punkt końcowy w .bowerrc, ale jak dotąd znalazłem sposób, aby to zrobić w Jam. Być może nie przeszukałem wystarczająco dobrze, ale wygląda na to, że istnieje przynajmniej jedno rozwidlenie dla prywatnego zacięcia.

kilku innych dobrze brzmi:

+3

Dla każdego potykającego się o to pytanie, ważne jest, aby zauważyć, że altana przechodzi z component.json do altany. json dla swoich plików konfiguracyjnych. https://groups.google.com/forum/?fromgroups#!topic/twitter-bower/Dcq8G0en1WI –

+1

z dżemem możesz hostować swoje własne lokalne repozytoria https://github.com/caolan/jam#running-your-own -prywatne repozytorium lub lustro –

5

Korzystanie następujący podział niektórych popularnych menedżerów pakietów można zdecydować, co chcesz używać w was rozwoju.Porównuje factos jak

  • czy menedżer wykorzystuje package.json lub inną formę deskryptorze
  • jakie funkcje nie obsługuje (rusztowania, kompilacja, posiadające centralny rejestr)
  • prędkość
  • forma wsparcia opakowań (js tylko, js i css, js HTML i CSS)
  • typy modułów obsługiwana
  • i oczywiście jakieś notatki na podstawie osobistego punktu widzenia

https://github.com/wilmoore/frontend-packagers

Powiązane problemy