Trang chủ » Bộ công cụ » 11 Công cụ quản lý phụ thuộc cho nhà phát triển web

    11 Công cụ quản lý phụ thuộc cho nhà phát triển web

    Phụ thuộc là một nền tảng của phát triển web hiện đại. Đây là những công cụ, plugin, thư viện và khung cần thiết cần thiết để xây dựng các ứng dụng web cấp cao.

    Số lượng phụ thuộc tuyệt đối đã tăng vọt trong vài năm qua. Theo thời gian các nhà phát triển đã áp dụng các công cụ quản lý phụ thuộc giảm bớt căng thẳng của việc giữ cho các phụ thuộc được tổ chức và cập nhật. Những công cụ này dẫn đến một quy trình làm việc tối ưu hóa cho các nhà phát triển và quản lý dự án.

    Tôi đã lập danh mục các công cụ phụ thuộc tốt nhất ở đây bao gồm cả các nền tảng được thiết lập tốt và mới nổi. Phát triển web chuyên nghiệp đòi hỏi phải học hỏi liên tục và tôi cho rằng quản lý phụ thuộc là một kỹ năng đáng để học hỏi.

    1. NPM

    Tôi không thể viết hướng dẫn này mà không cung cấp tín dụng cho Trình quản lý gói Node. Được xây dựng trên Node.js, hệ thống này cung cấp một kho lưu trữ khổng lồ Hơn 100.000 gói và mô-đun.

    Mỗi dự án có thể sử dụng thiết lập tệp pack.json thông qua NPM và thậm chí được quản lý bằng Gulp (trên Node). Phụ thuộc có thể được cập nhật và tối ưu hóa ngay từ thiết bị đầu cuối. Và bạn có thể xây dựng các dự án mới với các tệp phụ thuộc và số phiên bản được tự động lấy từ tệp pack.json.

    NPM có giá trị không chỉ cho quản lý phụ thuộc và thực tế nó là một công cụ phải biết để phát triển web hiện đại. Nếu bạn bối rối, vui lòng kiểm tra chuỗi Reddit này để biết giải thích cho người mới bắt đầu.

    2. Cung cấp

    Hệ thống quản lý gói Bower chạy trên NPM có vẻ hơi dư thừa nhưng có một sự khác biệt giữa hai, đáng chú ý là NPM cung cấp nhiều tính năng hơn trong khi Bower nhắm đến giảm kích thước tập tin và thời gian tải cho phụ thuộc lối vào.

    Kiểm tra câu hỏi Stack này để tìm hiểu thêm về sự khác biệt tinh tế.

    Một số nhà phát triển cho rằng Bower về cơ bản đã lỗi thời vì nó chạy trên NPM, một dịch vụ có thể làm hầu hết mọi thứ mà Bower có thể làm. Nói chung điều này không sai.

    Nhưng các nhà phát triển nên nhận ra Bower có thể tối ưu hóa quy trình làm việc cụ thể với các phụ thuộc frontend. Tôi đề nghị bài viết của Ben McCormick là Bower Hữu ích để tìm hiểu thêm về giá trị được cung cấp từ cả hai công cụ quản lý gói.

    3. RubyGems

    RubyGems là một trình quản lý gói cho Ruby với sự phổ biến cao của các nhà phát triển web. Dự án này là nguồn mở và bao gồm tất cả các viên ngọc Ruby miễn phí.

    Để cung cấp một cái nhìn tổng quan ngắn gọn cho người mới bắt đầu, một “đá quý” chỉ là một số mã chạy trên môi trường Ruby. Điều này có thể dẫn đến các chương trình như Bundler quản lý các phiên bản đá quý và cập nhật mọi thứ.

    Các nhà phát triển Rails sẽ yêu thích tính năng này, nhưng còn các gói frontend thì sao? Vì Ruby là mã nguồn mở, các nhà phát triển có thể xây dựng các dự án như Bower for Rails. Điều này mang lại sự quản lý gói frontend cho nền tảng Ruby với một đường cong học tập nhỏ.

    4. Yêu cầu

    Có một điều đặc biệt về RequireJS ở chỗ nó chủ yếu là một bộ công cụ JS. Nó có thể được sử dụng cho tải các mô đun JS nhanh chóng bao gồm các mô đun Node.

    RequireJS có thể tự động phát hiện các phụ thuộc cần thiết dựa trên những gì bạn đang sử dụng để điều này có thể giống với lập trình phần mềm cổ điển trong C / C ++, nơi các thư viện được bao gồm trong các thư viện khác.

    Bạn sẽ tìm thấy một cuộc thảo luận GitHub thú vị về chủ đề này và giá trị mà nó mang lại cho các nhà phát triển web hiện đại. Được cấp các công cụ quản lý JS khác như webpack đã xuất hiện, RequireJS vẫn hoạt động trong môi trường sản xuất. Và nếu nó hiệu quả với bạn thì đó là tất cả những gì quan trọng.

    5. Mứt

    Quản lý gói dựa trên trình duyệt có hình thức mới với JamJS. Đây là trình quản lý gói JavaScript có quản lý tự động tương tự RequireJS.

    Tất cả các phụ thuộc của bạn là được kéo vào một tệp JS cho phép bạn thêm và xóa mục nhanh chóng. Ngoài ra, những thứ này có thể được cập nhật trong trình duyệt bất kể các công cụ khác mà bạn đang sử dụng (như RequireJS).

    Thư viện được cập nhật dựa trên các phiên bản mới nhất thông qua thiết bị đầu cuối. Mỗi dự án có thể được được tạo tự động với các thành phần được tối ưu hóa dựa trên bạn cần. Jam miễn phí trên GitHub và đáng xem nếu bạn có thời gian.

    6. Trình duyệt

    Hầu hết các nhà phát triển đều biết về Browserify ngay cả khi đó không phải là một phần trong quy trình làm việc điển hình của họ. Đây là một công cụ quản lý phụ thuộc khác giúp tối ưu hóa các mô-đun và thư viện cần thiết bằng cách kết hợp chúng lại với nhau.

    Những bó này là được hỗ trợ trong trình duyệt có nghĩa là bạn có thể bao gồm và hợp nhất các mô-đun với JavaScript đơn giản. Tất cả những gì bạn cần là NPM để bắt đầu và sau đó Browserify để di chuyển.

    Kiểm tra hướng dẫn giới thiệu này để xem cách Node có thể được quản lý ngay trong trình duyệt. Ngoài ra còn có một cẩm nang Browserify dài được lưu trữ trên GitHub miễn phí. Ý tưởng là đưa tất cả các công cụ Node này vào trình duyệt và tiết kiệm thời gian bằng cách tự động hóa quy trình với Browserify.

    7. Thần chú

    Vẫn trong giai đoạn đầu phát triển, MantriJS là một hệ thống phụ thuộc cho các ứng dụng web từ trung bình đến cao cấp. Sự phụ thuộc được quản lý thông qua các không gian tên và tổ chức chức năng để tránh va chạm và giảm sự lộn xộn.

    Mantri hiện đang ở v0.2.2 tại thời điểm viết. Nó hoàn toàn mã nguồn mởđược xây dựng cho các ứng dụng web phức tạp hơn đòi hỏi các gói phụ thuộc lớn. Mantri nhằm mục đích tuân theo các thực tiễn lập trình mô-đun và hy vọng sẽ khuyến khích các nhà phát triển trên cùng một con đường.

    8. Tập

    Công cụ quản lý dự án volo là một repo NPM nguồn mở có thể tạo dự án, thêm thư viện và tự động hóa quy trình công việc.

    Volo chạy bên trong Node và dựa vào JavaScript để quản lý dự án. Hướng dẫn giới thiệu ngắn gọn có thể được tìm thấy trên GitHub giải thích quá trình cài đặt và sử dụng phổ biến. Ví dụ: nếu bạn chạy lệnh tạo volo bạn có thể gắn bất kỳ thư viện nào như HTML5 Boilerplate.

    Nhưng ngoài việc tạo các dự án mới, bạn cũng có thể thêm / cập nhật thư viện cho các dự án cũ. Volo quan hệ với tất cả mọi thứ bạn cần để phát triển frontend. Kiểm tra các mục tiêu thiết kế của volo để xem cách nó hoạt động trong một dự án trong thế giới thực.

    9. Ender

    Ender là “thư viện không có thư viện” và là một trong những trình quản lý gói nhẹ nhất bạn sẽ tìm thấy trực tuyến. Nó cho phép các nhà phát triển tìm kiếm thông qua các gói JS và cài đặt / biên dịch chúng ngay từ dòng lệnh. Ender được coi là “Em gái của NPM” bởi nhóm phát triển.

    Đương nhiên, toàn bộ khung Ender có sẵn miễn phí trên GitHub. Nó chỉ đơn giản là một công cụ mà bạn cài đặt để giúp đỡ quản lý mức tiêu thụ của khung JavaScript frontend cho các dự án địa phương. Mọi thứ đều có nghĩa là chạy dễ dàng với tiềm năng tối đa cho quy trình làm việc của nhà phát triển frontend.

    Trang web chính của Ender có tài liệu chất lượng nên rất đáng để xem qua nếu bạn quan tâm.

    10. Pip

    Phương pháp được đề xuất để cài đặt phụ thuộc Python là thông qua pip. Công cụ này được tạo bởi Cơ quan đóng gói Python và nó hoàn toàn là nguồn mở giống như chính Python.

    Phần lớn các nhà phát triển Python đề xuất pip cho các phụ thuộc bao gồm nhóm Django. Cho dù bạn mới bắt đầu với Python hoặc đã sử dụng nó một cách nhất quán với phát triển phụ trợ, đây là trình quản lý gói bạn sẽ rất vui khi có trong hộp công cụ của mình.

    11. Nhà soạn nhạc

    Trình soạn thảo là trình quản lý gói rất giống với NPM, nhưng nó chỉ tập trung vào các thư viện PHP. Bạn có thể tìm thấy một danh sách các phụ thuộc trên Packagist, bao gồm các khung công tác PHP lớn như Laravel.

    Nếu bạn là nhà phát triển PHP của bất kỳ loại nào, tôi thực sự khuyên bạn nên tìm hiểu về Nhà soạn nhạc. nó là dễ dàng để bắt đầu nhưng khó phù hợp vào quy trình làm việc của bạn. Tuy nhiên, với thực tế, nó sẽ trở thành một yếu tố chính cho các dự án phát triển PHP.

    Đây là một công cụ đa năng với tiềm năng phát triển lớn hơn theo thời gian. Ngoài ra NPM có thể kết hợp với Trình soạn thảo để tạo hệ thống quản lý phụ thuộc frontend + phụ trợ cho tất cả các dự án PHP / JS của bạn.

    Kết thúc

    Rõ ràng nhiều người quản lý phụ thuộc này có những đặc điểm tương tự với phẩm chất tương tự. Một số được xây dựng để giải quyết các vấn đề thay thế và thậm chí có thể chạy song song với nhau (ví dụ: Trình soạn thảo và NPM).

    Chủ đề của quản lý phụ thuộc có thể khó khăn cho các nhà phát triển mới. Tôi khuyên bạn nên chọn một trong những công cụ này và nghiên cứu chuyên sâu để tìm hiểu càng nhiều càng tốt. Hãy thử xây dựng các ứng dụng web nhỏ và tìm hiểu tại sao quản lý phụ thuộc lại hữu ích.

    Khi bạn tìm hiểu cách áp dụng các công cụ này vào quy trình làm việc của mình, bạn sẽ không bao giờ cân nhắc việc quay lại.