国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Mash5的跨平臺(tái)移動(dòng)互聯(lián)技術(shù)研究與實(shí)踐

2017-05-08 12:36譚振江杜俊一
關(guān)鍵詞:跨平臺(tái)

譚振江++杜俊一

摘要:跨平臺(tái)移動(dòng)互聯(lián)技術(shù)的發(fā)展,降低了移動(dòng)應(yīng)用軟件的開發(fā)和維護(hù)成本。本文以“基于Mash5的動(dòng)態(tài)發(fā)布和評(píng)價(jià)”為開發(fā)實(shí)例,具體介紹了Mash5跨平臺(tái)技術(shù)及其基本原理,以及Mash5跨平臺(tái)技術(shù)的可擴(kuò)展研究。

關(guān)鍵詞:跨平臺(tái); Mash5; JavaScript; 云數(shù)據(jù)庫(kù)

中圖分類號(hào): TP393

文獻(xiàn)標(biāo)志碼:A

文章編號(hào):2095-2163(2016)06-0047-04

0引言

[JP+1]目前主流的手機(jī)系統(tǒng)有IOS、Android和Windows Phone,由其使用的開發(fā)語(yǔ)言分別有:Objective-C、C、C++、Java、C#、VB.NET,開發(fā)工具有:Xcode、Android SDK、Visual Studio、Windows Phone Dev Tools等。綜上可知,系統(tǒng)之間的這些差別隨即就導(dǎo)致了為一種手機(jī)系統(tǒng)編寫的代碼將很難在另一種系統(tǒng)上獲得移植性使用,而為了提升用戶群體數(shù)量,并形成應(yīng)用的優(yōu)勢(shì)覆蓋,就需要對(duì)同一個(gè)應(yīng)用分別展開設(shè)計(jì)獨(dú)立的研討開發(fā)。這樣一來,為多種操作系統(tǒng)開發(fā)和維護(hù)應(yīng)用軟件即已成為一項(xiàng)時(shí)間及經(jīng)濟(jì)成本均將顯居高端的項(xiàng)目課題任務(wù)。不僅如此,同一個(gè)操作系統(tǒng),還會(huì)有多種版本、屏幕尺寸也大小不同等系列問題,這就無疑將造成開發(fā)成本的又一次可觀上漲,因而同樣也成為時(shí)下移動(dòng)應(yīng)用軟件開發(fā)者亟待面臨現(xiàn)實(shí)攻關(guān)的重點(diǎn)技術(shù)困難。[JP]

另?yè)?jù)調(diào)研可知,如今手機(jī)App井噴式爆發(fā),但彼此隔離,沒有做到互聯(lián)互通,更難以達(dá)到萬物互聯(lián)的設(shè)計(jì)執(zhí)行效率,若按照“一物一App”的現(xiàn)實(shí)運(yùn)作模式,用戶勢(shì)將無法承受成千上萬個(gè)App的選擇侵?jǐn)_\[1\],因此也迫切需要推出可跨平臺(tái)并能承載多個(gè)App的應(yīng)用容器。

針對(duì)上述問題,Mash5平臺(tái)則提出了將開發(fā)過程徹底云化,從而使得在一個(gè)平臺(tái)上開發(fā)的應(yīng)用可以在Android和IOS兩套系統(tǒng)上實(shí)現(xiàn)無障礙的運(yùn)行,并且開發(fā)之后的應(yīng)用就可即刻付諸部署與實(shí)施。

[BT4]1Mash5簡(jiǎn)介

[BT5]1.1平臺(tái)簡(jiǎn)介

隨著云計(jì)算技術(shù)的飛速發(fā)展,作為一個(gè)全新的云應(yīng)用開發(fā)平臺(tái),PaaS(平臺(tái)即服務(wù))在云生態(tài)圈中的重要性也日趨凸顯。PaaS的特征實(shí)現(xiàn)功能可做如下闡述:

1)PaaS打破了軟件的使用者與開發(fā)者之間的壁壘,讓不具備專業(yè)技術(shù)的人員也能開發(fā)適合自己的應(yīng)用。

2)PaaS與企業(yè)的實(shí)際應(yīng)用相結(jié)合,將促進(jìn)企業(yè)的敏捷化發(fā)展。

