11 Narzędzia do zarządzania zależnością dla programistów internetowych
Zależności są podstawą nowoczesnego tworzenia stron internetowych. Są to wymagane narzędzia, wtyczki, biblioteki i frameworki niezbędne do tworzenia aplikacji internetowych wysokiego poziomu.
Sama liczba zależności gwałtownie wzrosła w ciągu ostatnich kilku lat. Z czasem programiści przyjęli narzędzia do zarządzania zależnością, które złagodzić stres związany z organizowaniem i aktualizowaniem zależności. Narzędzia te prowadzą do zoptymalizowanego przepływu pracy dla programistów i kierowników projektów.
Skatalogowałem tutaj najlepsze narzędzia zależności, w tym zarówno ugruntowane, jak i nowo powstające platformy. Profesjonalne tworzenie stron internetowych wymaga ciągłego uczenia się i twierdzę, że zarządzanie zależnością to zestaw umiejętności, którego warto się nauczyć.
1. NPM
Nie mogłem napisać tego przewodnika, nie dając kredytu Menedżerowi pakietów Node. Zbudowany na Node.js, system ten zasila ogromne repozytorium Ponad 100 000 pakietów i modułów.
Każdy projekt może korzystać z konfiguracji pliku package.json za pośrednictwem NPM, a nawet zarządzać go za pomocą Gulp (w węźle). Zależności można aktualizować i optymalizować bezpośrednio z terminala. Możesz także tworzyć nowe projekty z plikami zależności i numerami wersji automatycznie pobieranymi z pliku package.json.
NPM jest cenny nie tylko do zarządzania zależnością, ale jest praktycznie niezbędnym narzędziem do nowoczesnego tworzenia stron internetowych. Jeśli jesteś zdezorientowany, sprawdź ten wątek Reddit, aby uzyskać wyjaśnienie dla początkującego.
2. Altana
System zarządzania pakietami Bower działa na NPM, który wydaje się trochę zbędny, ale istnieje różnica między nimi, zwłaszcza że NPM oferuje więcej funkcji, podczas gdy Bower ma na celu zmniejszenie rozmiaru plików i czasów ładowania dla zależności frontendowych.
Sprawdź to pytanie, aby dowiedzieć się więcej o subtelnych różnicach.
Niektórzy twierdzą, że Bower jest w zasadzie przestarzały, ponieważ działa na NPM, usłudze, która może zrobić prawie wszystko, co potrafi Bower. Ogólnie rzecz biorąc, nie jest to złe.
Deweloperzy powinni jednak zdawać sobie sprawę, że puszka Bowera zoptymalizuj przepływ pracy szczególnie w zależności od frontendu. Polecam artykuł Bena McCormicka „Bower Useful”, aby dowiedzieć się więcej o wartości oferowanej przez oba narzędzia do zarządzania pakietami.
3. RubyGems
RubyGems to menedżer pakietów dla Ruby z dużą popularnością wśród programistów. Projekt jest open source i zawiera wszystkie darmowe klejnoty Ruby.
Aby dać krótki przegląd dla początkujących, a “klejnot” to tylko niektóre kod działający w środowisku Ruby. Może to prowadzić do programów takich jak Bundler, które zarządzają wersjami klejnotów i aktualizują wszystko.
Deweloperzy Railsów pokochają tę funkcję, ale co z pakietami frontendowymi? Ponieważ Ruby jest open source, programiści mogą tworzyć projekty takie jak Bower for Rails. Dzięki temu zarządzanie pakietami frontendowymi odbywa się na platformie Ruby z niewielką krzywą uczenia się.
4. Wymaganie
W RequireJS jest coś wyjątkowego, ponieważ jest to przede wszystkim zestaw narzędzi JS. Może być używany do szybkie ładowanie modułów JS, w tym modułów Node.
RequireJS może automatycznie wykrywa wymagane zależności w oparciu o to, czego używasz, może to być podobne do klasycznego programowania w C / C ++, gdzie biblioteki są dołączane do dalszych bibliotek.
Znajdziesz interesującą dyskusję na temat GitHub na ten temat i wartość, jaką oferuje współczesnym programistom. Przyznano, że pojawiły się inne narzędzia do zarządzania JS, takie jak webpack, RequireJS nadal działa w środowiskach produkcyjnych. A jeśli to działa dla ciebie, to wszystko się liczy.
5. Jam
Zarządzanie pakietami oparte na przeglądarce jest dostępne w nowej formie z JamJS. Jest to menedżer pakietów JavaScript z automatycznym zarządzaniem podobny do RequireJS.
Wszystkie twoje zależności są wciągnięty do pojedynczego pliku JS, który umożliwia dodawanie i usuwanie szybko. Dodatkowo można je aktualizować w przeglądarce niezależnie od innych używanych narzędzi (takich jak RequireJS).
Biblioteki są aktualizowane na podstawie najnowszych wersji poprzez terminal. Każdy projekt może być tworzone automatycznie ze zoptymalizowanymi komponentami oparte na Twoje potrzeby. Jam jest darmowy na GitHub i warto go zobaczyć, jeśli masz czas.
6. Przeglądaj
Większość programistów zna Browserify, nawet jeśli nie jest częścią ich typowego przepływu pracy. Jest to kolejne narzędzie do zarządzania zależnościami, które optymalizuje wymagane moduły i biblioteki, łącząc je razem.
Te pakiety są obsługiwane w przeglądarce co oznacza, że możesz dołączaj i scalaj moduły ze zwykłym JavaScriptem. Wszystko, czego potrzebujesz, to NPM, aby zacząć, a następnie Browserify, aby się ruszyć.
Sprawdź ten samouczek wprowadzający, aby zobaczyć, jak można zarządzać węzłem bezpośrednio w przeglądarce. Na GitHubie dostępny jest także długi podręcznik Browserify. Pomysł polega na wprowadzeniu wszystkich narzędzi Node do przeglądarki i zaoszczędzeniu czasu dzięki automatyzacji procesu za pomocą Browserify.
7. Mantri
Wciąż na wczesnym etapie rozwoju, MantriJS jest systemem zależności dla aplikacji internetowych na średnim i wysokim poziomie. Zależności są zarządzane przez przestrzenie nazw i zorganizowane funkcjonalnie, aby uniknąć kolizji i ograniczyć bałagan.
Mantri jest obecnie w wersji 0.2.2 w momencie pisania. Jest całkowicie otwarte źródło i zbudowany dla bardziej złożonych aplikacji internetowych, które wymagają dużych pakietów zależności. Mantri dąży do przestrzegania modularnych praktyk programistycznych i ma nadzieję zachęcić programistów do tej samej ścieżki.
8. Volo
Narzędzie do zarządzania projektami volo to repozytorium NPM o otwartym kodzie źródłowym, które może tworzyć projekty, dodawać biblioteki i automatyzować przepływy pracy.
Volo działa wewnątrz Node i polega na JavaScript do zarządzania projektami. Krótki przewodnik wprowadzający można znaleźć w GitHub, wyjaśniając proces instalacji i powszechne użycie. Na przykład, jeśli uruchomisz polecenie volo utwórz
możesz umieścić dowolną bibliotekę, taką jak HTML5 Boilerplate.
Ale oprócz tworzenia nowych projektów możesz również dodaj / aktualizuj biblioteki dla starszych projektów. Volo łączy się ze wszystkim, czego potrzebujesz do rozwoju frontendu. Sprawdź cele projektowe volo, aby zobaczyć, jak działa w prawdziwym projekcie.
9. Ender
Ender jest “biblioteka bez biblioteki” i jest jednym z najlżejszych menedżerów pakietów, które znajdziesz w Internecie. Pozwala devs na przeszukuj pakiety JS i instaluj / kompiluj je bezpośrednio z wiersza poleceń. Ender jest uważany za “Młodsza siostra NPM” przez zespół dev.
Oczywiście cała struktura Endera jest dostępna za darmo na GitHub. To po prostu narzędzie, które instalujesz, aby pomóc zarządzaj zużyciem frameworków JavaScript dla lokalnych projektów. Wszystko ma działać z łatwością do pełnego potencjału przepływu pracy programisty frontendu.
Główna strona internetowa Endera ma dokumentację wysokiej jakości, więc warto ją zobaczyć, jeśli jesteś zainteresowany.
10. pip
Zalecaną metodą instalacji zależności Pythona jest pip. To narzędzie zostało stworzone przez Python Packaging Authority i jest całkowicie otwartym źródłem, podobnie jak sam Python.
Większość programistów Pythona poleca pip dla zależności, w tym dla zespołu Django. Niezależnie od tego, czy dopiero zaczynasz pracę z Pythonem, czy już używasz go konsekwentnie z rozwojem zaplecza, jest to menedżer pakietów, który będziesz zadowolony z zestawu narzędzi..
11. Kompozytor
Composer to menedżer pakietów bardzo podobny do NPM, ale koncentruje się wyłącznie na bibliotekach PHP. Możesz znaleźć listę zależności na Packagist, która zawiera duże frameworki PHP, takie jak Laravel.
Jeśli jesteś programistą PHP jakiegokolwiek rodzaju poważnie polecam zaglądanie do Composer. Jego łatwe do rozpoczęcia, ale trudne do dopasowania do twojego przepływu pracy. Jednak z praktyką stanie się podstawą dla projektów dev dev.
Jest to wszechstronne narzędzie o potencjale rosnącym w czasie. Plus NPM może łączyć się z Composer, aby utworzyć system zarządzania zależnością frontend + backend dla wszystkich projektów PHP / JS.
Zawijanie
Jasne jest, że wielu z tych menedżerów zależności ma podobne cechy o podobnych cechach. Niektóre są zbudowane rozwiązywać alternatywne problemy i może nawet działać w tandemie ze sobą (np. Composer i NPM).
Temat zarządzania zależnościami może być trudny dla nowych programistów. Zalecam wybranie jednego z tych narzędzi i dogłębne zbadanie, aby dowiedzieć się jak najwięcej. Spróbuj zbudować małe aplikacje internetowe i dowiedz się, dlaczego zarządzanie zależnością jest przydatne.
Gdy nauczysz się stosować te narzędzia w swoim obiegu pracy, nigdy nie będziesz rozważał powrotu.