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 đề mà nhà phát triển chưa hài lòng nhất, được thu thập từ một số cuộc trò chuyện.

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

Khó khăn 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 về nền tảng web hoặc các tiêu chuẩn web. 27% 26% 27% Giảm 22%
Nắm bắt nhiều công cụ hoặc khung công cụ mới và hiện có. 26% 26% 25% 21%
Đảm bảo thiết kế hoặc trải nghiệm hoạt động giống nhau trên các trình duyệt. 26% 28% 24% 21%
Thử nghiệm trên nhiều trình duyệt. 23% 24% 20% 20%
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 ta cần giải quyết những vấn đề này. Với mong muốn đạt được mục tiêu này, tôi đã phỏng vấn hơn 18 nhà phát triển, đồng nghiệp của tôi là Kadir Topal. Mục tiêu của chúng tôi là điều tra và bắt đầu tìm ra lộ trình khắc phục những điểm mà nhà phát triển chưa hài lòng nhất.

Nội dung 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 các cuộc trò chuyện với nhà phát triển. Khi sử dụng "tất cả" hoặc "một số", đây là những 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 đó trên phạm vi rộng hơn.

Các cuộc trò chuyện này là một lời nhắc tuyệt vời về sự tuyệt vời và đa dạng của cộng đồng nhà phát triển web, đồng thời tôi muốn cảm ơn tất cả các 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 chỉ mới bắt đầu từ năm 2020. Một số nhà phát triển bắt đầu sự nghiệp nhờ bằng 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 chủ động tìm kiếm những tính năng mới và bắt kịp bằng cách đọc các ghi chú phát hành của trình duyệt, trong khi một số nhà phát triển khác 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 trong công việc và họ thích được thử thách, trong khi một số khác lại chỉ muốn hoàn thành công việc. Khi nghĩ về cách giải quyết những vấn đề đó, chúng ta cần phải duy trì tính đa dạng này!

Một trong những vấn đề phổ biến của tất cả các nhà phát triển là tất cả họ đều sử dụng CMS hoặc một khung để thực hiện công việc của mình. Wordpress, React, Bootstrap, Angular và Tailwind đều được đề cập, không có nhà phát triển nào đang sử dụng nền tảng web vanilla trong thực tế. Việc chọn được một khung 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 đến những yêu cầu phi 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 không. Chúng tôi không thể cải thiện những vấn đề mà nhà phát triển gặp phải 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 rằng nền tảng này chính là nền tảng mà họ đang phát triển. Điều này không chỉ bao gồm định nghĩa cổ điển của nền tảng web, mà còn bao gồm CMS, khung, công cụ và polyfill. Trong nhiều trường hợp, việc cập nhật những chỉ số đó là điều khó khăn nhất. Điều này đã làm thay đổi cách diễn giải của chúng tôi về câu hỏi đó. Giờ đây, chúng tôi biết rằng mình cần cập nhật bản khảo sát của mình để chia nhỏ bài khảo sát thành các phần khác nhau 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 các tiêu chuẩn, nhiều nhà phát triển đã chỉ ra những khó khăn trong việc bắt kịp các phương pháp hay nhất. Đây là một khía cạnh khác mà chúng tôi cần làm rõ trong cuộc khảo sát này.

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 và mẫu sử dụng cụ thể. Bài đăng trên blog và StackOverflow được đề cập là nguồn cho các phương pháp hay nhất, nhưng các 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 và liệu thông tin đó 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 số liệu đó.

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à 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à các thay đổi đối với nền tảng dẫn đến sự thay đổi trong 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. Tuy nhiên, rõ ràng là các nhà phát triển cho rằng đây chưa phải là vấn đề đã được giải quyết.

Hầu hết các nhà phát triển đều sử dụng polyfill là cách này hay cách khác. Tuy nhiên, trong nhiều trường hợp, nhà phát triển có thể hiểu rõ cách sử dụng vì polyfill có thể được thêm tự động bằng một công cụ như Jetpack hoặc một khung. Đối với những người đang tự quản lý polyfill, việc xác định xem polyfill có phải là "tốt" không có thể là một 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 ALIAS và người tạo nội dung polyfill là tín hiệu. Một vài nhà phát triển đề cập đến việc xoá các polyfills trở nên không cần thiết do giảm hỗ trợ cho IE 11.

Khung gây ra các vấn đề về phân mảnh. Chúng tôi được biết có nhiều báo cáo cho biết nhà phát triển bị "mắc kẹt" trong phiên bản cũ hơn của một khung và bị hạn chế về các tính năng mà họ 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ó chứng minh.

Kết luận

Quá trình phát triển web hiện đại có nhiều yếu tố di chuyển, bao gồm các 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ụ. Tính đa dạng này là một trong những điều tuyệt vời của môi trường web. Tuy nhiên, hiện nay, điều quan trọng là mỗi nhà phát triển có trách nhiệm hiểu rõ từng khía cạnh 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 các nhà phát triển hiểu rõ hơn về cách mọi thứ liên kết với nhau và sự nhất quán hơn giữa tất cả các phần 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 thậm chí 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 trò chuyện với bạn. Tôi sẽ thiết lập một cách để đặt lịch trò chuyện trực tiếp, tuy nhiên, trong thời gian chờ đợi, phần tin nhắn trực tiếp của tôi sẽ mở trên Twitter. Hãy liên hệ để chúng ta có thời gian trao đổi cùng bạn!