3)PaaS覆蓋了軟件生命周期中的開發(fā)、部署、運(yùn)營(yíng)等所有環(huán)節(jié),并且支持多租戶和應(yīng)用計(jì)費(fèi),因此PaaS提供的應(yīng)用就是SaaS(軟件即服務(wù))形態(tài)的,PaaS與SaaS合二為一將成為PaaS的主流模式\[2\]。

一個(gè)完整的PaaS的架構(gòu)具體包括有:應(yīng)用的基礎(chǔ)軟件和中間件支撐(如數(shù)據(jù)庫(kù)、Web服務(wù)、應(yīng)用框架和消息服務(wù))、應(yīng)用的部署和運(yùn)行環(huán)境、應(yīng)用的多租戶支持與管理、云上可編程的開發(fā)環(huán)境、共享應(yīng)用資源庫(kù)和開發(fā)社區(qū)支持。研究可得,其原理架構(gòu)設(shè)計(jì)如圖1所示。

Mash5開發(fā)平臺(tái),是一個(gè)可以使非專業(yè)編程人員只是通過協(xié)同云編程PaaS平臺(tái),即能便捷地構(gòu)建得到符合用戶需求的基本應(yīng)用的一個(gè)標(biāo)準(zhǔn)化集成平臺(tái)。Mash5平臺(tái)定義了下一代新型App模式,App的原生應(yīng)用功能是通過JavaScript代碼來生成描述展示,而用瀏覽器在云平臺(tái)上開發(fā)、部署、修改、管理App的原生應(yīng)用功能,使移動(dòng)應(yīng)用整個(gè)生命周期管理實(shí)現(xiàn)了徹底云化。如此一來,只需安裝一個(gè)或幾個(gè)App,各類功能完全自動(dòng)獲取,即已解決了目前App數(shù)量激增且都需要安裝才能使用所形成的發(fā)展現(xiàn)象瓶頸。另外,使用Mash5開發(fā)的App原生應(yīng)用功能可以像網(wǎng)頁(yè)那樣控制操縱開發(fā)、部署、更新、使用、管理、維護(hù)等設(shè)計(jì)流程,大大縮短了開發(fā)部署周期,同時(shí)也降低了開發(fā)成本。

1.2平臺(tái)基本技術(shù)原理

基于Mash5平臺(tái)實(shí)現(xiàn)云編程,代碼不需要編輯和生成安裝程序即能在移動(dòng)終端提供得到可視化顯示。其使用Web Service技術(shù)、并選取rest接口方式來支持多項(xiàng)目間的數(shù)據(jù)交互,進(jìn)而實(shí)現(xiàn)系統(tǒng)的云部署。該平臺(tái)技術(shù)開發(fā)的功能原理可做如下呈現(xiàn)。

1)Web Service 技術(shù)。Web Service是一種服務(wù)導(dǎo)向結(jié)構(gòu)的技術(shù),可通過標(biāo)準(zhǔn)的Web協(xié)議提供服務(wù),目的是保證不同平臺(tái)的應(yīng)用服務(wù)可以設(shè)計(jì)實(shí)現(xiàn)互相操作。實(shí)際上,就是基于SOAP等協(xié)議的遠(yuǎn)程調(diào)用標(biāo)準(zhǔn),通過Web Service可以將不同操作系統(tǒng)平臺(tái)、不同語(yǔ)言、不同技術(shù)規(guī)劃整合到一起。依據(jù)Web Service規(guī)范創(chuàng)建實(shí)施的應(yīng)用之間,無論其所使用的語(yǔ)言、平臺(tái)是什么,都可以處理展開相互數(shù)據(jù)交換。Web Service是自描述、自包含的可用網(wǎng)絡(luò)模塊,可以執(zhí)行具體的業(yè)務(wù)功能。Web Service架構(gòu)具有連網(wǎng)特性,即可使得Web Service的服務(wù)器端和客戶端的應(yīng)用程序都能通過網(wǎng)絡(luò)進(jìn)行連接;Web Service的另一個(gè)特點(diǎn)是使用SOAP標(biāo)準(zhǔn)作為數(shù)據(jù)通信格式的標(biāo)準(zhǔn),且遵循的標(biāo)準(zhǔn)必須具備優(yōu)良的開放性;此外,在Web Service的客戶端和服務(wù)器端的系統(tǒng)是松耦合的,因而并不關(guān)注客戶端和服務(wù)器端所使用的操作系統(tǒng)、對(duì)象模型或者編程語(yǔ)言。SOAP協(xié)議,即簡(jiǎn)單對(duì)象訪問協(xié)議,是一種輕量、簡(jiǎn)單、基于XML交換數(shù)據(jù)的一種協(xié)議規(guī)范,主要設(shè)計(jì)理念就是在Web上交換結(jié)構(gòu)化的和固化的信息。SOAP使用基于XML的數(shù)據(jù)結(jié)構(gòu)和超文本傳輸協(xié)議(HTTP)的組合,定義了一個(gè)[CM(26]標(biāo)準(zhǔn)的方法來使用Internet上各種不同操作環(huán)境中的分布式[CM)]

