楊碩珩,白如博,門士堯,張一博,李孝忠
(天津科技大學(xué)計(jì)算機(jī)科學(xué)與信息工程學(xué)院,天津 300457)
Bmob后端云在Android即時(shí)通訊APP開發(fā)中的應(yīng)用*
楊碩珩,白如博,門士堯,張一博,李孝忠
(天津科技大學(xué)計(jì)算機(jī)科學(xué)與信息工程學(xué)院,天津 300457)
在移動(dòng)互聯(lián)網(wǎng)時(shí)代,越來越多的開發(fā)者需要快速跟進(jìn)用戶需求,快速迭代產(chǎn)品的開發(fā)方式是傳統(tǒng)開發(fā)方式難以滿足的,本文使用后端云業(yè)務(wù)為APP提供后臺(tái)支持,事實(shí)證明這種方法將大大減少開發(fā)成本,使得開發(fā)者能更加專注APP特有功能的開發(fā)。
Bmob;后端云平臺(tái);Android;即時(shí)通訊APP
在移動(dòng)互聯(lián)網(wǎng)時(shí)代,獲取即時(shí)的資訊消息不再需要通過門戶網(wǎng)站,不同功能的手機(jī)應(yīng)用軟件可以根據(jù)用戶的偏好自行下載安裝,從而將個(gè)性化的服務(wù)直觀地呈現(xiàn)在用戶面前。
隨著越來越多的開發(fā)者選擇開發(fā)APP[1],傳統(tǒng)的開發(fā)方法暴露出存在流程復(fù)雜的問題。復(fù)雜的開發(fā)流程無法匹配開發(fā)者對(duì)產(chǎn)品迭代速度的需求,許多軟件的開發(fā)涉及諸如數(shù)據(jù)庫開發(fā)、服務(wù)后臺(tái)開發(fā)、客戶端開發(fā)等多個(gè)方面[2],其中大量重復(fù)且繁瑣的工作不僅浪費(fèi)了大量社會(huì)成本,也不利于個(gè)人開發(fā)者和創(chuàng)業(yè)團(tuán)隊(duì)快速跟進(jìn)用戶需求[3]。
本文以基于安卓平臺(tái)的即時(shí)通訊手機(jī)APP開發(fā)為例,使用Bmob云平臺(tái)作為后端云,搭建了產(chǎn)品功能類似于“微信”的即時(shí)通訊軟件,該方法的使用省去了個(gè)人開發(fā)者在后臺(tái)搭建方面的學(xué)習(xí)成本,也減少了創(chuàng)業(yè)公司的人力成本,使其可以專注于軟件功能設(shè)計(jì)和界面優(yōu)化,相信這種開發(fā)方式將成為未來APP開發(fā)的方向。
Bmob后端云是國內(nèi)領(lǐng)先后端云服務(wù)提供商[4],該平臺(tái)主要面向個(gè)人開發(fā)者和中小型創(chuàng)業(yè)團(tuán)隊(duì),提供免費(fèi)基礎(chǔ)服務(wù)或收費(fèi)的高級(jí)服務(wù)。Bmob后端云平臺(tái)封裝了手機(jī)應(yīng)用開發(fā)中許多常見的需要服務(wù)器訪問請(qǐng)求的功能,開發(fā)者可直接調(diào)用封裝后的功能編寫軟件代碼,并使用Bmob云服務(wù)器完成這些功能,Bmob后端云平臺(tái)提供的主要功能服務(wù)如下[5]:
云數(shù)據(jù)庫是Bmob后端云最早提供的服務(wù)之一,幫助使用者在線創(chuàng)建自定義的云數(shù)據(jù)庫,并提供可視化的云端數(shù)據(jù)表界面。非常友好地幫助開發(fā)者快速搭建后臺(tái)。
消息推送服務(wù)是伴隨著云數(shù)據(jù)庫業(yè)務(wù)提供給開發(fā)者的后臺(tái)搭建服務(wù),使開發(fā)者通過云端進(jìn)行消息推送,避免針對(duì)不同手機(jī)設(shè)備的攔截開發(fā)推送功能,大大節(jié)省了開發(fā)成本。
用戶系統(tǒng)服務(wù)是云數(shù)據(jù)庫的應(yīng)用之一,由Bmob封裝了用戶登錄注冊(cè)的所有方式,如郵箱注冊(cè),第三方應(yīng)用授權(quán)等,使開發(fā)者不需要重復(fù)開發(fā),這也是Bmob后端云不同于云服務(wù)器租賃企業(yè)的重要區(qū)別。
移動(dòng)支付服務(wù)是Bmob面向需要實(shí)現(xiàn)在線支付功能的開發(fā)者提供的后臺(tái)服務(wù),Bmob封裝了這類方法,開發(fā)者不再需要與第三方支付機(jī)構(gòu)進(jìn)行逐戶談判。移動(dòng)支付服務(wù)與用戶系統(tǒng)服務(wù)一樣,是Bmob后端云為開發(fā)者代為提供的后臺(tái)服務(wù),這樣的服務(wù)從根本上減少了開發(fā)者的工作量,降低了創(chuàng)業(yè)時(shí)的門檻。
即時(shí)通訊APP是一類典型的手機(jī)應(yīng)用軟件,一款完整的即時(shí)通訊APP的結(jié)構(gòu)即符合常見的C-S架構(gòu)[6],手機(jī)用戶通過即時(shí)通訊客戶端與其他用戶聯(lián)系,服務(wù)器則需要負(fù)責(zé)通訊信息的收集和轉(zhuǎn)發(fā)等功能。在本文所介紹的即時(shí)通訊APP中,包含了創(chuàng)建個(gè)人賬戶,賬戶登錄登出、添加通訊錄好友,以及向好友發(fā)送圖片、文字、語音信息等功能。即時(shí)通訊APP絕大部分功能的實(shí)現(xiàn)需要在服務(wù)器中進(jìn)行操作,以下本文以其中三個(gè)功能為例,介紹了該APP使用Bmob后端云進(jìn)行開發(fā)的工作。
多數(shù)手機(jī)應(yīng)用軟件需要提供登錄注冊(cè)功能,重復(fù)而繁瑣的開發(fā)工作對(duì)小團(tuán)隊(duì)開發(fā)者設(shè)置了很大障礙,Bmob后端云提供一整套完備的用戶登錄注冊(cè)功能,這套功能與Bmob云數(shù)據(jù)庫完美的結(jié)合在一起。在實(shí)際開發(fā)過程中,開發(fā)者需要注冊(cè)成為Bmob后端云用戶,在安卓代碼中加入Bmob提供的SDK,即可享受免費(fèi)的基礎(chǔ)服務(wù),在云端創(chuàng)建的數(shù)據(jù)庫可以自動(dòng)接收來自用戶的注冊(cè)和登錄信息,其維護(hù)工作也由云端完成。此外,Bmob后端云還提供了短信驗(yàn)證碼服務(wù)和郵箱注冊(cè)等功能,涵蓋了所有主流注冊(cè)登錄方式,圖1為本文介紹的APP的注冊(cè)界面。
圖1 APP注冊(cè)界面
即時(shí)通訊APP開發(fā)的主要難度集中在消息推送方面[7],不同于傳統(tǒng)網(wǎng)站論壇的消息推送處理,即時(shí)通訊APP需要實(shí)時(shí)監(jiān)聽推送信息,而非用戶登錄后再刷新消息,如果由中小團(tuán)隊(duì)開發(fā)這類功能,實(shí)時(shí)監(jiān)聽程序?qū)ο到y(tǒng)資源的消耗將無法控制,通常受制于自身技術(shù)能力,中小團(tuán)隊(duì)開發(fā)的即時(shí)通訊APP很可能出現(xiàn)內(nèi)存占用過高、流量消耗過快等情況,對(duì)用戶體驗(yàn)造成傷害。Bmob后端云封裝了一系列消息推送方法,發(fā)送方的消息上傳、服務(wù)器的轉(zhuǎn)發(fā)、接受者的監(jiān)聽皆由統(tǒng)一的技術(shù)完成,開發(fā)者只需根據(jù)官網(wǎng)提供的API介紹將不同的封裝方法加入自己的代碼中即可,其余過程不需要開發(fā)者參與,這種方式也體現(xiàn)了Bmob的設(shè)計(jì)初衷——使開發(fā)者更專注于軟件界面和功能的設(shè)計(jì)。圖2為本文APP的聊天界面。
圖2 APP聊天界面
用戶信息管理是軟件常見的后臺(tái)功能,也是重要的后臺(tái)開發(fā)工作,Bmob后端云為此提供的一種云數(shù)據(jù)庫服務(wù),開發(fā)者可以輕松創(chuàng)建自定義的云數(shù)據(jù)庫表,確認(rèn)字段名,字段值類型等參數(shù)。通過網(wǎng)頁登錄的方式,Bmob后端云提供了可視化的后臺(tái)服務(wù),開發(fā)者可以查看后臺(tái)信息。云數(shù)據(jù)庫還與前文提到的注冊(cè)登陸功能可實(shí)現(xiàn)無縫對(duì)接,僅需簡單的配置,無需開發(fā)者參與開發(fā)。同時(shí),Bmob云數(shù)據(jù)庫也極其重視用戶隱私,開發(fā)者不能查看用戶的密碼等關(guān)鍵信息。圖3為可視化的Bmob云數(shù)據(jù)表。
圖3 可視化的Bmob云數(shù)據(jù)表
從開發(fā)者角度來看,使用傳統(tǒng)服務(wù)器需要付出專門的人力、場地和硬件成本,開發(fā)團(tuán)隊(duì)不僅需要開發(fā)服務(wù)端功能,還需要定時(shí)對(duì)服務(wù)端進(jìn)行維護(hù),除此之外,服務(wù)器的數(shù)據(jù)庫文件的存儲(chǔ)備份也需要考慮,這些工作無疑增加了許多成本。相比之下后端云平臺(tái)在軟件快速開發(fā)方面有著絕對(duì)的優(yōu)勢,開發(fā)者可以免費(fèi)獲得基礎(chǔ)服務(wù),獲得企業(yè)級(jí)的服務(wù)也僅需付出很少的租用成本即可,對(duì)于個(gè)人和小型團(tuán)隊(duì)而言,這無疑是經(jīng)濟(jì)的選擇。
從技術(shù)角度來看,后端云附帶的封裝技術(shù)降低了開發(fā)者的技術(shù)準(zhǔn)入門檻,后臺(tái)服務(wù)由云服務(wù)企業(yè)提供,相較于網(wǎng)絡(luò)服務(wù)器租聘公司而言,更凸顯了技術(shù)優(yōu)勢。雖然部署服務(wù)器的成本可由服務(wù)器租賃方式降低,但后臺(tái)功能的封裝技術(shù)卻是傳統(tǒng)服務(wù)器租賃公司未能提供的,這樣的整合式服務(wù)使得開發(fā)者更傾向于選擇Bmob后端云。
對(duì)于中小企業(yè)和個(gè)人開發(fā)者來說,Bmob后端云帶來的成本降低是十分明顯的,這類用戶也更傾向于選擇Bmob后端云,從Bmob官網(wǎng)列出的合作企業(yè)來看,許多中小型體量的互聯(lián)網(wǎng)公司都選擇了該服務(wù)。
對(duì)于大型公司而言,自行搭建數(shù)據(jù)平臺(tái)幾乎是其必然的選擇,這一方面是由于大型公司擁有強(qiáng)大的人力財(cái)力,大型公司對(duì)其整個(gè)產(chǎn)業(yè)得到完全控制的需求大于對(duì)節(jié)約成本的考量;另一方面后端云服務(wù)公司亦無法提供大型公司需要的流量壓力環(huán)境等指標(biāo),因此后端云服務(wù)商為大型企業(yè)提供服務(wù)的市場環(huán)境還需要更長的時(shí)間形成。
本文介紹了Bmob后端云為開發(fā)者提供的條件,開發(fā)者或?qū)W術(shù)人員都可以通過使用價(jià)格低廉的云服務(wù)達(dá)成以往難以達(dá)成的目標(biāo),通過介紹使用Bmob后端云開發(fā)的即時(shí)通訊APP,希望能對(duì)類似功能的APP開發(fā)提供借鑒。
[1] 韓基龍.試談Android移動(dòng)云應(yīng)用的優(yōu)勢和發(fā)展趨勢[J].電腦編程技巧與維護(hù),2014(6):58-59.
[2] 李剛.瘋狂Android講義[M].北京:電子工業(yè)出版社,2015.
[3] 周冉,高玉竹.Bmob云平臺(tái)在Android App開發(fā)中的應(yīng)用[J].微型機(jī)與應(yīng)用,2015,34(1):26-28.
[4] 徐宜生.Android群英傳[M].北京:電子工業(yè)出版社,2016.
[5] 杜巍.Android App開發(fā)中Bmob云平臺(tái)的運(yùn)用[J].通訊世界,2016(3):220-221.
[6] 羅偉.基于Android平臺(tái)的即時(shí)通訊系統(tǒng)的研究與實(shí)現(xiàn)[D].長沙:湖南師范大學(xué),2009.
[7] 倪紅軍.基于Android平臺(tái)的消息推送研究與實(shí)現(xiàn)[J].實(shí)驗(yàn)室研究與探索,2014,33(5):96-100.
ApplicationofBmobBackCloudinAndroidIMAPPDevelopment
Yang Shuoheng, Bai Rubo,Men Shiyao,Zhang Yibo, Li Xiaozhong
(CollegeofComputerSciencesandInformationEngineering,TianjinUniversityofScience&Technology,Tianjin300457,China)
In the age of the mobile internet, more and more developers need to follow up the user needs quickly, renew product in a fast iterative way is difficult to be satisfied by the traditional development methods. This article uses back cloud services for APP to provide background support, which is proved that this approach will greatly reduce the costs of development and make sure the developers to focus more on the development of specific features of APP.
Bmob; back cloud platform; Android; IM APP
2017-09-30
天津科技大學(xué)大學(xué)生創(chuàng)新創(chuàng)業(yè)訓(xùn)練計(jì)劃(201610057007)
楊碩珩(1994- ),男,山西太原人,本科,專業(yè)方向:軟件工程。
李孝忠(1962- ),男,山東人,指導(dǎo)老師,教授,博士,研究方向:智能信息處理。
1674- 4578(2017)06- 0059- 03
TP311.52
A