譚振江++杜俊一
摘要:跨平臺移動互聯技術的發展,降低了移動應用軟件的開發和維護成本。本文以“基于Mash5的動態發布和評價”為開發實例,具體介紹了Mash5跨平臺技術及其基本原理,以及Mash5跨平臺技術的可擴展研究。
關鍵詞:跨平臺; Mash5; JavaScript; 云數據庫
中圖分類號: TP393
文獻標志碼:A
文章編號:2095-2163(2016)06-0047-04
0引言
[JP+1]目前主流的手機系統有IOS、Android和Windows Phone,由其使用的開發語言分別有:Objective-C、C、C++、Java、C#、VB.NET,開發工具有:Xcode、Android SDK、Visual Studio、Windows Phone Dev Tools等。綜上可知,系統之間的這些差別隨即就導致了為一種手機系統編寫的代碼將很難在另一種系統上獲得移植性使用,而為了提升用戶群體數量,并形成應用的優勢覆蓋,就需要對同一個應用分別展開設計獨立的研討開發。這樣一來,為多種操作系統開發和維護應用軟件即已成為一項時間及經濟成本均將顯居高端的項目課題任務。不僅如此,同一個操作系統,還會有多種版本、屏幕尺寸也大小不同等系列問題,這就無疑將造成開發成本的又一次可觀上漲,因而同樣也成為時下移動應用軟件開發者亟待面臨現實攻關的重點技術困難。[JP]
另據調研可知,如今手機App井噴式爆發,但彼此隔離,沒有做到互聯互通,更難以達到萬物互聯的設計執行效率,若按照“一物一App”的現實運作模式,用戶勢將無法承受成千上萬個App的選擇侵擾\[1\],因此也迫切需要推出可跨平臺并能承載多個App的應用容器。
針對上述問題,Mash5平臺則提出了將開發過程徹底云化,從而使得在一個平臺上開發的應用可以在Android和IOS兩套系統上實現無障礙的運行,并且開發之后的應用就可即刻付諸部署與實施。
[BT4]1Mash5簡介
[BT5]1.1平臺簡介
隨著云計算技術的飛速發展,作為一個全新的云應用開發平臺,PaaS(平臺即服務)在云生態圈中的重要性也日趨凸顯。PaaS的特征實現功能可做如下闡述:
1)PaaS打破了軟件的使用者與開發者之間的壁壘,讓不具備專業技術的人員也能開發適合自己的應用。
2)PaaS與企業的實際應用相結合,將促進企業的敏捷化發展。
3)PaaS覆蓋了軟件生命周期中的開發、部署、運營等所有環節,并且支持多租戶和應用計費,因此PaaS提供的應用就是SaaS(軟件即服務)形態的,PaaS與SaaS合二為一將成為PaaS的主流模式\[2\]。
一個完整的PaaS的架構具體包括有:應用的基礎軟件和中間件支撐(如數據庫、Web服務、應用框架和消息服務)、應用的部署和運行環境、應用的多租戶支持與管理、云上可編程的開發環境、共享應用資源庫和開發社區支持。研究可得,其原理架構設計如圖1所示。
Mash5開發平臺,是一個可以使非專業編程人員只是通過協同云編程PaaS平臺,即能便捷地構建得到符合用戶需求的基本應用的一個標準化集成平臺。Mash5平臺定義了下一代新型App模式,App的原生應用功能是通過JavaScript代碼來生成描述展示,而用瀏覽器在云平臺上開發、部署、修改、管理App的原生應用功能,使移動應用整個生命周期管理實現了徹底云化。如此一來,只需安裝一個或幾個App,各類功能完全自動獲取,即已解決了目前App數量激增且都需要安裝才能使用所形成的發展現象瓶頸。另外,使用Mash5開發的App原生應用功能可以像網頁那樣控制操縱開發、部署、更新、使用、管理、維護等設計流程,大大縮短了開發部署周期,同時也降低了開發成本。
1.2平臺基本技術原理
基于Mash5平臺實現云編程,代碼不需要編輯和生成安裝程序即能在移動終端提供得到可視化顯示。其使用Web Service技術、并選取rest接口方式來支持多項目間的數據交互,進而實現系統的云部署。該平臺技術開發的功能原理可做如下呈現。
1)Web Service 技術。Web Service是一種服務導向結構的技術,可通過標準的Web協議提供服務,目的是保證不同平臺的應用服務可以設計實現互相操作。實際上,就是基于SOAP等協議的遠程調用標準,通過Web Service可以將不同操作系統平臺、不同語言、不同技術規劃整合到一起。依據Web Service規范創建實施的應用之間,無論其所使用的語言、平臺是什么,都可以處理展開相互數據交換。Web Service是自描述、自包含的可用網絡模塊,可以執行具體的業務功能。Web Service架構具有連網特性,即可使得Web Service的服務器端和客戶端的應用程序都能通過網絡進行連接;Web Service的另一個特點是使用SOAP標準作為數據通信格式的標準,且遵循的標準必須具備優良的開放性;此外,在Web Service的客戶端和服務器端的系統是松耦合的,因而并不關注客戶端和服務器端所使用的操作系統、對象模型或者編程語言。SOAP協議,即簡單對象訪問協議,是一種輕量、簡單、基于XML交換數據的一種協議規范,主要設計理念就是在Web上交換結構化的和固化的信息。SOAP使用基于XML的數據結構和超文本傳輸協議(HTTP)的組合,定義了一個[CM(26]標準的方法來使用Internet上各種不同操作環境中的分布式[CM)]
[LL]對象。采用Web Service技術進行接口開發,便可以研究得到分布式的應用程序\[3\]。
2)開發語言選擇。Mash5平臺采用JavaScript作為程序開發語言。JavaScript是一種解釋性腳本語言,代碼不需要預編譯,由瀏覽器解釋執行。而且,還有極強的跨平臺性,在絕大多數瀏覽器的配置兼容下,可以在多種平臺下得到實現運行(如Windows、Linux、Mac、Android、IOS等)。
3)應用呈現。一般情況下,使用其他應用框架開發的手機應用需要打包成apk或者ipa送入移動應用商店供消費者下載,然后安裝使用。而利用Mash5平臺開發的手機應用卻無需消費者下載安裝,此時只需通過1at移動終端即可直接使用,1at移動終端則類似一個app容器,里面存放多個應用,用戶根據自己的需求,點擊使用某個應用即可,如此便突破了“一物一APP”的模式,極大地減少了手機存儲空間的占用量。
[BT4]2基于Mash5的動態發布與評價
[BT5]2.1實例功能簡介
基于Mash5的動態發布與評價主要用于發布動態,查看已發布的動態詳情,以及對動態做出評價,可運行于Android系統和IOS系統。總地來說,發布動態時:
1)發布的動態主要由標題和內容組成,通過TextField文本框輸入。
2)可以使用Mash5.Tenant.File.uploadFromCamera調用相機拍照或者使用Mash5.Tenant.File.uploadFromGallery讀取本機相冊為動態添加圖片。
3)通過Mash5.Tenant.File.uploadFromRecorder可以為動態添加語音音頻。
4)通過數據庫的設置給動態定制類別等。
另外,查看某條已發布的動態時,可以對該動態進行再編輯和刪除操作;同樣當對某條動態具體評價后,亦可刪除已有評價。
[BT5]2.2開發環境搭建
1)平臺環境組成。Mash5平臺主要由3部分組成,組成實現則如圖2所示。
2.3應用開發關鍵技術
[HT5”SS][ST5”BZ]2.3.1界面設計
基于Mash5的動態發布與評價實例中,設計運行后得到的主要結果界面有:查看動態列表界面、添加動態界面以及動態詳情和評價界面,限于篇幅,本文僅給出查看動態列表界面圖,具體如圖3所示。進一步地,當點擊添加動態界面的分類時,可以為將要發布的動態添加類別,界面如圖4所示。
2.3.2功能實現
該次研發中實現的功能較多,現僅是選取為動態添加圖片構建實例,具體給出該功能的實現解析。圖片屬于多媒體數據類型,在Mash5平臺的云數據庫中,該類數據以“附件(Attachment)”的形式存在。其中,附件里可以記錄多張照片或其他多媒體文件,附件字段本質上即是記錄了一組多媒體文件在云存儲中的id數組。Mash5.UI.createAttachmentView用于顯示附件;Mash5.Tenant.File.uploadFromGallery用于訪問手機圖庫并且上傳圖片;而通過Mash5.UI.createProgressDialog可以查看照片上傳的進度。
2.3.3跨平臺測試
以在Android手機上開展測試為例,由此可提取得到如下過程測試結果。點擊動態列表頁面右上角的“+”按鈕,轉入添加動態界面,編輯動態的標題、內容,點擊“圖庫”按鈕,從手機相冊中選擇一張合適的圖片并上傳,點擊“分類”,為該條動態設定分類,如圖5所示;點擊添加動態頁面右上角的“√”發布編輯好的動態,發布成功后自動跳轉到動態列表頁面,如圖6所示。
3結束語
[JP3]本文重點圍繞“基于Mash5的動態發布與評價”的開發實踐,首先設置了符合需求的軟、硬件背景開發環境;然后對實例的界面和功能展開了全面的建設研究,具體實現了動態發布、查看、以及評價等眾多功能;最后在Android手機系統上提供了完整的仿真設計測試,測試結果表明真正實現了跨平臺運行。通過對該次研究的例程開發,可切實體驗出在Mash5平臺上開發,以及在手機客戶端即刻部署和運行的快捷與方便。Mash5平臺技術對實現跨平臺手機應用的開發具有一定的現實意義。[JP]
而且,Mash5平臺通過云編譯,將移動應用開發的整個生命周期徹底云化,實現了跨平臺原生移動應用的快速、低成本開發,這涉及到多方面的理論、方法和技術。設計中,將App[CM(26]作為一個應用容器,用戶可以根據自己的需求加載和使用相[CM)]
[LL]關的應用,但在如下這2個方面,則應成為進一步研究與開發的發展方向:
1)平臺對代碼的查錯能力有待提高。Mash5平臺以JavaScript作為程序開發語言,通過瀏覽器進行JavaScript代碼編輯。目前,平臺已可自動檢測程序是否使用英文半角標點字符,但卻還是無法檢測關鍵字的拼寫是否有誤,因此查錯能力有待提高;
2)[JP3]平臺開發應用的自動更新能力仍有待完善。基于Mash5平臺開發的跨平臺移動應用,當在瀏覽器中執行了代碼修改,而在手機客戶端卻仍需手動更新后,方可查看新的應用效果。如何做到自動更新,仍將需要后續有效深入的探索研究。[JP]
參考文獻:
夏宏. 碼實:應用開發徹底云化[J]. 創業邦,2014,8(10):84-85.
[2] [JP3]佚名. 碼實科技于波:在PaaS云下的移動信息化時代悄然到來[EB/OL]. [2012-07-23].http://mobile.51cto.com/team-352488.htm.[JP]
[3] 羅明挽. 跨平臺、跨移動終端的大型項目開發關鍵技術研究[J]. 通訊世界,2016,23(6):15-17.
[4] 孟凡寧,叢中昌,黃志興,等. 移動互聯網應用跨平臺開發研究[J]. 移動通信,2013,41(13):60-63.
[5] 吳吉義,李文娟,黃劍平,等. 移動互聯網研究綜述[J]. 中國科學:信息科學,2015,45(1):45-69.
[6] 文軍,張思峰,李濤柱. 移動互聯網技術發展現狀及趨勢綜述[J]. 通信技術,2014,47(9):977-984.
[7] 徐巍. 跨平臺移動開發框架的比較分析與實例開發[D]. 長春:吉林大學,2014.
[8] 尹兆冰,王加陽. Web Service及其關鍵技術研究綜述[J]. 軟件導刊,2010,9(2):121-123.
[9] 羊小寶. 碼實科技:把開發過程徹底云化的云編譯平臺[EB/OL]. [2014-09-03].http://www.cyzone.cn/a/20140903/262451.html.
[10]admin. 讓人驚艷的九款跨平臺移動開發工具、技術與平臺[EB/OL]. [2016-07-14].http://www.hiji.cn/Home/news/301.html.
[11]王子新. 移動互聯網應用跨平臺開發研究[J]. 數碼世界,2016,15(3):42-43.