低代碼從0到1創(chuàng)建小程序項目詳解流程
我們使用代碼編程的時候,前端是寫標(biāo)簽,后端是寫if/else、for循環(huán)來執(zhí)行邏輯處理。
那低代碼如何體系化的學(xué)習(xí)呢?這里我們按照代碼方式學(xué)習(xí)做個對照。
1 搭建開發(fā)工具
一般如果我們使用微信開發(fā)者工具,開發(fā)小程序需要安裝工具。低碼工具不需要安裝,是在線進(jìn)行編程。但和開發(fā)者工具一樣,低碼也是需要綁定小程序的。我們在開發(fā)者工具里一般是需要配置自己小程序的appid,如果使用了云開發(fā)的,還需要開通云開發(fā)。
我們使用低碼開發(fā)需要在小程序認(rèn)證那塊,綁定自己的小程序。
我這里一個綁定成功了,一個綁定失敗了。失敗的原因是小程序和我們的低碼賬號不是同主體,意思是必須以你自己的微信號申請,不能綁定別人的小程序。
2 創(chuàng)建項目
我們使用微信開發(fā)者工具,打開工具的時候就要求創(chuàng)建項目,所謂的創(chuàng)建項目是在你本地新建一個文件夾,然后按照小程序項目的要求生成對應(yīng)的目錄結(jié)構(gòu)。比如有js、json、wxml、wxss等。
低碼中我們講的創(chuàng)建項目是指創(chuàng)建應(yīng)用,一個應(yīng)用就相當(dāng)于一個項目。不同于小程序,低碼的外延更廣,可以創(chuàng)建PC端的項目,也可以創(chuàng)建移動端的項目。移動端的項目不僅可以創(chuàng)建小程序,也可以創(chuàng)建H5。
而且比小程序方便的是,低碼是可以根據(jù)模板創(chuàng)建項目的。所謂的模板是指事先已經(jīng)開發(fā)好的項目,就像我們從github上clone一樣。當(dāng)你clone完畢后整個工程的源代碼就都下載到了本地。低碼中依據(jù)模板新建是將做好的項目安裝到你自己的空間里。這樣你就有了一套成熟的模板,可以在此基礎(chǔ)上進(jìn)行修改。這樣做無疑大大的提高了開發(fā)效率。
3 功能開發(fā)
微信小程序獨創(chuàng)了一套語法,分別是wxjs、wxml、wxss。如果我們希望開發(fā)難免增加了不少難度,因為又得單獨學(xué)習(xí)一套語法。低碼的話組件是使用的react,低碼編輯器里是用的javascript。后臺方法是用的云函數(shù),學(xué)習(xí)nodejs即可??傮w你只要學(xué)會了Js開發(fā)低碼應(yīng)用是沒啥問題的。
低碼中也有頁面的概念,但是是可視化創(chuàng)建的。
頁面開發(fā)的時候完全是可視化的拖拽,并不需要學(xué)習(xí)啥語法知識
如果需要給組件設(shè)置事件的,可以使用平臺方法,也可以使用自定義方法
自定義方法是按照J(rèn)s語法進(jìn)行編程
export default { async onAppLaunch(launchOpts) { //console.log('---------> LifeCycle onAppLaunch', launchOpts) const { OPENID, FROM_OPENID } = await app.utils.getWXContext() let userId = FROM_OPENID || OPENID if (!userId) { const { wedaId } = await app.cloud.getUserInfo() userId = wedaId } app.dataset.state.openid = userId console.log(app.dataset.state.openid) const result = await app.cloud.callModel({ name: 'user_h4la7ee', methodName: 'wedaGetRecords', params: { "where": [ { "key": "openid", "rel": "eq", "val": app.dataset.state.openid } ] }, // 方法入?yún)? }); console.log(result.total) if(result.total ===1){ app.dataset.state.islogin = true app.dataset.state.imageUrl = result.records[0].imageUrl app.dataset.state.nickName = result.records[0].nickName } console.log(app.dataset.state.islogin,app.dataset.state.imageUrl,app.dataset.state.nickName) const adminresult = await app.cloud.callModel({ name: 'admin_qohkmr5', methodName: 'wedaGetRecords', params: { "where": [ { "key": "openid", "rel": "eq", "val": app.dataset.state.openid } ] }, // 方法入?yún)? }); console.log(app.dataset.state.openid) console.log(adminresult) if(adminresult.total===1){ app.dataset.state.isadmin = true } console.log("isadmin",app.dataset.state.isadmin) }, onAppShow(appShowOpts) { //console.log('---------> LifeCycle onAppShow', appShowOpts) }, onAppHide() { //console.log('---------> LifeCycle onAppHide') }, onAppError(options) { //console.log('---------> LifeCycle onAppError', options) }, onAppPageNotFound(options) { //console.log('---------> LifeCycle onAppPageNotFound', options) }, onAppUnhandledRejection(options) { //console.log('---------> LifeCycle onAppUnhandledRejection', options) } }
4 后端實現(xiàn)
小程序一般只能解決前端交互的功能,后端你必須自己開發(fā)功能,安裝到服務(wù)器上還需要暴露接口。但是一般我們的后臺服務(wù)都是需要鑒權(quán)的,不可能像網(wǎng)站一樣公開使用。低代碼提供了后端的云函數(shù),直接使用就可以。如果官方提供的不滿足要求,還可以自己編寫代碼
使用 npm 包 request 發(fā)送http請求, 詳細(xì)使用文檔可以參考
https://github.com/request/request#readme
const cloud = require('wx-server-sdk') cloud.init({ env: cloud.DYNAMIC_CURRENT_ENV, }) module.exports =async function (params, context) { // params 即為入?yún)⒍x的結(jié)構(gòu), 可以在 request 的請求配置中使用 params try { console.log("cloud",params.templateid) const result = await cloud.openapi.subscribeMessage.send({ "touser": params.openid, "page": 'my', "lang": 'zh_CN', "data": { "thing2": { "value": params.thing2 }, "date3": { "value": params.date3 } }, "templateId": params.templateId, "miniprogramState": 'trial' }) console.log("result",result) return result } catch (err) { return err } };
總結(jié)
我們今天用了一定的篇幅概要的介紹了一下使用低碼是如何從0到1構(gòu)建應(yīng)用的。當(dāng)然就像我開篇講的,如果想要熟練開發(fā)出應(yīng)用,找一套體系化的教程,外加老師的輔助還是有必要的。那些想跨行業(yè)進(jìn)入軟件開發(fā)領(lǐng)域的,不防嘗試一下低碼的解決方案,希望能給你帶來不一樣的體驗。
到此這篇關(guān)于低代碼從0到1創(chuàng)建小程序項目詳解流程的文章就介紹到這了,更多相關(guān)0到1實現(xiàn)小程序內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Ionic3 UI組件之a(chǎn)utocomplete詳解
這篇文章主要為大家詳細(xì)介紹了Ionic3 UI組件之a(chǎn)utocomplete的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-06-06發(fā)一個數(shù)據(jù)過濾的代碼,很簡單,有用的著的拿去
發(fā)一個數(shù)據(jù)過濾的代碼,很簡單,有用的著的拿去...2007-02-02