[LL]對(duì)象。采用Web Service技術(shù)進(jìn)行接口開發(fā),便可以研究得到分布式的應(yīng)用程序\[3\]。

2)開發(fā)語(yǔ)言選擇。Mash5平臺(tái)采用JavaScript作為程序開發(fā)語(yǔ)言。JavaScript是一種解釋性腳本語(yǔ)言,代碼不需要預(yù)編譯,由瀏覽器解釋執(zhí)行。而且,還有極強(qiáng)的跨平臺(tái)性,在絕大多數(shù)瀏覽器的配置兼容下,可以在多種平臺(tái)下得到實(shí)現(xiàn)運(yùn)行(如Windows、Linux、Mac、Android、IOS等)。

3)應(yīng)用呈現(xiàn)。一般情況下,使用其他應(yīng)用框架開發(fā)的手機(jī)應(yīng)用需要打包成apk或者ipa送入移動(dòng)應(yīng)用商店供消費(fèi)者下載,然后安裝使用。而利用Mash5平臺(tái)開發(fā)的手機(jī)應(yīng)用卻無需消費(fèi)者下載安裝,此時(shí)只需通過1at移動(dòng)終端即可直接使用,1at移動(dòng)終端則類似一個(gè)app容器,里面存放多個(gè)應(yīng)用,用戶根據(jù)自己的需求,點(diǎn)擊使用某個(gè)應(yīng)用即可,如此便突破了“一物一APP”的模式,極大地減少了手機(jī)存儲(chǔ)空間的占用量。

[BT4]2基于Mash5的動(dòng)態(tài)發(fā)布與評(píng)價(jià)

[BT5]2.1實(shí)例功能簡(jiǎn)介

基于Mash5的動(dòng)態(tài)發(fā)布與評(píng)價(jià)主要用于發(fā)布動(dòng)態(tài),查看已發(fā)布的動(dòng)態(tài)詳情,以及對(duì)動(dòng)態(tài)做出評(píng)價(jià),可運(yùn)行于Android系統(tǒng)和IOS系統(tǒng)??偟貋碚f,發(fā)布動(dòng)態(tài)時(shí):

1)發(fā)布的動(dòng)態(tài)主要由標(biāo)題和內(nèi)容組成,通過TextField文本框輸入。

2)可以使用Mash5.Tenant.File.uploadFromCamera調(diào)用相機(jī)拍照或者使用Mash5.Tenant.File.uploadFromGallery讀取本機(jī)相冊(cè)為動(dòng)態(tài)添加圖片。

3)通過Mash5.Tenant.File.uploadFromRecorder可以為動(dòng)態(tài)添加語(yǔ)音音頻。

4)通過數(shù)據(jù)庫(kù)的設(shè)置給動(dòng)態(tài)定制類別等。

另外,查看某條已發(fā)布的動(dòng)態(tài)時(shí),可以對(duì)該動(dòng)態(tài)進(jìn)行再編輯和刪除操作;同樣當(dāng)對(duì)某條動(dòng)態(tài)具體評(píng)價(jià)后,亦可刪除已有評(píng)價(jià)。

[BT5]2.2開發(fā)環(huán)境搭建

1)平臺(tái)環(huán)境組成。Mash5平臺(tái)主要由3部分組成,組成實(shí)現(xiàn)則如圖2所示。

2.3應(yīng)用開發(fā)關(guān)鍵技術(shù)

