小程序開發(fā)使用哪個后臺(小程序開發(fā)需要后端嗎)
本篇文章給大家談談小程序開發(fā)使用哪個后臺,以及小程序開發(fā)需要后端嗎對應的知識點,希望對各位有所幫助,不要忘了收藏本站喔。
一個小程序的后臺是web端
小程序
第一個web項目-微信小程序后端開發(fā)
?
第一個web項目-微信小程序后端開發(fā)
前言
需求分析
團隊分工
總體設計
開發(fā)工具及編碼實現(xiàn)
小程序前端
后端
數(shù)據(jù)庫
接口代碼
管理系統(tǒng)前端1.0
管理系統(tǒng)前端2.0
測試
后端本地測試
前后端聯(lián)合測試
部署
總結(jié)
第一個web項目-微信小程序后端開發(fā)
前言
去年暑假一個偶然的機會我和幾位同學加入了學院一位老師主持的教改項目,需求是開發(fā)一個基于SPOC與翻轉(zhuǎn)課堂的計算機組成原理課程的學習app(類似慕課、知到),后來經(jīng)過討論決定降低難度,先做一個微信小程序,附帶一個后臺管理系統(tǒng),于是我的第一個web項目就開始了~
需求分析
這里簡單介紹下SPOC和翻轉(zhuǎn)課堂的意思
翻轉(zhuǎn)課堂
“翻轉(zhuǎn)課堂”(Flipping Classroom)是一種顛覆傳統(tǒng)教學由“課堂授課聽講 + 課后作業(yè)練習”轉(zhuǎn)變?yōu)椤罢n前自主學習 + 課堂協(xié)作探究”的新型教學模式。
SPOC
SPOC(Small Private Online Course)一般被譯為小規(guī)模限制性在線課程或者小規(guī)模私有型網(wǎng)絡課程,音譯為“私播課”。
這次項目的需求是開發(fā)一個學習類型的小程序,用戶分為學生和教師,其中學生可以觀看視頻、課件、動畫,完成作業(yè)、考試以及發(fā)布評論、點贊、回復,而教師可以上傳教學視頻、課件、動畫和發(fā)布作業(yè)、考試、通知,以及查看學生的學習情況,也可以查看評論回復,及時解答學生的疑惑。
團隊分工
團隊一共有四個人,總體工作分為產(chǎn)品設計、前端開發(fā)、后端開發(fā)三部分,然后每部分由兩人負責。其中我是負責后端開發(fā)的,同時兼任項目負責人(其實也沒有聽上去那么高大上,只是需要承擔更多決策、協(xié)調(diào)、溝通的角色)。
總體設計
這里分為小程序和管理系統(tǒng)
首先是小程序,放幾張使用墨刀制作的原型圖,這里多說兩句,市面上的小程序基本都是微信授權(quán)直接登錄,最多綁定手機號,我們這個由于要統(tǒng)計學生的學習情況才設置了注冊和登錄功能
至于管理系統(tǒng),由于是10月份才開始做的,而且是我和另一位做后端的同學負責的,時間比較緊,我們作為前端小白沒有十分系統(tǒng)的方法去做開發(fā),只是大概確定了需要做哪些模塊,每個模塊對哪些表的增刪改查,這里原型圖就不放了(較簡陋)
開發(fā)工具及編碼實現(xiàn)
小程序前端
據(jù)我了解,做前端的同學先去微信公眾平臺注冊賬號,然后做一些開發(fā)設置,具體步驟自行百度。前端用的是微信開發(fā)者工具,有不會的基本上在微信開放文檔都可以找到,包括許多實用的API。
后端
這里分為數(shù)據(jù)庫、接口代碼兩部分
數(shù)據(jù)庫
用的是mysql數(shù)據(jù)庫,之前是跟著學堂在線的一個小程序入門教程做的,它推薦的本地開發(fā)環(huán)境是phpstudy,里面集成了php、mysql、apache、FTP、Nginx以及數(shù)據(jù)庫管理工具phpMyAdmin,關(guān)于phpMyAdmin使用請看
原本的數(shù)據(jù)庫設計得不好,存在較多冗余數(shù)據(jù),后來學習了數(shù)據(jù)庫系統(tǒng)這門課,我進行了大改,先確定有哪些實體以及實體之間的聯(lián)系,然后畫er圖,最后再建模,通過外碼約束大量減少了冗余,也減少了表的數(shù)量。
接口代碼
教程使用的是php語言,框架是thinkphp5,開發(fā)手冊看,我當時是去b站找視頻學了下php基礎語法,然后就去學原生php以及框架如何操作數(shù)據(jù)庫。然后根據(jù)業(yè)務邏輯開始編碼,其實每個接口(或者叫類里面的一個函數(shù))結(jié)構(gòu)都差不多,主要是三部分:接收前端傳來的數(shù)據(jù)、增/刪/改/查、返回結(jié)果給前端。
順便說下代碼編輯用的是sublime text3,教程看,這個不是ide,沒有那么多的功能比如調(diào)試、運行,單純是只有編輯、加注釋、格式化等等,這里吐槽下自帶的格式化代碼功能(先選擇代碼,再Edit - Line - Reindent),有點辣雞。而且如果有語法錯誤不會像eclipse那樣自動檢測出來,之前被坑了幾次,肉眼找不到的話只能用postman去測試了。
管理系統(tǒng)前端1.0
一開始我們是不知道還要做個管理系統(tǒng)的,以為所有功能都放在小程序,后來老師跟我們討論聊到這個問題,我們才知道原來還有這回事,其實就是管理系統(tǒng)應該具有一切功能,即對數(shù)據(jù)庫所有表的增刪改查,而小程序只需要有些輕量的功能即可,至于上傳大容量文件、查看學習情況這些不夠輕量的功能全部放在管理系統(tǒng)。好吧,凡事總有第一次,我們就開始學習基本的前端三件套html,css,javascript。
開始做的時候我們希望先實現(xiàn)功能,界面難看點沒有太多關(guān)系,于是學了部分三件套的基礎后又學了ajax技術(shù)(因為要與后端通信),這里最開始用的是創(chuàng)建XMLHttpRequest 對象,用open()方法設置請求類型和url,用send()方法發(fā)送數(shù)據(jù)到后端,直到遇到了jquery,后面的請求統(tǒng)一都用$.ajax()了。
接下來又遇到了一個難點,因為基本都用表格來展示數(shù)據(jù),那獲取數(shù)據(jù)后如何動態(tài)地加入表格呢?查找資料后用每一條數(shù)據(jù)拼接成由tr標簽包含的字符串,然后用jquery獲取表格標簽后調(diào)用append()方法加入表格中。
除此之外,我們想在每行末尾設置按鈕進行事件處理,于是我們append數(shù)據(jù)的同時也把button標簽放入剛才的字符串中,然后給每個button設置id屬性,比如用于修改數(shù)據(jù)的就叫fixi,最后這個i是代表表格第幾行,然后添加事件監(jiān)聽,點擊button時獲取id,然后查看最后一位是多少從而確定是第幾行。
這些做法實現(xiàn)起來是挺繁瑣的,而且感覺在重復造輪子,我們也做得有點郁悶,因為每個頁面基本都要這樣做,但是當時沒有那么多的時間精力去學習框架,只是想先實現(xiàn)功能(u1s1,上學期的課多到我快吐了)。
放兩張界面圖
管理系統(tǒng)前端2.0
之前放假,總算有較多空余時間了,我們決定要改下界面,但畢竟自身水平不高,因此需要用一點第三方的東西了。
在跟小程序前端測試了部分功能后,有一天后端同學找到了一個開源的框架然后我們一起看了下說明文檔,最后決定:就用它了。
有請layui登場,經(jīng)典模塊化前端框架、低門檻開箱即用。
真正使用之前可以先看看文檔,個人感覺上手還是挺快的。layui提供了許多實用的組件包括彈出層、表格、表單、文件上傳、流加載等等。
就拿表格來說,之前我們用append動態(tài)添加數(shù)據(jù),現(xiàn)在直接table.render(),設置好參數(shù)就行了;之前我們給button設置id進行事件處理,現(xiàn)在綁定工具條,直接table.on()就行了;而且之前我們沒實現(xiàn)的分頁,現(xiàn)在設置分頁參數(shù)就行了,然后查詢數(shù)據(jù)庫時分頁讀取。
另外,layui提供了一個頁面布局的模板,包括logo、用戶名、退出按鈕、導航欄以及一些css動畫。我們要做的就是按照它的模板來,頁面元素的樣式也參考它提供的。
有了layui的助攻,我們可以將更多注意力放在業(yè)務邏輯上,更多關(guān)注用戶體驗。
測試
后端本地測試
工具:postman
使用:打開一個新窗口,選擇請求類型,輸入url,設置參數(shù),點擊send
這種測試我認為是模擬前端發(fā)送數(shù)據(jù)然后運行后端代碼,看結(jié)果是否正確,屬于白盒測試,但是我們不是專業(yè)測試人員,目前這樣測試不是做得很規(guī)范,只能盡可能想到不同的測試用例。
前后端聯(lián)合測試
由于放假回家了沒辦法面對面,只能借助騰訊會議線上測了。
在部署工作完成之后,一般是我們寫好接口代碼,然后把url和需要的參數(shù)告訴前端同學(這里注意下,微信小程序的請求api只允許https開頭的url,而且前端必須在微信公眾平臺配置好合法域名,不然會報錯),前端把這些東西填入那個wx.request的api然后運行,他們會查看返回的數(shù)據(jù)是否正確,我們會查看數(shù)據(jù)庫的情況,如果沒問題會測試多幾個數(shù)據(jù),都可以的話就到下一個功能,這種方式應該是屬于軟工講到的V模型的單元測試。
部署
用的是新浪云,實名認證、學生認證后會送一些云豆(新浪云的計費單位,1RMB=100云豆)
跟著之前說的教程把整個thinkphp項目部署到新浪云,具體步驟看
代碼
在代碼管理那里可上傳壓縮包,或者在線編輯(跟記事本差不多),改動大的最好在本地寫好再貼上去
數(shù)據(jù)庫
開啟共享型mysql服務,目前用了phpmyadmin4.9版本,然后建表或?qū)雜ql文件
緩存
開啟memcached服務,設置容量16MB(省點錢),其實這個服務我不是很清楚干什么的,但如果不打開訪問接口時會報致命錯誤?
文件存儲
我們需要保存許多類型的文件包括視頻、課件、動畫、作業(yè)、考試、頭像,因此需要存放在服務端。這里開啟storage服務,使用方法看,普通用戶配額5個bucket,每個容量10G,然后直接當作本地磁盤那樣用就行了,控制臺或?qū)懘a都可上傳文件,上傳后獲得url,然后就可以通過網(wǎng)絡訪問,關(guān)于新浪云環(huán)境下php如何操作看官方文檔。
域名
應用信息可查看二級域名,獨立域名需要購買且備案
日志
日志中心可查看每次請求的接口、時間、請求方設備等信息
其它
控制臺還可以實時查看流量統(tǒng)計、資源使用情況,以及消費情況
總結(jié)
這個項目我也算前后端都做了一遍,感覺前端不太適合自己,可能是對頁面元素樣式、用戶體驗不夠敏感,不過必須承認前端是挺有意思的。至于后端是更加注重邏輯,目前我對后端的了解只停留在數(shù)據(jù)庫、網(wǎng)絡、部署層面,其實如果用戶數(shù)量非常多還要考慮高并發(fā)的問題,也就要使用多線程、負載均衡、消息隊列等技術(shù)了,所以還有很多技術(shù)需要學習
微信小程序后端一般用什么開發(fā)
1、后端開發(fā)是不受微信小程序的限制的
2、后端可以用java,php等其他語言開發(fā)
3、開發(fā)時也可以使用不同的框架進行開發(fā)
用php做微信小程序的后臺都需要什么?
可以用任何語言或平臺(比如JSP、PHP、ASP等)來寫后臺,只要能接收小程序發(fā)送的請求,并按小程序要求的格式返回數(shù)據(jù)即可。也可以利用騰訊云提供的小程序解決方案很方便地建立一個后臺數(shù)據(jù)處理系統(tǒng)(目前支持Node.js和PHP方式)。
如果你的小程序無需后臺提供數(shù)據(jù),也可以完全不用后臺,直接在小程序內(nèi)部解決??傊磺锌葱枰?。
小程序開發(fā)使用哪個后臺的介紹就聊到這里吧,感謝你花時間閱讀本站內(nèi)容,更多關(guān)于小程序開發(fā)需要后端嗎、小程序開發(fā)使用哪個后臺的信息別忘了在本站進行查找喔。