深入瞭解常見的網頁程式開發人員問題點

針對開發人員的主要問題點,提供一系列深入分析。

幾個月前,Paul Kinlan 曾張貼過 2021 年重大開發人員難題的內容,建議您從本文開始提供過去 2 季的更新資訊。數據排名有點變動,但排名並未改變。

挑戰 2021 年第 1 季 2021 年第 2 季 2021 年第 3 季 2021 年第 4 季
跟上網路平台或網路標準的最新異動。 27% 26% 27% 22%
符合大量全新和現有的工具或架構。 26% 26% 25% 21%
在不同瀏覽器上呈現相同的設計或體驗。 26% 28% 24% 21%
跨瀏覽器測試。 23% 24% 20% 20%
瞭解並實作安全措施。 23% 25% 20% 19%

正如 Paul 的網誌文章所述,我們必須解決這些問題。為了達成這個目標,我的同事 Kadir Topal 與超過 18 位開發人員進行了訪談。我們的目標是進行調查,並開始理解解決重大開發人員問題的方法。

開發人員討論

免責事項: 這些深入分析資訊是根據開發人員與開發人員的少量對話資料彙整而來。使用「all」時是指受訪的開發人員,而非整個社群。我們需要進行更多研究,才能進一步推斷出這些洞察資訊。

這些交流的交流能讓我們再次體會到網頁程式開發人員社群的卓越性與多元性,由衷感謝與我們一同參與的所有開發人員。有些開發人員擁有超過 25 年的經驗,有些開發人員則只到 2020 年才開始發展。有些開發人員能在正式的電腦科學學位上任職,有些開發人員則是獨自展開職涯發展。有些開發人員會積極尋找最新資訊,藉由閱讀瀏覽器版本資訊,跟上其他開發人員一起學習新事物。有些人認為複雜度是工作的一部分,且樂於挑戰自我,有些則只想要完成工作。在考慮解決這些痛點時,請務必將多元精神謹記在心。

所有開發人員最常見的方法之一,就是所有開發人員都會使用 CMS 或架構來完成工作。其中提到了 Wordpress、React、Bootstrap、Angular 和 Tailwind,但開發人員並沒有在實際工作環境中使用基本網路平台。設計專案時選擇架構並不容易,開發人員也經常考量非技術需求。例如,是否能輕鬆僱用開發人員以採用該架構。如果解決方案中未包含架構和 CMS,我們無法改善開發人員的問題點。

說到網路平台,大多數開發人員都瞭解這個平台是他們開發的初衷。這不僅包含網路平台的傳統定義,也包括 CMS、架構、工具和 polyfill。在許多情況下,最棘手的問題就是要掌握最新相關資訊。這改變了我們對這個問題的解讀,現在我們知道,我們必須更新問卷調查內容,將問卷細分成較不明確的部分。

另一個不確定性的問題是「網路標準」的定義。在詢問如何遵循標準方面的例子時,許多開發人員都表示,很難完全遵循最佳做法。這是我們在問卷調查中的另一個領域。

開發人員在實現特定用途和模式時,會尋找最佳做法。網誌文章和 StackOverflow 是最佳做法的來源,但開發人員常會懷疑自己閱讀的資訊是否確實為最佳做法,以及是否符合最新功能和 API。他們希望取得更官方的資訊來源,以便閱讀這些內容。

要跟上開發新用途的功能和 API 並不容易。開發人員在功能、API 和平台異動等方面付出更多努力,因而不斷改變最佳做法。

多數開發人員都同意相容性是一大挑戰。我們透過 Compat 2021Interop 2022 等方面的工作持續改善,但顯然開發人員尚未發現問題已解決。

多數開發人員會以某種方式使用 polyfill。然而,在許多情況下,開發人員都會公開透明,因為 Polyfill 可由 Babel 或架構等工具自動新增。針對自行管理 polyfill 的人員,應找出 polyfill 是否「良好」因此可能會導致問題開發人員提到,使用 NPM 的安裝次數以及 polyfill 的建立者做為信號。幾位開發人員提到,他們會努力移除對 IE 11 的支援,因而不必要的 polyfill。

架構導入了片段處理問題。我們發現開發人員的情況遷移至舊版架構,且功能受限,但要遷移至相同架構的新版本,可能會耗費高昂成本且難以合理化。

結論

現代的網頁開發有許多進展,包括標準、瀏覽器、程式庫、polyfill、CMS、架構、最佳做法和工具。這種多元性是網路最棒的地方之一,但目前,使用者可以個別瞭解每個層面,以及如何彼此相容。

我想知道,有沒有辦法讓開發人員更清楚地瞭解整個要素之間的關聯和一致性,同時兼顧多元性。這個錯誤相當龐大、複雜,而且難以同時完成。但該如何著手呢?

如果你想分享觀點和意見。我也很樂意跟你談談。我可以提供直接預訂對話的方式,不過在這段期間,我可以在 Twitter 開啟我的即時訊息。歡迎與我們聯絡,安排時間與我們聊聊!