國慶假期后的第一天,老板把前端開發張大胖叫到辦公室,給他派了一個小活兒:“給客戶開發一個電子商城的小程序。”
張大胖一聽就急了:“我是前端開發,不會寫后端啊。”
老板說:“哦,小程序也要后端?沒辦法,公司的后端都派到另外一個項目上去了,抽不出來人了!不會可以學嘛!這個小項目就靠你了,搞好了給你發獎金!”
領導拍拍張大胖的肩膀就走了,張大胖拿到需求一看,這哪里是小活兒,這個商城的業務邏輯雖然不復雜,但是客戶的要求高啊,什么高可用、擴容、熱備、DDos.....自己一個寫前端的根本就沒搞過啊。
張大胖趕緊給學后端的死黨小李打電話,小李馬上給他支了一招:你可以買個云服務器,裝上數據庫、Redis、Nginix、Tomcat、Spring、Docker......
張大胖一聽就頭大了:“后端這么多東西,我無論如何也搞不定啊!就沒有一個平臺把這些東西都屏蔽了,讓我專注業務邏輯開發嗎?”
小李又說:“那你可以看看Serverless,聽說騰訊云開發搞得不錯,你可以去看看。”
0 1
救命稻草
張大胖像是抓住了救命稻草,趕緊打開騰訊云開發官網(https://tcb.cloud.tencent.com/),用一個todo應用做了一次試水,感覺大喜過望,這玩意兒太適合自己了!
張大胖現在欠缺的主要是兩個方面:
1.不會搭建后端環境
2.不知道如何實現后端業務。
騰訊云開發的無服務器架構把這兩個問題都解決了,比如todo應用需要在服務器端保存數據,傳統的開發方式肯定要買個服務器,配置環境,安裝數據庫。
但是騰訊云開發并不需要,就在云開發的后臺創建一個叫todo的數據集合就行。
一個數據集合就相當于關系數據庫的一張表,可以對這張它進行“增刪改查”,具體該怎么做呢?
這一點騰訊的云開發做得更牛,在前端的JavaScript中就可以完成了:
const db = await getApp().database()
// 在數據庫中新建待辦事項,并填入已編輯對信息
db.collection(getApp().globalData.collection).add({
data: {
title: this.data.title, // 待辦標題
desc: this.data.desc, // 待辦描述
files: this.data.files, // 待辦附件列表
freq: Number(this.data.freq), // 待辦完成情況(提醒頻率)
star: false
}
})
換句話說,傳統開發模式下需要后端寫的邏輯,提供的接口,現在都可以用前端來實現了。
看到這樣的代碼,張大胖不由得笑出聲來:哈哈哈,以后再也不用求后端給接口了,前端操作一切,包辦一切,簡直是要多爽就有多爽,那些后端程序員恐怕也要轉到前端開發了!
如果系統需要保存文件,騰訊的云存儲支持安全、高速的文件存儲服務。同樣在前端就可以操作。
// 將選擇結果中的臨時文件上傳到云存儲
const file = res.tempFiles[0]
getApp().uploadFile(file.name, file.path).then(res => {
// 存儲已上傳的文件名、文件大小及其 id
this.data.files.push({
name: file.name,
size: (file.size / 1024 / 1024).toFixed(2),
id: res.fileID
})
......
)
上傳成功后,拿到一個File ID就可以在前端使用了。
當然,如果不想暴露數據庫的細節,或者需要得到一些特殊的功能(如獲取openId、定時運行某些功能),可以把這些邏輯寫出云函數,讓前端JS來調用。
然后上傳到云端就可以使用了。
更關鍵的是,這些數據庫和文件存儲是騰訊云提供的,天然支持彈性擴容、縮容、備份,按量計費,客戶的那些“非功能性”需求自己一點兒不用操心就自動搞定了。
0 2
虛驚一場
有了云數據庫、云存儲,云函數,張大胖就像打通了任督二脈,拋開了基礎設施和后端開發帶來的枷鎖,自己就可以專注業務,完成這個電子商務的小程序了。
他還在微信開發者工具上找到了一個電商應用模板,這個模板已經很完善了,支持商品分類、詳情展示、購物車、下訂單等功能,稍微改吧改吧就可以用了。
到了支付這一步,張大胖又發現了微信支付模板,利用它很快就把支付功能給實現了。
正當他想給老板交活兒的時候,突然想到一個問題:這個電商系統只完成了普通用戶使用的部分,還得有后臺管理才行啊!
要不然,怎么管理用戶?如何添加商品?如何管理優惠券?
這個后臺管理是脫離小程序存在的,如果想依賴云函數來實現,那簡直是一場噩夢。看來低估工作量了,想到這里,張大胖背后出了一身冷汗。
怎么辦?張大胖趕緊去查騰訊云開發的文章,謝天謝地,騰訊云開發支持快速搭建后臺管理系統!
張大胖還是拿那個todo應用做實驗,在云后臺,先建立一個數據模型,可以選擇“對接已有數據表并生成模型”,然后選擇todo應用對應的todo集合就行了。
接下來,管理界面立刻自動生成:
在這里,可以直接新增、刪除、編輯數據了,非常方便。
如果你覺得這種自動生成的管理界面太簡單,還可以到騰訊的微搭當中,使用低代碼的方式,生成更加個性化的頁面和配置。
微搭提供了文本、富文本、圖片、文件等多種類型的可視化編輯,不但易于開發,還與云開發的生態體系緊密結合,做出你想要的任何后臺管理界面。
內容管理的問題解決了,真是虛驚一場。
0 3
胸有成竹
功能開發完了,張大胖點擊了一下微信開發工具的“上傳”按鈕,到后臺提交審核,整個系統就上線完成了。
想想原來復雜的部署過程,張大胖非常感慨,根本不用考慮什么docker、k8s、負載均衡...... 實在是太方便了。
張大胖交了活兒,老板簡單看了一下,表示很滿意,說要拿給客戶看看。
張大胖很高興,就等著發獎金了。
沒想到,過了兩天,老板傳話說現在人工智能很火爆,客戶要加個智能客服。
這一次,張大胖一點兒都沒有慌張,因為他在瀏覽騰訊云開發文檔的時候,就知道云開發已經支持AI了,它可以直接接入現在市面上流行的各種大模型,也可以生成一個智能體。
因為智能客服涉及到知識庫,張大胖創建了一個智能體,設定了智能體的人設“你是一個電子商務的客服,要站在客戶的角度來解決客戶提出的問題,盡量讓客戶滿意。”
然后給它創建了一個知識庫:
在知識庫中添加了相關的文件:
簡單的幾步,一個智能體就創建好了,接下來就可以調用了:
// ai 初始化略
const res = await ai.bot.sendMessage({
botId: "botId-xxx", //智能體的Id
msg: "你們這里有沒有超大號的T恤?",
});
for await (let str of res.textStream) {
console.log(str);
}
0 4
最終結局
老板沒有想到,張大胖這么快就把智能客服給搞定了,張大胖得意地給老板講起來騰訊云開發的各種優勢:
“這是一個一體化應用開發平臺,借助云數據庫、云存儲、云函數,無需自行搭建服務器就可以開發、上線應用,彈性擴容,按量計費,支持強大的后臺管理系統,還支持接入AI,支持微搭低代碼用拖拉拽方式快速生成應用,我一個前端就把所有事情都搞定了。”
但是老板根本不在乎具體細節,他只是說:好啊,連后端程序員都不用了,我以后多接一點兒這樣的活兒,你可以多帶幾個人來做......”
張大胖:“那這次的獎金......”
“等客戶的回款到了再說吧......”
(完)
看完張大胖的故事,你應該對騰訊云開發的強大能力留下深刻的印象,實際上,“低門檻”的騰訊云開始只是 騰訊云工具箱 的一個工具而已。
在這個工具箱里還有“高效率”的 高性能應用服務HAI 、“增質量”的 AI代碼助手 、“多模態檢索”的 向量數據庫 ,使用這些強大的工具,可以幫助程序員在AI原生時代更專注產品設計本身,簡化開發流程,實現生產效率和質量的躍升。
點擊下方小程序 ,即可獲得“ 騰訊云工具指南 ”,其中包括各種工具介紹,應用場景和成功案例,不容錯過。
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.