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

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

幾個月前,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 位開發人員來參與。我們的目標是調查開發人員的問題,並開始瞭解解決開發人員最棘手的問題。

開發人員討論

免責事項: 這些深入分析資訊是根據與開發人員的少量對話提供而得,使用「全部」或「部分」時,指的是接受採訪的開發人員,而非整個社群。我們需要更多研究,才能更廣泛地取得這些洞察資料。

這次對談後,各位瞭解網頁程式開發人員社群有多精彩豐富,也很感謝所有曾與我們交談過的開發人員。有些開發人員擁有超過 25 年的經驗,有些開發人員則在 2020 年才剛起步。有些開發人員是以正式的電腦科學學位開始發展事業,有些開發人員則自行展開事業版圖。有些開發人員會主動尋找、追蹤瀏覽器版本資訊,或透過其他方式與同事、朋友分享新事物。有些人認為複雜度是工作的一部分,樂於接受挑戰,也有些人只想完成工作。考慮解決這些問題時,請務必謹記多元性!

所有開發人員都有一個共同點,就是所有開發人員都能使用 CMS 或架構完成工作。文中提到 Wordpress、React、Bootstrap、Angular 和 Tailwind,沒有任何開發人員在實際工作環境中使用基本網路平台。開始專案時,選擇架構是一大挑戰,開發人員經常會將非技術性需求納入考量。例如是否方便聘用開發人員使用該架構。如果解決方案中沒有架構和 CMS,我們就無法改善開發人員的問題點。

說到網路平台,大多數的開發人員都瞭解這個平台是他們開發的世界。這不僅包含網路平台的傳統定義,也包括 CMS、架構、工具和 polyfill。在許多情況下,要即時掌握最新資訊都是最困難的問題。我們因此對這個問題的解讀有所改變,而我們也知道必須更新問卷,將問卷調查細分成較不明確的部分。

另一個釐清的部分是「網路標準」的定義。許多開發人員在詢問我們有關遵循標準的範例時,發現他們難以跟上最佳做法。此為問卷調查的另一個重點。

開發人員在實行特定用途和模式時,尋找最佳做法。網誌文章和 StackOverflow 都是最佳做法的來源,但開發人員經常會想知道自己閱讀的資訊是否確實是最佳做法,以及所查詢的資訊是否為最新功能和 API。而是希望更官方的原始碼來閱讀這些內容。

跟上用於實現新用途的功能和 API 更是小問題。有些功能、API 和平台變更也讓最佳做法有所改變,開發人員因而感到苦惱。

大多數開發人員都認同相容性是最艱鉅的挑戰之一。我們透過 Compat 2021Interop 2022 等措施改善了事情,但開發人員顯然還不清楚這一點。

大多數開發人員會以一種方式使用 polyfill。不過,在多數情況下,開發人員很容易瞭解 polyfill,因為 Babel 或架構等工具可自動加入 polyfill。對於自行管理 polyfill 的使用者來說,判斷 polyfill 是否「良好」會造成問題。開發人員提及,開發人員提到,使用 NPM 的安裝次數,以及 polyfill 的建立者做為信號。幾位開發人員提到,由於捨棄 IE 11 可支援,導致不再需要的 polyfill。

架構引入片段化問題。聽說有些開發人員「困在舊版架構中,而且受其用的功能受限」,但遷移至同一架構的新版本可能太昂貴且難以合理解釋。

結語

現代網頁開發有許多變動,包括標準、瀏覽器、程式庫、polyfill、CMS、架構、最佳做法和工具。這種多元性是網路的優勢之一,但目前,每位開發人員都必須能自行決定各部分的體驗,以及它們如何彼此相容。

我想在不犧牲多元性的情況下,設法讓開發人員更清楚瞭解各項要素的整合方式,以及彼此的一致性。這個難題很複雜,而且很難一次完成。但該從哪裡著手呢?

如果你想分享自己的觀點和看法我也很樂意和你聊聊。我會設定直接預訂對話功能,不過在此期間,我的即時訊息是在 Twitter 公開。歡迎與我們聯絡,我們會與您聊聊!