【摘 要】隨著無(wú)線(xiàn)城市的到來(lái),為了滿(mǎn)足大家對(duì)移動(dòng)端無(wú)線(xiàn)城市的要求,設(shè)計(jì)了基于MVC架構(gòu)模式的無(wú)線(xiàn)城市APP。該APP顯示各類(lèi)展示信息,架構(gòu)模式為傳統(tǒng)的MVC模式,采用HTTP協(xié)議做為網(wǎng)絡(luò)通訊協(xié)議。實(shí)現(xiàn)移動(dòng)前端、后臺(tái)、數(shù)據(jù)庫(kù)之間的信息交互,同時(shí)將相應(yīng)信息展示出來(lái),實(shí)現(xiàn)了無(wú)線(xiàn)城市在移動(dòng)端的展示。
【關(guān)鍵詞】無(wú)線(xiàn)城市;移動(dòng)端;設(shè)計(jì)與實(shí)現(xiàn)
中圖分類(lèi)號(hào):TP393 文獻(xiàn)標(biāo)識(shí)碼:A
Abstract:With the arrival of wireless city,in order to meet the requirements of wireless city,a wireless city app based on MVC architecture mode is designed. The app displays all kinds of display information. The architecture mode is traditional MVC mode,and uses HTTP protocol as network communication protocol. It realizes the information interaction among mobile front-end,background and database,and displays the corresponding information at the same time,which realizes the display of wireless city in the mobile client.
Keywords:wireless city;mobile client;design and implementation
1概述
隨著4G通信技術(shù)的成熟和廣泛商業(yè)應(yīng)用,基于移動(dòng)端的信息獲取需要越來(lái)越大,相應(yīng)的應(yīng)用需求大增。移動(dòng)終端的特點(diǎn)是:隨時(shí)、隨地獲取和展示各類(lèi)信息。基于此,移動(dòng)端無(wú)線(xiàn)城市[1]應(yīng)運(yùn)而生。據(jù)悉,無(wú)線(xiàn)城市最早由美國(guó)費(fèi)城提出,它是基于無(wú)線(xiàn)局域網(wǎng)的標(biāo)準(zhǔn)。隨后其它國(guó)家也提出無(wú)線(xiàn)城市的開(kāi)發(fā)計(jì)劃。中國(guó)也有類(lèi)似計(jì)劃,該計(jì)劃基于中國(guó)移動(dòng)的TD-LTE網(wǎng)絡(luò),該網(wǎng)絡(luò)標(biāo)準(zhǔn)在移動(dòng)端的網(wǎng)速非常快,這為中國(guó)無(wú)線(xiàn)城市廣泛應(yīng)用提供了基礎(chǔ)。
移動(dòng)端操作系統(tǒng)有很多種,大浪淘沙過(guò)后,目前應(yīng)用較為廣泛的有如下三種:Google公司的Android系統(tǒng)、蘋(píng)果公司的iOS系統(tǒng)、微軟公司的Windows phone系統(tǒng)。Android系統(tǒng)由Andy Rubin開(kāi)發(fā)出來(lái),隨后被Google收購(gòu),同時(shí)基于開(kāi)放手機(jī)聯(lián)盟進(jìn)行改進(jìn),Android系統(tǒng)在移動(dòng)操作系統(tǒng)中的占有率是最高的。IOS系統(tǒng)(iPhone operation system)與Mac OS X系統(tǒng)的核心一樣,都是來(lái)自于Apple Darwin。Windows phone系統(tǒng)由微軟公司推出,具有易用性、兼容性、支持第三方軟件等特點(diǎn),推出后收到用戶(hù)一定程度的歡迎。
2 IOS端簡(jiǎn)介
蘋(píng)果公司推出的iPad、iPhone、iPod、Apple TV等產(chǎn)品都是基于IOS操作系統(tǒng),該操作系統(tǒng)基于UNIX商業(yè)操作系統(tǒng),不開(kāi)源,不支持flash。基于IOS端應(yīng)用的開(kāi)發(fā)語(yǔ)言一般是objective-c和swift,swift是蘋(píng)果公司2014年開(kāi)發(fā)出的新的編程語(yǔ)言,在Mac OS和IOS平臺(tái)上都可以運(yùn)行。該系統(tǒng)的內(nèi)置應(yīng)用包括:智能語(yǔ)音助手Siri、視頻通話(huà)工具FaceTime、瀏覽器Safari、文件傳遞Airdrop、云端存儲(chǔ)iCloud等。
IOS系統(tǒng)的架構(gòu)包括:系統(tǒng)層(Core Operation Syestem Layer)、服務(wù)層(Core Services layer)、媒體層(Media layer)、接觸層(Cocoa Touch layer)四個(gè)層次。
1)接觸層(Cocoa Touch layer),為各種APP開(kāi)發(fā)提供了框架,這些框架大部分與UI相關(guān),主要負(fù)責(zé)IOS系統(tǒng)的交互操作。包含:Address Book UI框架、Map Kit框架、Message UI框架等等。
2)媒體層(Media layer),有了這一層,我們可以使用IOS系統(tǒng)中的各種媒體文件,進(jìn)行音頻、視頻、圖形、動(dòng)畫(huà)的處理。包含:Core Graphics、Image I/O、Assets Library Framework、Core Audio Frameworks等等。
3)服務(wù)層(Core Services layer),可以通過(guò)這一層次來(lái)訪(fǎng)問(wèn)IOS的一些服務(wù)。這一層的接口是基于C程序語(yǔ)言。
4)系統(tǒng)層(Core Operation Syestem Layer),是IOS系統(tǒng)層次的最底層,提供最底層的一些功能。包括:電源管理、內(nèi)存管理、文件管理等等系統(tǒng)任務(wù)。一般來(lái)說(shuō),APP應(yīng)用的開(kāi)發(fā)人員不需要直接與該層打交道。
3 無(wú)線(xiàn)城市架構(gòu)模式設(shè)計(jì)
基于MVC架構(gòu)模式[2]的無(wú)線(xiàn)城市中有很多功能模塊,每個(gè)功能模塊的運(yùn)行都涉及到信息的采集和顯示。以前的應(yīng)用系統(tǒng)架構(gòu)中,各種邏輯混合在一起。后期一旦需求發(fā)生變化,它將不能夠滿(mǎn)足需求,給以后的維護(hù)帶來(lái)很大的不便。分層體系結(jié)構(gòu)的概念產(chǎn)生于歷史性的時(shí)刻,MVC體系結(jié)構(gòu)模式是其典型代表。
MVC不是一種設(shè)計(jì)模式[3],而是一種體系結(jié)構(gòu)模式,它描述應(yīng)用程序的結(jié)構(gòu)以及結(jié)構(gòu)各個(gè)部分的職責(zé)和交互。MVC是模型視圖控制器的縮寫(xiě),它由三個(gè)部分組成:MODEL、VIEWER和CONTROLLER,這種架構(gòu)模式廣泛應(yīng)用于APP軟件的開(kāi)發(fā)。
3.1 MVC三層架構(gòu)
MODEL層主要是封裝和處理數(shù)據(jù),但MODEL層不關(guān)心它將如何顯示。
VIEWER層主要是將數(shù)據(jù)顯示在界面上。
CONTROLLER層主要是處理用戶(hù)與軟件界面的交互,界面層可以接收網(wǎng)絡(luò)交互數(shù)據(jù)。
3.2 MVC原理
MVC(模型-視圖-控制器)體系結(jié)構(gòu)[4]并不難,軟件需要根據(jù)三層原理將各個(gè)模塊區(qū)分開(kāi)來(lái)。
模型-視圖-控制器體系結(jié)構(gòu)模式不適合中小型應(yīng)用,這種模式在開(kāi)發(fā)中會(huì)導(dǎo)致需要更多的開(kāi)發(fā)工時(shí),但是確有效的提升了APP軟件的穩(wěn)定性,綜合考慮,對(duì)于APP軟件開(kāi)發(fā)來(lái)說(shuō),還是非常適合的。
4 總結(jié)
采用MVC架構(gòu)模式,HTTP通訊協(xié)議,設(shè)計(jì)了一款基于IOS客戶(hù)端的無(wú)線(xiàn)城市應(yīng)用軟件,實(shí)現(xiàn)城市生活各類(lèi)信息的獲取和展示。該款I(lǐng)OS端移動(dòng)應(yīng)用,自App Store上線(xiàn)以來(lái),受到廣泛的歡迎,累計(jì)下載量120余萬(wàn)次。但是,這款應(yīng)用也存在一些后續(xù)有待優(yōu)化調(diào)整的地方。
1)界面分層過(guò)多。界面分層過(guò)于復(fù)雜,可以?xún)?yōu)化頁(yè)面分層,讓用戶(hù)有更好的使用體驗(yàn)。
2)通訊的穩(wěn)定性。該IOS端移動(dòng)應(yīng)用,通訊協(xié)議是HTTP,交互簡(jiǎn)單,但是用戶(hù)量較大的時(shí)候,負(fù)載均衡的處理還可以?xún)?yōu)化。
3)當(dāng)前,還有很多開(kāi)發(fā)工具不能對(duì)接模型-視圖-控制器模式。怎么去改造這些工具,從而適應(yīng)MVC模式,代價(jià)比較高,這也是使用MVC模式的的一個(gè)困難。
參考文獻(xiàn):
[1]關(guān)矛. 無(wú)線(xiàn)城市全網(wǎng)平臺(tái)設(shè)計(jì)[J]. 電信工程技術(shù)與標(biāo)準(zhǔn)化,2018(1):35-38.
[2]張治平. 淺談MVC架構(gòu)在開(kāi)發(fā)ASP.NET站點(diǎn)中的應(yīng)用[J]. 電子技術(shù)與軟件工程,2016(5):63-63.
[3]孫建偉,李超,于波. 基于WebRTC應(yīng)用層網(wǎng)關(guān)在iOS端的設(shè)計(jì)與實(shí)現(xiàn)[J]. 計(jì)算機(jī)系統(tǒng)應(yīng)用,2017,26(10):89-94.
[4]章沖,楊東,陳俊,等. 基于iOS平臺(tái)的移動(dòng)智慧校園系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J]. 軟件導(dǎo)刊,2016,15(2):75-77.
[5]黎永良,崔杜武. MVC設(shè)計(jì)模式的改進(jìn)與應(yīng)用[J]. 計(jì)算機(jī)工程,2005,31(9):96-97.
作者簡(jiǎn)介:
潘華強(qiáng)(1983—),男,湖北武漢,高級(jí)工程師,碩士,研究方向?yàn)檐浖こ蹋逃畔⒒?/p>
(作者單位:武漢軟件工程職業(yè)學(xué)院)