Tìm hiểu sâu những vấn đề mà nhà phát triển web hàng đầu chưa hài lòng

Tập hợp thông tin chi tiết về những vấn đề hàng đầu mà nhà phát triển gặp phải, được thu thập từ một số cuộc trò chuyện.

Vài tháng trước, Paul Kinlan đã đăng về những vấn đề hàng đầu mà nhà phát triển gặp phải trong năm 2021. Do đó, bạn nên bắt đầu bài viết này bằng cách cập nhật thông tin trong 2 quý vừa qua. Các con số đã thay đổi một chút, nhưng thứ hạng thì không thay đổi.

Thách thức Quý 1 năm 2021 Quý 2 năm 2021 Quý 3 năm 2021 Quý 4 năm 2021
Bắt kịp những thay đổi đối với nền tảng web hoặc tiêu chuẩn web. 27% 26% 27% Giảm 22%
Bắt kịp nhiều công cụ hoặc khung mới và hiện có. 26% 26% 25% 21%
Làm cho một thiết kế hoặc trải nghiệm hoạt động như nhau trên các trình duyệt. 26% 28% 24% 21%
Kiểm thử trên nhiều trình duyệt. 23% 24% 20% 20%
Tìm hiểu và triển khai các biện pháp bảo mật. 23% 25% 20% 19%

Như đã đề cập trong bài đăng trên blog của Paul, chúng tôi cần giải quyết các vấn đề này. Để đạt được mục tiêu này, đồng nghiệp của tôi Kadir Topal và tôi đã phỏng vấn hơn 18 nhà phát triển. Mục tiêu của chúng tôi là tìm hiểu và bắt đầu hiểu rõ lộ trình khắc phục những vấn đề hàng đầu mà các nhà phát triển gặp phải.

Thảo luận của nhà phát triển

Tuyên bố từ chối trách nhiệm: những thông tin chi tiết đó dựa trên một số ít cuộc trò chuyện với nhà phát triển. Khi sử dụng "tất cả" hoặc "một số", tức là các nhà phát triển được phỏng vấn chứ không phải toàn bộ cộng đồng. Chúng tôi cần nghiên cứu thêm để ngoại suy những thông tin chi tiết đó ở phạm vi rộng hơn.

Những cuộc trò chuyện này là một lời nhắc nhở tuyệt vời về mức độ tuyệt vời và đa dạng của cộng đồng nhà phát triển web và tôi muốn cảm ơn tất cả những nhà phát triển đã trò chuyện với chúng tôi. Một số nhà phát triển có hơn 25 năm kinh nghiệm, trong khi một số khác mới bắt đầu từ năm 2020. Một số nhà phát triển bắt đầu sự nghiệp thông qua một bằng cấp khoa học máy tính chính thức, trong khi một số khác lại bắt đầu sự nghiệp một cách độc lập. Một số nhà phát triển tích cực tìm kiếm những điều mới mẻ và cập nhật bằng cách đọc ghi chú phát hành của trình duyệt, trong khi một số khác thì tìm hiểu về những điều mới mẻ thông qua đồng nghiệp và bạn bè. Một số người cho rằng sự phức tạp là một phần công việc và thích bị thử thách, trong khi những người khác chỉ muốn hoàn thành công việc của mình. Khi tìm cách giải quyết những vấn đề đó, chúng ta cần phải cân nhắc đến sự đa dạng này!

Một trong những điểm chung của tất cả các nhà phát triển là tất cả họ đều sử dụng CMS (hệ thống quản lý nội dung) hoặc khung để thực hiện công việc. Tất cả đều được nhắc đến như Wordpress, React, Bootstrap, Angular và Tailwind, và không có nhà phát triển nào sử dụng nền tảng web vanilla trong bản phát hành chính thức. Việc chọn khung làm việc khi bắt đầu dự án là một thách thức và các nhà phát triển thường xem xét những yêu cầu không liên quan đến kỹ thuật. Ví dụ: việc thuê một nhà phát triển để làm việc với khung đó có dễ dàng hay không. Chúng tôi không thể cải thiện các vấn đề của nhà phát triển nếu giải pháp này không bao gồm khung và CMS.

