資訊來源:唐道 發布日期:2018/12/18 16:39:24 閱讀次數:944
筆者最近涉獵了小程序相關的知識,于是利用周末時間開發了一款類似于同事的小程序,深度體驗了小程序云開發模式提供的云函數、數據庫、存儲三大能力。關于云開發,可參考文檔:小程序·云開發。
個人感覺云開發帶來的最大好處是鑒權流程的簡化和對后端的弱化,所以像筆者這種從未接觸過小程序開發的人也能夠在周末兩天時間內開發出一個功能完備、體驗閉環的勉強能用的產品。
最后,本文并不是搬運官方文檔,也不會詳細介紹開發工具和云開發后臺的使用,所以建議結合上面給出文檔鏈接一起消化本文。
該小程序功能目前較為簡單(發布帖子、瀏覽帖子、發布評論),可用下圖表示,無需贅述:
由架構圖可知,云開發的數據庫(存帖子、存評論)、存儲(圖片)、云函數(讀、寫、更新數據庫等)都將涉及,很好地達到了練手的目的。
如果帖子不帶圖片,直接寫數據庫即可,如果帶圖片則需要先存入圖片到云開發提供的存儲中,拿到返回的fileId(可理解為圖片的url)再一并寫入數據庫.
可以看到,云函數寫入了一條數據庫記錄,我們的參數通過event這個變量帶了進來。
所謂獲取帖子列表其實就是讀上一節寫入的數據庫,但是我們并不需要全部信息(例如圖片url),并且要求按照時間排序,如果熟悉數據庫的話,會發現這又是一條查詢語句罷了:
前面說過,云開發弱化了后端(簡化鑒權本質也是弱化后端),這樣帶來的好處就是提高了開發效率,因為前后端聯調向來都是一件耗時間的事情,而且小程序本身主打的就是小型應用,實在沒有必要引入過多的開發人員。但云開發也不是萬能的,例如我一開始想做RSS閱讀器,那么后端就需要聚合信息,目前云開發還做不了。個人感覺只要是信息類的小程序,如新聞類、視頻類,云開發目前都很乏力,因為數據庫的支持還過于簡陋(也可能是我太菜,沒發現很好的解決辦法,歡迎拍磚)。但如果是本文提及的這種用戶自己也會產生信息的小程序,那么云開發則會有開發效率上的優勢。最后就是云開發目前提供的2G數據庫和5G存儲,對于一些用戶量較多的小程序是否足夠也是個問題,目前也沒見有付費版。
總的類說,初次接觸小程序開發,還是發現有不少值得借鑒學習之處。