天天看點

快應用開發的踩坑之旅

嘗試一款新的開發架構的時候勢必會遇見各種各樣的問題。可能因為一開始不熟悉文檔,導緻配置錯誤,或是​<code>​api​</code>​使用錯誤。當然開發的時候我們也不能确認架構沒有問題,是否存在​<code>​bug​</code>​。是以在某些出錯的情況下,我們也許會不斷懷疑自己,懷疑架構,最終懷疑人生。這時候就需要開發者們發揮無私的精神,積極讨論,記錄并貢獻自己的填坑秘笈,供大家讨論參考。是以在這裡我就先記錄自己收集及遇見的坑,希望起到抛磚引玉的作用。大家有不同的問題的可以一起讨論,友善後來的開發者。

出現這個問題是因為快應用官方以配置 manifest.json 的屬性​<code>​versionCode​</code>​的值來确認版本更新,官方要求每次上架更新需要将該值手動 自增​<code>​1​</code>​。很多同學會誤以為修改 versionName 來更新版本,versionName 應該是屬于那種顯示在應用商店

根據文檔說明,list 元件下面的 list-item 是可以配置​<code>​type​</code>​屬性來優化渲染的,但是具有相同 type 屬性的​<code>​list-item​</code>​的​<code>​dom結構​</code>​必須一緻,如果不一緻就會出現閃退情況,但是看不到任何錯誤說明,讓人找不到錯誤原因,非常頭疼。是以應該盡量不在裡面使用​<code>​if​</code>​和​<code>​for​</code>​指令,否則會很容易出現 dom 結構不一緻造成應用閃退。

在快應用中具有多種定義資料的形式,分别可以定義在 protected public private data 裡面,但是有一個很容易被大家忽視的細節,就是在官方文檔中說明了 protected public private 隻能在​<code>​頁面級元件​</code>​中才能使用,是以在自定義元件,非頁面級元件中是無法使用的,自然也就在 template 中取不到資料了。

平常我們開發及測試的時候使用的是 npm run build 指令進行打包調試,其中運作時會使用 sign 下面的 debug 的簽名及證書來打包 rpk。當我們開發完成準備上傳時,需要進行以下步驟:

生成釋出的證書和簽名:運作 ​<code>​openssl req -newkey rsa:2048 -nodes -keyout private.pem -x509 -days 3650 -out certificate.pem​</code>​

在 sign 目錄下建立​<code>​release​</code>​檔案夾,将生成的 certificate.pem 和 private.pem 放入其中

運作​<code>​npm run release​</code>​生成以​<code>​.signed.rpk​</code>​結尾的 rpk 用以釋出

官方​<code>​IDE​</code>​已經支援一鍵調試,一鍵生成簽名等功能,覺得以上步驟麻煩的同學可以去體驗體驗,下載下傳連結 https://www.quickapp.cn/docCe...

​<code>​background​</code>​目前不支援網絡圖檔,是以要使用網絡圖檔時應該考慮用​<code>​image​</code>​元件來替代

無法将​<code>​canvas​</code>​元件轉化為圖檔儲存在本地

​<code>​swiper​</code>​不支援控制方向,隻支援橫向滾動

css 不支援​<code>​overflow​</code>​樣式,無法設定超出滾動或顯示。元件内滑動隻能使用​<code>​list​</code>​元件

但是據相關的開發同學告知,這些功能已經正在開發及完善,不久就會支援了。

相對來說,作為一個新推出的新型應用生态,快應用還是有許多不足需要去完善。但是其無需安裝,多入口快速打開是具備一定優勢的。在可預見的未來,會有越來越多的企業及開發者加入其中。本文希望通過記錄自己在開發過程中遇見的問題及解決方案來進行總結,友善後來者查閱。

繼續閱讀