Dưới đây là 5 thư viện JavaScript phù hợp nhất cho bất kỳ dự án Web frontend nào, kể cả khi bạn dùng React, Vue, Angular hay thậm chí là không dùng framework nào cả. Cùng xem nhé! 

 

 

1. Immer

Immer nghĩa là luôn luôn trong tiếng Đức, là một package nhỏ cho phép bạn làm việc với immutable state theo cách thuận tiện hơn. Immer dựa trên cơ chế copy-on-write.

Theo tài liệu về Immer:

Ý tưởng cơ bản là bạn sẽ áp dụng tất cả các thay đổi cho một DraftState tạm thời, là proxy của currentState. Khi đó, Immer sẽ tạo ra nextState dựa trên các thay đổi ở draft state. Nghĩa là bạn có thể chỉnh sửa trực tiếp data của mình trong khi vẫn giữ được tất cả lợi ích của immutable data.

Immer cho phép bạn tạo immutable state tree bằng cách chỉ cần sửa đổi trực tiếp vào state stree hiện tại. Việc xử lý state đôi khi có thể hơi khó khăn và lộn xộn, sử dụng Immer sẽ dễ dàng hơn rất nhiều. 

Khi dùng Immer bạn không cần phải học bất kỳ API mới nào - mà có thể tạo tính bất biến với các object, array, set và map quen thuộc trong JavaScript. 

Immer giúp cho việc xử lý state trở nên dễ dàng hơn rất nhiều, thực sự rất đáng thử. 

2. Lodash

Lodash giúp bạn làm việc với JavaScript dễ dàng hơn bằng cách loại bỏ những rắc rối khi làm việc với mảng, số, đối tượng và chuỗi. Với hơn 40 nghìn sao trên GitHub, Lodash là một thư viện phổ biến. Theo mô tả, Lodash là một thư viện tiện ích JavaScript hiện đại cung cấp tính năng mô-đun, hiệu suất và các tính năng bổ sung.

Lodash có thể tích hợp dễ dàng vào bất kỳ dự án JavaScript nào và là một trong những thư viện yêu thích của mình. Với Lodash, code của bạn sẽ dễ đọc hơn và dễ bảo trì hơn. Mình thực sự khuyên bạn nên thử dùng Lodash 👍🏻 

3. Jest

Testing là điều tuyệt đối bắt buộc khi code. Đó chính xác là lý do tại sao Jest phải có mặt trong danh sách này. Jest là một testing framework JavaScript tập trung vào tính đơn giản. Jest đi kèm với tất cả các tính năng mà bạn mong đợi từ một testing framework như code coverage, mocking và tài liệu đầy đủ.

Jest cho phép bạn viết các unit test cho code của bạn bằng một API rất dễ hiểu và trực quan. Nếu bạn đã từng viết các unit test trước đó thì việc này sẽ khá dễ dàng. 

Trên hết, Jest đi kèm với một hình thức kiểm tra khác: kiểm tra ảnh chụp nhanh (snapshot). Kiểm tra snapshot rất tốt khi bạn đang sử dụng các component - ví dụ: khi bạn đang làm việc với React, Vue hoặc Angular.

Nhưng kiểm tra snapshot là gì? Đây là những gì tài liệu nói về kiểm tra snapshot:

Kiểm tra snapshot hiển thị một thành phần giao diện người dùng, chụp ảnh nhanh, sau đó so sánh nó với tệp ảnh chụp nhanh tham chiếu được lưu trữ cùng test. Kiểm tra sẽ không thành công nếu hai ảnh chụp nhanh không khớp: hoặc thay đổi là không đúng hoặc ảnh chụp nhanh tham chiếu cần được cập nhật lên phiên bản mới của thành phần giao diện người dùng

Jest được tạo bởi Facebook và có hơn 30 nghìn sao trên GitHub, đây là một con số khá lớn đối với testing framework. 

4. Storybook

Storybook là một công cụ tuyệt vời khi bạn muốn phát triển các thành phần UI một cách riêng biệt. Storybook cho phép bạn làm việc đồng thời trên một component. Bạn không cần tạo ra một complex dev stack để làm việc trên các component. Tất cả những gì bạn cần là một lệnh khởi động storybook.

Nhưng chính xác thì một story là gì? Đây là những gì tài liệu viết về các story:

Một story ghi lại trạng thái hiển thị của một UI component. Các nhà phát triển viết nhiều story cho mỗi component mô tả tất cả những state “thú vị” mà một component có thể hỗ trợ.

Mỗi component lại có nhiều story, với mỗi story mô tả state chứa các component. Nghĩa là bạn sẽ có các story mô tả kịch bản đẹp cũng như các story đề cập đến các trường hợp sử dụng đặc biệt hơn. Bất cứ khi nào bạn làm việc trên một component, bạn sẽ thấy được những thay đổi ngay lập tức.

Storybook hoạt động đặc biệt tốt khi kết hợp với Jest. Vì Storybook tách riêng sự phát triển của các UI component của bạn, nên việc viết thử nghiệm cho các component riêng này thực sự dễ. Đảm bảo tạo các kiểm tra snapshot cho các component. Kiểm tra snapshot là một công cụ rất hữu ích bất cứ khi nào bạn muốn đảm bảo cho UI không thay đổi bất ngờ.

Storybook có hơn 50 nghìn sao trên GitHub, được các nhà phát triển đánh giá rất cao.

5. Moment.js

Nếu bạn phải tính ngày hoặc giờ làm việc, có lẽ bạn đã phải vật lộn với việc định dạng, xác thực hoặc xử lý các múi giờ khác nhau. Nhưng với moment.js thì không cần phải vậy. Thư viện này là giải pháp toàn diện cho tất cả các vấn đề bạn từng gặp phải về ngày và giờ.

Ngoài ra, nó đi kèm với hàng tá tính năng, chẳng hạn như hỗ trợ quốc tế hóa. Bạn có thể tải nhiều ngôn ngữ và dễ dàng chuyển đổi giữa chúng. Với gần 45 nghìn sao trên GitHub, đây là thư viện phổ biến nhất khi nói đến việc xử lý ngày và giờ.

Bài viết dịch từ đây