快應用開發踩坑之旅
前言
嘗試一款新的開發框架的時候勢必會遇見各種各樣的問題。可能因為一開始不熟悉文件,導致配置錯誤,或是api
使用錯誤。當然開發的時候我們也不能確認框架沒有問題,是否存在bug
。所以在某些出錯的情況下,我們也許會不斷懷疑自己,懷疑框架,最終懷疑人生。這時候就需要開發者們發揮無私的精神,積極討論,記錄並貢獻自己的填坑祕訣
,供大家討論參考。所以在這裡我就先記錄自己收集及遇見的坑
,希望起到拋磚引玉的作用。大家有不同的問題的可以一起討論,方便後來的開發者。
容易出錯的地方
更新rpk
的時候出現版本號必須高於上一個版本
的錯誤提示
出現這個問題是因為快應用官方以配置manifest.json
的屬性versionCode
1
。很多同學會誤以為修改versionName
來更新版本,versionName
應該是屬於那種顯示在應用商店
使用list
元件造成應用閃退
根據文件說明,list
元件下面的list-item
是可以配置type
屬性來優化渲染的,但是具有相同type
屬性的list-item
的dom結構
必須一致,如果不一致就會出現閃退情況,但是看不到任何錯誤說明,讓人找不到錯誤原因,非常頭疼。所以應該儘量不在裡面使用if
和for
元件,否則會很容易出現dom結構
不一致造成應用閃退。
在protected public private
裡定義的屬性,在template
中無法獲取
在快應用中具有多種定義資料的形式,分別可以定義在protected public private data
裡面,但是有一個很容易被大家忽視的細節,就是在官方文件中說明了protected public private
只能在頁面級元件
中才能使用,所以在自定義元件,非頁面級元件中是無法使用的,自然也就在template
中取不到資料了。
上傳rpk
的時候,出現,應用簽名校驗失敗
平常我們開發及測試的時候使用的是npm run build
命令進行打包除錯,其中執行時會使用sign
下面的debug
的簽名及證書來打包rpk
。當我們開發完成準備上傳時,需要進行以下步驟:
- 生成釋出的證書和簽名:執行
openssl req -newkey rsa:2048 -nodes -keyout private.pem -x509 -days 3650 -out certificate.pem
- 在
sign
目錄下新建release資料夾
,將生成的certificate.pem private.pem
放入其中 - 執行
npm run release
生成以.signed.rpk
結尾的rpk
用以釋出
目前不支援的地方
-
background
目前不支援網路圖片,所以要使用網路圖片時應該考慮用image
元件來替代 -
無法將
canvas
元件轉化為圖片儲存在本地 -
swiper
不支援控制方向,只支援橫向滾動 -
css
不支援overflow
樣式,無法設定超出滾動或顯示。元件內滑動只能使用list
元件
但是據相關的開發同學告知,這些功能已經正在開發及完善,不久就會支援了。
總結
相對來說,作為一個新推出的新型應用生態,快應用還是有許多不足需要去完善。但是其無需安裝,多入口快速開啟是具備一定優勢的。在可預見的未來,會有越來越多的企業及開發者加入其中。本文希望通過記錄自己在開發過程中遇見的問題及解決方案來進行總結,方便後來者查閱。