Nói về nền tảng web, hầu hết các nhà phát triển đều hiểu nền tảng này chính là nền tảng mà họ đang phát triển. Định nghĩa này không chỉ bao gồm định nghĩa cổ điển của nền tảng web, mà còn cả CMS, khung, công cụ và đoạn mã polyfill. Trong nhiều trường hợp, khó khăn nhất chính là cập nhật thông tin về những vấn đề đó. Điều này đã thay đổi cách diễn giải câu hỏi đó của chúng tôi, và giờ đây chúng tôi biết cần phải cập nhật bài khảo sát của mình để chia bài khảo sát thành nhiều phần sao cho rõ ràng hơn.

Một vấn đề không rõ ràng khác là định nghĩa về tiêu chuẩn web. Khi được hỏi về các ví dụ liên quan đến việc đáp ứng tiêu chuẩn, nhiều nhà phát triển chỉ ra rằng họ khó nắm bắt các phương pháp hay nhất. Đây cũng là một khía cạnh khác mà chúng tôi cần làm rõ trong bài khảo sát.

Nhà phát triển tìm kiếm các phương pháp hay nhất khi triển khai các trường hợp sử dụng và mẫu cụ thể. Các bài đăng trên blog và StackOverflow được đề cập là nguồn cung cấp các phương pháp hay nhất, nhưng nhà phát triển thường thắc mắc liệu thông tin họ đang đọc có thực sự là phương pháp hay nhất hay không, cũng như liệu thông tin đó có được cập nhật với các tính năng và API mới nhất hay không. Họ muốn có một nguồn chính thức hơn để đọc các trang đó.

Việc bắt kịp các tính năng và API cho phép các trường hợp sử dụng mới là một vấn đề nhỏ hơn. Nhà phát triển gặp nhiều khó khăn hơn với các tính năng, API và thay đổi trên nền tảng dẫn đến sự thay đổi về các phương pháp hay nhất.

Hầu hết các nhà phát triển đều đồng ý rằng khả năng tương thích là một trong những thách thức lớn nhất. Mọi thứ đang được cải thiện nhờ những nỗ lực như Compat 2021Interop 2022, nhưng rõ ràng là các nhà phát triển vẫn chưa coi đây là bài toán đã giải quyết được.

Hầu hết các nhà phát triển đều sử dụng đoạn mã polyfill theo cách này hay cách khác. Tuy nhiên, trong nhiều trường hợp, việc sử dụng rất rõ ràng cho các nhà phát triển vì polyfill có thể được tự động thêm bởi một công cụ như adb hoặc khung. Đối với những người đang tự quản lý polyfill, hãy tìm hiểu xem một polyfill có "tốt" hay không có thể là vấn đề. Các nhà phát triển đã đề cập đến việc sử dụng số lượt cài đặt trên trái miền và tác giả của polyfill dưới dạng tín hiệu. Một vài nhà phát triển đề cập rằng họ đang tìm cách loại bỏ các đoạn mã polyfill không cần thiết do ngừng hỗ trợ IE 11.

Khung gây ra các vấn đề về sự phân mảnh. Chúng tôi nghe được báo cáo về việc nhà phát triển bị "mắc kẹt" sang phiên bản cũ hơn của một khung và bị hạn chế về các tính năng có thể sử dụng vì lý do đó, nhưng việc chuyển sang phiên bản mới hơn của cùng một khung có thể tốn kém và khó xác minh.

Kết luận

Phát triển web hiện đại có nhiều phần luôn thay đổi bao gồm tiêu chuẩn, trình duyệt, thư viện, polyfill, CMS, khung, các phương pháp hay nhất và công cụ. Sự đa dạng này là một trong những điều tuyệt vời nhất về web, nhưng hiện tại, điều quan trọng là mỗi nhà phát triển cần phải hiểu rõ và tương thích với nhau như thế nào.

Tôi tự hỏi liệu có cách nào để giúp nhà phát triển hiểu rõ hơn về cách mọi thứ liên kết với nhau và điều chỉnh cho phù hợp hơn giữa tất cả các khía cạnh mà không ảnh hưởng đến tính đa dạng hay không. Đây là một vấn đề lớn, phức tạp và khó thực hiện cùng một lúc. Nhưng nên bắt đầu từ đâu?

Nếu bạn có quan điểm và ý kiến muốn chia sẻ. Tôi cũng rất muốn nói chuyện với bạn. Tôi sẽ thiết lập cách để đặt lịch trò chuyện trực tiếp. Tuy nhiên, trong thời gian chờ đợi, các tin nhắn trực tiếp của tôi vẫn mở trên Twitter. Hãy liên hệ để chúng ta có thể dành thời gian trò chuyện!