Which JS library should you use?
Có một số lượng lớn các thư viện ngoài kia, và đối với bất kỳ bit chức năng nhất định nào, có khả năng nhiều thư viện thực hiện bit chức năng đó. Ví dụ, có rất nhiều thư viện chọn ngày ở ngoài đó, có những bài viết như "Top 15 jQuery DatePickers" để cố gắng giúp các nhà phát triển chọn từ chúng.
Nhưng quá nhiều sự lựa chọn có thể biến thành tê liệt quyết định cho các nhà phát triển web của chúng tôi. Làm thế nào để chúng ta biết cái nào là tốt nhất? Nếu chúng ta lựa chọn sai thì sao?
Thường không có một "sự lựa chọn tốt nhất" nào trong phát triển web. Nhưng thường có những lựa chọn tốt hơn những người khác và suy nghĩ thông qua những cân nhắc dưới đây có thể giúp bạn đưa ra lựa chọn tốt hơn.
Do thư viện JS thường được sử dụng khi phát triển sản phẩm hướng tới người dùng, những cân nhắc này sẽ thỏa mãn hai đối tượng: các nhà phát triển phải mã hóa và duy trì mã sử dụng thư viện (như bạn!) Và người dùng sẽ tương tác với nó.
Nó sẽ là một kinh nghiệm phát triển tốt?
- Tài liệu tốt : Nên dễ dàng tìm thấy một tài liệu tham khảo về chữ ký hàm, bản giới thiệu sử dụng thực tế và hướng dẫn cách sử dụng tường thuật hơn. Nếu một thư viện không có tài liệu, đó thường là một dấu hiệu cho thấy chúng không thân thiện với nhà phát triển nhất.
- Linh hoạt : Các bản demo trong tài liệu có thể trông rất tuyệt - nhưng có thể muốn sử dụng thư viện theo cách hơi khác hoặc hoàn toàn so với bản trình diễn. Tìm kiếm các dấu hiệu linh hoạt - Có dễ gửi các tùy chọn cấu hình không? Có một kiến trúc plugin tài liệu? Nó có kích hoạt nhiều sự kiện mà bạn có thể móc mã của mình vào không?
- Tích cực duy trì : Trình duyệt thay đổi thường xuyên. Các thư viện đã từng hoạt động có thể đột nhiên ngừng hoạt động, bởi vì họ dựa vào một số tiện ích của trình duyệt đã thay đổi. Điều này đặc biệt đúng với các miếng chêm và polyfill HTML5 , bởi vì các trình duyệt thường phát hành các phiên bản mới với việc triển khai các phần tử HTML5. Bạn có thể tìm hiểu làm thế nào gần đây thư viện đã được cập nhật bằng cách kiểm tra ngày trong thay đổi của họ . Nếu không có thay đổi và thư viện được lưu trữ trong kho lưu trữ nguồn mở như Github, bạn có thể kiểm tra ngày cam kết cuối cùng.
- Suy nghĩ trong tương lai : Nếu bạn đang tìm kiếm một "shim" HTML5, hãy thích "polyfill" - một shim bắt chước API. Theo cách đó, về mặt lý thuyết, khi tất cả người dùng của bạn đang sử dụng các trình duyệt hỗ trợ công nghệ, bạn hoàn toàn có thể ngừng sử dụng thư viện mà không thay đổi mã của bạn. Ví dụ: nếu bạn đang sử dụng thư viện để sử dụng video trong trang web của mình, hãy sử dụng một polyfill sẽ cho phép bạn sử dụng
videothẻ HTML5 và nó sẽ thay thế nó bằng công nghệ dự phòng như Flash trong các trình duyệt cũ hơn. - Đã kiểm tra : Tất cả các thư viện tốt nên bao gồm các kiểm tra để đảm bảo chức năng của chúng hoạt động như mong đợi. Khi một thư viện được kiểm tra, khi đó chúng ta có thể tin tưởng sẽ có một số mức độ tương thích ngược trong các phiên bản mới của thư viện.
- Mã sạch : Chúng ta có thể coi các thư viện nguồn mở là các hộp đen và từ chối xem bên trong chúng, nhưng đôi khi, bạn có thể cần phải đào sâu vào mã thư viện để gỡ lỗi một vấn đề hoặc thêm một chút chức năng mới. Hãy xem nhanh mã và xem nó dễ đọc như thế nào, và nếu nó có bất kỳ cờ đỏ nào, như những đoạn mã lớn được nhận xét.
- Cộng đồng đáp ứng : Bạn sẽ có câu hỏi. Bạn sẽ gặp lỗi. Lý tưởng nhất, bạn sẽ có thể tìm ra chúng với các nhà phát triển, cho dù đó là người bảo trì hay người dùng.
Nếu thư viện được lưu trữ trên một trang web kiểm soát phiên bản như Github, bạn có thể xem tại:
- Số lượng dĩa : Rất nhiều dĩa (hoặc ngôi sao) có nghĩa là có ít nhất rất nhiều nhà phát triển đã quan tâm đủ để rẽ nhánh thư viện. Điều đó không có nghĩa là họ sẽ giúp bạn, nhưng đó là một sự khởi đầu! Các thư viện lớn thường có hàng ngàn dĩa, nhiều thư viện thích hợp hơn có 100 hoặc 10 dĩa.
- Số lượng vấn đề : Có nhiều vấn đề mở? Đó có thể là một dấu hiệu cho thấy không có nỗ lực cộng đồng xung quanh việc trả lời và kết thúc các vấn đề. Nó cũng có thể có nghĩa là nó chỉ là một dự án rất phổ biến với nhiều ý tưởng để cải tiến, vì vậy hãy tiếp tục đến điểm tiếp theo.
- Vibe về các vấn đề : Đọc qua một vài vấn đề và kéo yêu cầu. Là những người duy trì tiếp nhận phản hồi? Họ có trả lời câu hỏi sử dụng không? Bạn có nhận được một sự rung cảm tích cực hay tiêu cực từ các cuộc trò chuyện về họ?
- Cộng đồng bên ngoài : Các câu hỏi về thư viện có được trả lời trên StackOverflow không? Có thư viện xây dựng trên đầu thư viện không? Nhiều thư viện nhỏ hơn sẽ không đủ lớn để có một cộng đồng bên ngoài hữu hình, nhưng những thư viện lớn hơn như Modernizr hoặc Backbone có những cộng đồng quan trọng và đó là động lực lớn để sử dụng chúng. Bạn có thể thực hiện tìm kiếm trên internet cho tên thư viện để xem loại kết quả bạn tìm thấy.
Nó sẽ là một trải nghiệm người dùng tốt?
Nếu thư viện JS không tạo thành phần UI, thì chỉ một vài vấn đề đầu tiên.
- Kích thước tệp : Nó sẽ đóng góp bao nhiêu vào số lượng người dùng của bạn phải tải xuống? Đối với ngữ cảnh, jQuery được nén và rút gọn là 18k và Chọn2 là 7K.
- Hiệu suất : Bên cạnh kích thước, các khía cạnh khác của một thư viện JS có thể ảnh hưởng đến hiệu quả của nó, như thế nào nếu nó làm thao tác DOM nặng, vẽ đồ họa, tính toán, cuộc gọi lưu trữ đồng bộ, vv Nhìn cho lời hứa của hiệu suất tuyệt vời trên các tài liệu, và tất nhiên, hãy thử nó ra ngoài
- Hỗ trợ trình duyệt : Kiểm tra xem nó hỗ trợ tất cả các trình duyệt của bạn mong muốn. Nhiều thư viện những ngày này cố tình không hỗ trợ trình duyệt cũ (mà trang web của bạn có thể cần phải hỗ trợ), bởi vì chúng được thiết kế để có trọng lượng nhẹ và chỉ cho các trình duyệt di động.
- Khả năng tiếp cận : Nhiều thư viện cho các thành phần giao diện người dùng nhìn tuyệt vời, nhưng họ không thể truy cập (họ không làm việc tốt cho người dùng khuyết tật thị giác). Để kiểm tra nhanh, bạn có thể chạy WAVE trên trang trình diễn của thư viện.
- Responsive : Nếu người dùng của bạn sẽ sử dụng thành phần UI từ thư viện trên trình duyệt di động, thì nó sẽ hoạt động tốt cho họ ở đó. Các nút có đủ lớn không? Nó có sử dụng các sự kiện cảm ứng không? Liệu nó có quy mô kích thước màn hình nhỏ?
Nếu bạn đã xem xét tất cả các tiêu chí đó và vẫn không thể quyết định giữa một số thư viện, thì bạn có thể thử phương pháp gọi bạn bè: hỏi đồng nghiệp hoặc bạn bè nhà phát triển họ sử dụng thư viện nào. Bạn có thể chỉ cần tìm một yêu thích đám đông.
Hãy nhớ rằng: không có một câu trả lời đúng, không có một lựa chọn tốt nhất. Ngoài ra, bạn không phải xem xét toàn diện mọi thư viện JS mà bạn đang nghĩ về việc sử dụng, đặc biệt nếu bạn đang làm việc cho các dự án cho riêng mình. Bạn chỉ có thể chọn một thư viện và xem những gì bạn thích về nó trong khi bạn sử dụng nó. Bạn sẽ bắt đầu xây dựng một danh sách trong đầu các thư viện yêu thích của mình để sử dụng và các tiêu chí của riêng bạn cho các thư viện và điều đó sẽ giúp bạn trong các quyết định trong tương lai.
Nhận xét
Đăng nhận xét