Grunt i Gulp to w rzeczywistości programy uruchamiające zadania i mają różnice, takie jak zadania sterowane konfiguracją i transformacje oparte na strumieniu. Każdy z nich ma swoje mocne i słabe strony, ale pod koniec dnia w dużym stopniu pomagają one tworzyć zadania, które można uruchomić, aby rozwiązać większy problem z kompilacją. W większości przypadków nie mają one nic wspólnego z faktycznym czasem wykonywania aplikacji, ale raczej przekształcają lub umieszczają pliki, konfiguracje i inne rzeczy w miejscu, aby czas wykonywania działał zgodnie z oczekiwaniami. Czasami nawet uruchamiają serwery lub inne procesy potrzebne do uruchomienia aplikacji.
Webpack i Browserify to pakiety pakietów. Zasadniczo są one zaprojektowane do działania przez wszystkie zależności pakietu i łączenia ich źródła w jeden plik, który (najlepiej) może być używany w przeglądarce. Są ważne dla współczesnego tworzenia stron internetowych, ponieważ używamy tak wielu bibliotek zaprojektowanych do działania z Node.js i kompilatorem v8 . Ponownie, istnieją zalety i wady oraz różne powody, dla których niektórzy programiści wolą jeden lub drugi (lub czasami oba!). Zazwyczaj pakiety wyjściowe tych rozwiązań zawierają pewnego rodzaju mechanizmy ładowania początkowego, które pomagają uzyskać dostęp do właściwego pliku lub modułu w potencjalnie ogromnym pakiecie.
Rozmyta linia między programami uruchamiającymi a pakietami może polegać na tym, że programy pakujące mogą również wykonywać złożone transformacje lub translacje w czasie ich działania, dzięki czemu mogą robić kilka rzeczy, które mogą wykonywać zadania uruchamiające. W rzeczywistości między browserify a webpackiem jest prawdopodobnie około setki transformatorów , których możesz użyć do zmodyfikowania kodu źródłowego. Dla porównania, obecnie na npm jest co najmniej 2000 wtyczek gulp . Możesz więc zobaczyć, że istnieją jasne (miejmy nadzieję ...;)) definicje tego, co najlepiej pasuje do Twojej aplikacji.
Biorąc to pod uwagę, możesz zobaczyć złożony projekt, który faktycznie używa zarówno programów uruchamiających zadania, jak i pakietów pakietów w tym samym czasie lub w tandemie. Na przykład w moim biurze używamy gulp do rozpoczęcia naszego projektu, a webpack jest w rzeczywistości uruchamiany z określonego zadania gulp, które tworzy pakiety źródłowe, których potrzebujemy, aby uruchomić naszą aplikację w przeglądarce. A ponieważ nasza aplikacja jest izomorficzna , dołączamy również część kodu serwera .
Moim skromnym zdaniem, możesz chcieć zapoznać się z wszystkimi tymi technologiami, ponieważ są szanse, że zobaczysz je (użyjesz) w trakcie swojej kariery.