[HT5”SS][ST5”BZ]2.3.1界面設(shè)計(jì)

基于Mash5的動(dòng)態(tài)發(fā)布與評(píng)價(jià)實(shí)例中,設(shè)計(jì)運(yùn)行后得到的主要結(jié)果界面有:查看動(dòng)態(tài)列表界面、添加動(dòng)態(tài)界面以及動(dòng)態(tài)詳情和評(píng)價(jià)界面,限于篇幅,本文僅給出查看動(dòng)態(tài)列表界面圖,具體如圖3所示。進(jìn)一步地,當(dāng)點(diǎn)擊添加動(dòng)態(tài)界面的分類時(shí),可以為將要發(fā)布的動(dòng)態(tài)添加類別,界面如圖4所示。

2.3.2功能實(shí)現(xiàn)

該次研發(fā)中實(shí)現(xiàn)的功能較多,現(xiàn)僅是選取為動(dòng)態(tài)添加圖片構(gòu)建實(shí)例,具體給出該功能的實(shí)現(xiàn)解析。圖片屬于多媒體數(shù)據(jù)類型,在Mash5平臺(tái)的云數(shù)據(jù)庫(kù)中,該類數(shù)據(jù)以“附件(Attachment)”的形式存在。其中,附件里可以記錄多張照片或其他多媒體文件,附件字段本質(zhì)上即是記錄了一組多媒體文件在云存儲(chǔ)中的id數(shù)組。Mash5.UI.createAttachmentView用于顯示附件;Mash5.Tenant.File.uploadFromGallery用于訪問手機(jī)圖庫(kù)并且上傳圖片;而通過Mash5.UI.createProgressDialog可以查看照片上傳的進(jìn)度。

2.3.3跨平臺(tái)測(cè)試

以在Android手機(jī)上開展測(cè)試為例,由此可提取得到如下過程測(cè)試結(jié)果。點(diǎn)擊動(dòng)態(tài)列表頁(yè)面右上角的“+”按鈕,轉(zhuǎn)入添加動(dòng)態(tài)界面,編輯動(dòng)態(tài)的標(biāo)題、內(nèi)容,點(diǎn)擊“圖庫(kù)”按鈕,從手機(jī)相冊(cè)中選擇一張合適的圖片并上傳,點(diǎn)擊“分類”,為該條動(dòng)態(tài)設(shè)定分類,如圖5所示;點(diǎn)擊添加動(dòng)態(tài)頁(yè)面右上角的“√”發(fā)布編輯好的動(dòng)態(tài),發(fā)布成功后自動(dòng)跳轉(zhuǎn)到動(dòng)態(tài)列表頁(yè)面,如圖6所示。

3結(jié)束語(yǔ)

[JP3]本文重點(diǎn)圍繞“基于Mash5的動(dòng)態(tài)發(fā)布與評(píng)價(jià)”的開發(fā)實(shí)踐,首先設(shè)置了符合需求的軟、硬件背景開發(fā)環(huán)境;然后對(duì)實(shí)例的界面和功能展開了全面的建設(shè)研究,具體實(shí)現(xiàn)了動(dòng)態(tài)發(fā)布、查看、以及評(píng)價(jià)等眾多功能;最后在Android手機(jī)系統(tǒng)上提供了完整的仿真設(shè)計(jì)測(cè)試,測(cè)試結(jié)果表明真正實(shí)現(xiàn)了跨平臺(tái)運(yùn)行。通過對(duì)該次研究的例程開發(fā),可切實(shí)體驗(yàn)出在Mash5平臺(tái)上開發(fā),以及在手機(jī)客戶端即刻部署和運(yùn)行的快捷與方便。Mash5平臺(tái)技術(shù)對(duì)實(shí)現(xiàn)跨平臺(tái)手機(jī)應(yīng)用的開發(fā)具有一定的現(xiàn)實(shí)意義。[JP]

而且,Mash5平臺(tái)通過云編譯,將移動(dòng)應(yīng)用開發(fā)的整個(gè)生命周期徹底云化,實(shí)現(xiàn)了跨平臺(tái)原生移動(dòng)應(yīng)用的快速、低成本開發(fā),這涉及到多方面的理論、方法和技術(shù)。設(shè)計(jì)中,將App[CM(26]作為一個(gè)應(yīng)用容器,用戶可以根據(jù)自己的需求加載和使用相[CM)]

