非常感謝您參與我們的使用者與貢獻者調查。我們收到了 228 份回覆。讓我們直接深入了解數據。
這項調查收到了超過 200 份回覆,考慮到只有一小部分看到調查的人會回應,可能有很多快樂的 Cordova 使用者,以及正在進行和長期運行的應用程式專案。我們收到了一些關於最需要的改進和最大痛點的良好回饋。
使用情況
顯然幾乎所有受訪者都使用 Cordova,最常用的平台是 Android (97.4%)、iOS (89%)、瀏覽器 (21.1%) 和 Electron (7%)。Windows 和 macOS Catalyst 的回覆總數只有少數。
建構可存取 Web 平台尚未提供的原生功能的應用程式
選擇 Cordova 的前 3 個原因是易於使用、跨平台支援以及 Web 技能和技術的普及性和熟悉度。這些原因幾乎被同等地提及。相當多的使用者 (~20) 提到 Cordova 是很久以前選擇的,或者他們從 Phonegap 遷移過來 (~7)。可能有很多長期運行的 Cordova 專案。其他提到的原因包括對原生功能的支援、Ionic、快速開發、專案的成熟度和開放原始碼。
它像網頁一樣容易編寫、檢查和除錯
替代方案
Cordova 的非官方目標一直是,一旦 Web 在支援與原生功能類似的新 API 和功能方面趕上,Cordova 就會停止存在。因此,少數使用者 (6.1%) 將他們的應用程式遷移到 PWA 是個好消息。約 13% 遷移到 Capacitor,3% 遷移到 Flutter 和 React-Native。約 2% 的專案遷移到 Electron 或完全原生。約 4% 的人正在考慮或正在遷移過程中。
只有 23.2% 的受訪者將應用程式遷移到替代方案。
遷移的最大原因是外掛維護不佳,其次是作業系統和應用商店的相容性問題以及框架本身的開發緩慢。這是我們 Cordova 社群需要解決的問題。一些使用者也提到了對長期支援的擔憂。其他使用者則遇到了建置或 Gradle 問題,或偏好具有 TypeScript 支援和更好開發人員體驗的更現代的框架。WebView 和效能問題也被提及了幾次。
貢獻
只有少數受訪者 (21.1%) 為 Apache 維護的外掛、平台或工具做出貢獻,而 17.5% 的人很樂意開始貢獻。
對於「是什麼阻礙您貢獻?」這個問題的答案,可能在開放原始碼專案中相當典型。最大的因素是時間 (53%) 和工作與生活平衡 (37%)。第二個被提及最多的原因我需要協助才能開始 (21%) 和冒名頂替症候群 (10%),我們應該透過更好的文件和對初次貢獻者的支援來解決。
對於那些有興趣為 Apache Cordova 做出貢獻的人來說,最好的方法是提交 PR。它可以是修復您可能遇到的或其他人回報的已知問題,或者提交新功能。在工作與生活平衡方面,Apache Cordova 是基於志願服務。沒有每天投入時間的要求。通常,有些人可能會在有空時花幾分鐘處理 Cordova。
一些使用者僅針對 Web 進行開發,不想進入原生部分,這完全是合理的,因為這就是使用 Cordova 的目的。開發外掛和進入 Cordova 內部結構並不像一開始看起來那麼困難和可怕,我們真的需要您對專案的支持。
我們還加入了一個關於發布投票的問題,因為我們認為大多數使用者不知道 Apache 的發布流程是如何運作的。對於每次發布,我們都需要至少 3 名 PMC 成員檢查並對發布投下贊成票。非 PMC 成員也可以投票並協助測試發布。發布的投票和決策過程會在郵寄清單上進行。有時可能需要一段時間才能最終發布版本,因為需要 3 名 PMC 成員抽出時間檢查。如果我們可以招募新成員,發布可能會再次加快一點。
改進領域
進行此項調查的主要原因之一是找出許多 Cordova 開發人員的痛點。如果我們可以找出需要改進的領域,我們可以收集快速修復和長期目標的想法。
最常被提及的問題是第三方外掛缺乏維護。下一段會更詳細介紹。第二大痛點是跟上應用程式/Play 商店的要求和作業系統 API 的變更,以及發布速度慢且更新有破壞性。
許多使用者也提到原生專案的問題。它們往往會因更新而中斷,或需要手動變更,這會導致 Cordova 的 hooks 和臨時原生專案出現問題。
相當多的痛點也圍繞著文件。我們應該努力改進 config.xml 的文件,以及如何開發外掛。一些使用者也希望有 (影片) 教學課程。有時關於新功能或變更的資訊會隱藏在 PR、問題和評論中的某處。我們應該更好地更新文件。
一些使用者也擔心專案的壽命,並認為對新 API 和變更的支援需要太長時間。該專案已經相當古老,一些程式碼現在被視為舊版程式碼,一些使用者希望看到對 TypeScript、Swift、Kotlin 等新語言的支援。
外掛
我非常感謝這些外掛!我了解維護它們有多困難。
大多數受訪者沒有分享任何關於外掛的回饋,而且相當多人表示他們對 Cordova 的外掛生態系統感到滿意。
由於它的成熟度和年代,幾乎任何用例都有許多 Cordova 外掛,但缺乏維護對於許多使用者來說是個問題。相當多的外掛作者已經離開,不再維護他們的外掛,使用者很難找到可用的分支和修復程式。一些受訪者建議,一份精選的外掛清單可能有助於解決這個問題。
一些使用者也發現開發和測試外掛非常困難。
一些使用者意見
建構 Cordova 外掛並不理想,因為外掛是在任何原生專案之外編寫的,這使得開發和測試變得困難。沒有可用的原生專案表示外掛無法獨立於 Cordova 專案建構、無法獨立於 Cordova 專案測試,並且無法在沒有 Cordova 專案的情況下使用具有智慧感應的標準 IDE。
目前有許多 Cordova 外掛未被維護,這使得在專案中加入新的外掛變得非常痛苦,因為您始終必須檢查外掛是否仍然可用,以及是否有其他替代外掛。
總體而言,考慮到它們主要由志工提供,因此非常好。但我的印象是,某些沒有替代方案的外掛並不總是維護良好(抱歉,沒有具體例子)。
有時維護不佳、修復緩慢、過時等等。但對於任何真正的 Cordova 專案來說,仍然至關重要
我總是會因為它們沒有隨著每個 Cordova 版本更新而最終 fork 它們
Cordova 使建構外掛變得簡單。
結語
您可能知道,大多數維護人員都是志工,在他們的空閒時間處理 Cordova。因此,我們需要您的協助,以確保 Cordova 仍然是一個建構行動應用程式的穩健可靠平台。您的參與,無論是提供回饋、修復錯誤或開發外掛,對於確保 Cordova 持續的相關性和採用至關重要。Cordova PMC 將盡力使貢獻變得盡可能容易,並提供開發人員指導、程式碼審查、文件和頻繁的發布。多年來,大部分的錯誤修復、外掛和功能都是由專門的個人提供的,未來也將如此。您可以使用您的修復程式、解決方案、外掛和發布協作來為 Cordova 的未來成功做出貢獻。
感謝您成為 Cordova 社群的一份子。我們一起可以塑造行動開發的未來。