微信小程式開發平臺新功能「雲開發」快速上手體驗

来源:https://www.cnblogs.com/parry/archive/2018/08/17/weixin-miniapp-wxclouddev-demo.html
-Advertisement-
Play Games

微信小程式開發平臺剛剛開放了一個全新的功能:雲開發。 簡單地說就是將開發人員搭建微信小程式後端的成本再次降低,此文剛好在此產品公測時,來快速上手看看都有哪些方便開發者的功能更新。 ...


微信小程式開發平臺剛剛開放了一個全新的功能:雲開發。
簡單地說就是將開發人員搭建微信小程式後端的成本再次降低,此文剛好在此產品公測時,來快速上手看看都有哪些方便開發者的功能更新。

微信小程式一直保持一個比較穩定的節奏進行功能的開放與更新,不激進但是又不怠慢,就一直像微信產品的節奏一樣,而在生活中我們使用微信小程式的頻率也慢慢高起來,如 KFC 自助點個餐、下單一些較冷門的商品等等。
而我給大家免費更新的「微信小程式開發視頻教程」大綱也一直在修正與增加,從 40 集增加到 60 集,在雲開發發佈後,課程估計會更新到 80 集左右。各大平臺加起來已近 20w 的播放量,需要的同學可以免費觀看學習、指導。

1. 公測申請與開發工具更新

首先需要在雲開發文檔的頁面中申請「雲開發」的公測許可權,我的是半天就收到郵件通知了。

然後需要下載 beta 版的開發工具,包含了雲開發的功能模塊。
截圖

2. 項目初始化

按照官方的說法,可以通過直接新建一個官方的演示 DEMO 項目學習查看,通過在新建項目時選擇「建立雲開發快速啟動模版」。
截圖

新建後的項目結構如圖左側所示,較之前的項目結構,多了雲端文件存儲的本地映射。

3. 雲開發的功能

官方的說明如下:

目前提供三大基礎能力支持:
雲函數:在雲端運行的代碼,微信私有協議天然鑒權,開發者只需編寫自身業務邏輯代碼
資料庫:一個既可在小程式前端操作,也能在雲函數中讀寫的 JSON 資料庫
文件存儲:在小程式前端直接上傳/下載雲端文件,在雲開發控制台可視化管理

3.1 雲函數

雲函數是一段運行在雲端的代碼,無需管理伺服器,在開發工具內編寫、一鍵上傳部署即可運行後端代碼。
小程式內提供了專門用於雲函數調用的 API。開發者可以在雲函數內獲取到每次調用的上下文(appid、openid 等),無需維護複雜的鑒權機制,即可獲取天然可信任的用戶登錄態(openid)。
開放了運用 Node.js 等框架編寫「後端」業務邏輯後,直接可以部署在雲平臺下,完全不需要去考慮功能變數名稱、伺服器、打包發佈、運維等等瑣事,大家體會一下這樣的功能對於開發一些小型項目帶來的便利以及實惠。

3.2 資料庫

雲開發提供了一個 JSON 資料庫,顧名思義,資料庫中的每條記錄都是一個 JSON 格式的對象。一個資料庫可以有多個集合(相當於關係型數據中的表),集合可看做一個 JSON 數組,數組中的每個對象就是一條記錄,記錄的格式是 JSON 對象。
這樣的話,資料庫的存儲也不用考慮了,直接提供了一個類似於 NOSQL 一樣的資料庫,而且免費的存儲空間達到了 1G,足夠使用了。

3.3 文件存儲

雲開發提供了一塊文件存儲空間,提供了上傳文件到雲端、帶許可權管理的雲端下載能力,開發者可以在小程式端和雲函數端通過 API 使用雲文件存儲功能。
在小程式端可以分別調用 wx.cloud.uploadFile 和 wx.cloud.downloadFile 完成上傳和下載雲文件操作。
這不就是直接給你提供了一個靜態文件的 CDN 嘛,還是騰訊直接提供的,免費的容量直接達到了 5G,我想小型項目前期一般是用不完的。

4. 雲開發控制台