[LL]關(guān)的應(yīng)用,但在如下這2個(gè)方面,則應(yīng)成為進(jìn)一步研究與開發(fā)的發(fā)展方向:

1)平臺(tái)對(duì)代碼的查錯(cuò)能力有待提高。Mash5平臺(tái)以JavaScript作為程序開發(fā)語(yǔ)言,通過瀏覽器進(jìn)行JavaScript代碼編輯。目前,平臺(tái)已可自動(dòng)檢測(cè)程序是否使用英文半角標(biāo)點(diǎn)字符,但卻還是無法檢測(cè)關(guān)鍵字的拼寫是否有誤,因此查錯(cuò)能力有待提高;

2)[JP3]平臺(tái)開發(fā)應(yīng)用的自動(dòng)更新能力仍有待完善?;贛ash5平臺(tái)開發(fā)的跨平臺(tái)移動(dòng)應(yīng)用,當(dāng)在瀏覽器中執(zhí)行了代碼修改,而在手機(jī)客戶端卻仍需手動(dòng)更新后,方可查看新的應(yīng)用效果。如何做到自動(dòng)更新,仍將需要后續(xù)有效深入的探索研究。[JP]

參考文獻(xiàn):

夏宏. 碼實(shí):應(yīng)用開發(fā)徹底云化[J]. 創(chuàng)業(yè)邦,2014,8(10):84-85.

[2] [JP3]佚名. 碼實(shí)科技于波:在PaaS云下的移動(dòng)信息化時(shí)代悄然到來[EB/OL]. [2012-07-23].http://mobile.51cto.com/team-352488.htm.[JP]

[3] 羅明挽. 跨平臺(tái)、跨移動(dòng)終端的大型項(xiàng)目開發(fā)關(guān)鍵技術(shù)研究[J]. 通訊世界,2016,23(6):15-17.

[4] 孟凡寧,叢中昌,黃志興,等. 移動(dòng)互聯(lián)網(wǎng)應(yīng)用跨平臺(tái)開發(fā)研究[J]. 移動(dòng)通信,2013,41(13):60-63.

[5] 吳吉義,李文娟,黃劍平,等. 移動(dòng)互聯(lián)網(wǎng)研究綜述[J]. 中國(guó)科學(xué):信息科學(xué),2015,45(1):45-69.

[6] 文軍,張思峰,李濤柱. 移動(dòng)互聯(lián)網(wǎng)技術(shù)發(fā)展現(xiàn)狀及趨勢(shì)綜述[J]. 通信技術(shù),2014,47(9):977-984.

[7] 徐巍. 跨平臺(tái)移動(dòng)開發(fā)框架的比較分析與實(shí)例開發(fā)[D]. 長(zhǎng)春:吉林大學(xué),2014.

[8] 尹兆冰,王加陽(yáng). Web Service及其關(guān)鍵技術(shù)研究綜述[J]. 軟件導(dǎo)刊,2010,9(2):121-123.

[9] 羊小寶. 碼實(shí)科技:把開發(fā)過程徹底云化的云編譯平臺(tái)[EB/OL]. [2014-09-03].http://www.cyzone.cn/a/20140903/262451.html.

[10]admin. 讓人驚艷的九款跨平臺(tái)移動(dòng)開發(fā)工具、技術(shù)與平臺(tái)[EB/OL]. [2016-07-14].http://www.hiji.cn/Home/news/301.html.

[11]王子新. 移動(dòng)互聯(lián)網(wǎng)應(yīng)用跨平臺(tái)開發(fā)研究[J]. 數(shù)碼世界,2016,15(3):42-43.

猜你喜歡
跨平臺(tái)
一種車載公用系統(tǒng)管控設(shè)備的設(shè)計(jì)
一款游戲怎么掙到全平臺(tái)的錢?
潛力雙跨平臺(tái):進(jìn)階:誰將跨入下一個(gè)“十大”?
基于C++語(yǔ)言的跨平臺(tái)軟件開發(fā)
一種虛擬現(xiàn)實(shí)應(yīng)用程序跨平臺(tái)方法的研究
基于C++語(yǔ)言的跨平臺(tái)軟件開發(fā)的設(shè)計(jì)