如下圖所示,在開發工具的工具欄直接可以調起獨立的雲開發控制台,圖形化管理起來也非常地方便。
截圖

5. 功能上手測試

我們就以官方的 DEMO 來看一下雲函數的執行過程。
截圖

上圖就是雲端定義的邏輯,上面的「後端」加引號就是因為在這裡還可以直接調用一些小程式的 API,不用自己處理一些額外的邏輯,如之前後端在不同的語言框架下,實現獲取 openid 的方法就完全不一樣。

定義好了雲函數後,右鍵可以上傳發佈,發佈後就可以直接在前臺調用了。

截圖

開發起來真是無縫銜接,絲般順滑。

6. 結語

按照官方建立的 DEMO 模板項目就有很多演示學習的代碼,大家感興趣可以直接去初始化項目後學習,這裡就不再多貼代碼說明。
至於此功能發佈後對於小程式開發環境的推動,大家可以自己思考一下。我覺得這才是對於很多孵化項目的開發者最有推動力的官方大招了,省卻了功能變數名稱備案、資料庫運維、伺服器運維、後端開發、打包發佈等等工作,一個小程式開發賬號下還可以建立兩個這樣的雲端後臺,不管是從運行效率、空間容量等方面,應該沒有比官方能優化的更好的第三方解決方案了。
我們的 DevOpenClub 社群中也開始孵化了一些微信小程式方面的項目,感興趣的朋友可以在那裡找到志同道合的朋友,利用閑暇的時間來實現一些自己的想法了,開發的成本已經非常非常低了。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 所謂“工欲善其事,必先利其器”。Android Studio 是谷歌推出一個Android集成開發工具,基於IntelliJ IDEA. 類似 Eclipse ADT,Android Studio 提供了集成的 Android 開發工具用於開發和調試。 在IDEA的基礎上,Android Studi ...
  • 一.什麼是模塊化 什麼是模塊化呢?有一種定義是:模塊化是一種處理複雜系統分解為更好的可管理模塊的方式。由此可見,模塊化思路下構成的複雜系統是由各個可管理的子模塊構成的,每個子模塊之前相互獨立,並通過某種特定的方式進行通信。在工業上面,有模塊化汽車的概念,也有模塊化手機的概念,各個模塊根據一定的標準進 ...
  • Android線程間的通信是使用消息機制來實現的。線程通過Looper建立自己的消息迴圈, 對應MessageQueue。 MessageQueue是FIFO的消息隊列。Looper負責從MessageQueue中取出消息,並且分發到消息指定的目標Handler對象,由Handler對象對Messa ...
  • 自定義SurfaceView 主要步驟: 實現SurfaceHolder.Callback介面,創建SurfaceView的生命周期 實現Camera.PreviewCallback介面,創建預覽回調介面 創建Camera打開相機 實例: FrameCallback回調介面 MainActivity ...
  • 一.Jquery的基本功能 二.Jquery選擇器 主要分為四種,分別是基本選擇器,層次選擇器,過濾選擇器,和表單選擇器,其中當屬基本選擇器用途最廣泛。 1.基本選擇器 類似於getElemenById(“”)<=>$("") 常用的有$("*"),$("#id"),$(".class"),$("p ...
  • 前言: 本人安裝nginx-echo-module的初衷是之前遇到過一些時候,雖然有配置location規則,但是卻在瀏覽器訪問時,出現錯誤等未匹配或不符合預期的情況,想要知道,實際上是否有匹配哪條location規則,但是nginx的日誌卻只能記錄請求url,所以,看到echo輸出就很開心,畢竟感 ...
  • 從零開始,用最少的配置、最少的代碼、最少的依賴來搭建一個最簡單的webpack+react環境 ...
  • 首先引入<canvas></canvas>標簽就不必說了。 其次就是得到canvas的2d環境了( var ctx = canvasDom.getContent('2d') )。 現在呢,你可能想畫點什麼東西。畫東西之前你要確定好一些東西,比如: ctx.fillStyle 這是一個用來確定填充顏色 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...