移動應用中間件PhoneGap與mastudio的本質和來源分析
本文以兩種典型的移動中間件類型作為支點進行分析其本質和來源,并以此作為延伸來描述更多中間件的定位和特點。
一、mastudio是什么?
mastudio是一個專業的企業級移動應用中間件,是一個綜合全面的移動開發平臺,提供了從客戶端到服務器端完整的開發環境和數據接入能力。其在實現企業信息移動化上提供了便利的開發手段。
企業級移動信息化的一個重要特點就是原有的企業信息系統不希望受到影響,不希望在原有系統上進行二次開發來實現移動化。這就需要移動中間件能夠具有單向接入的能力。mastudio平臺在服務器端提供較強的接入能力,可以透過http協議訪問各種企業級系統。
二、PhoneGap是什么?
PhoneGap是一個專業的移動應用開發框架,是一個全面的WEB APP開發的框架,提供了以WEB形式來訪問終端設備的API的功能。這對于采用WEB APP進行開發者來說是個福音,這可以避免了原生開發的某些功能。
三、開發模式和技術要求
在開發模式上mastudio于PhoneGap有著截然不同的模式,下面以典型的hello world!為示范看兩者各實現的過程。
PhoneGap的Hello world!
開發硬件需求:Mac 電腦+ iPhone手機+ Xcode 系統
開發者技術需求:熟悉xcode object c++ html js css
以下開發截圖來自phoneGap官方網站,首先打開xcode 創建工程,然后添加index.html文件作為首頁顯示界面,最后編譯啟動模擬器執行。
mastudio的Hello world!
開發硬件需求:PC 電腦+ iPhone手機
開發者技術需求:html js css
以下開發截圖來自mastudio開發平臺,首先打開腳本編輯器,增加一個新文件helloWorld.mas,然后在其中調用wxWEBPAGE組件,組件中定義調用helloWorld.html文件,然后直接打開手機登陸訪問。
從上面的過程可以看出PhoneGap是基于xcode的原生開發框架,需要開發者使用mac電腦熟悉object c++開發語言,而mastudio則是腳本開發框架,開發者使用普通PC電腦,熟悉一般性web基礎知識即可。
四、優于PhoneGap的客戶端優化
mastudio在客戶端方面有優于PhoneGap的地方,其針對腳本使用方便性的特點進行了優化使用。這類優化的調用通過html js可以很方便的實現了多窗口交互以及彈出新窗口等功能。
多窗口交互
啟動彈出窗口
五、弱于PhoneGap的客戶端API
而PhoneGap的側重是客戶端的API調用,其提供了全面的終端上的開發能力,比如調用手機的通訊錄、攝像、文件操作等。客戶端API是PhoneGap的全部,這是優于mastudio的,而mastudio平臺則提供了一般常用的API調用,如短信、撥打電話燈。
六、PhoneGap所不具有的
PhoneGap只是單純的客戶端,mastudio中間件包含了客戶端和服務器部分,其提供的服務器具有強大的數據接入能力。
數據庫訪問能力
mastudio服務器提供了訪問sql server、oracle等各種數據庫的能力,客戶端可以很輕松的通過服務器獲取到數據。
http協議驅動能力
對于OA一類的WEB系統,需要登錄身份驗證后才能訪問到頁面內容,mastudio服務器提供了wxEXPLORE組件能夠輕松訪問各種web系統,驅動各種流程引擎、進行身份認證。
數據安全能力
PhoneGap提供了網絡訪問協議的API,但是無法提供數據安全性的處理,因為這是需要服務器協作進行的。mastudio服務器提供了客戶端數據流的安全加密處理,而這個處理是不需要開發者介入就自動集成擁有的。
七、兩種類型的總結
客戶端類型
PhoneGap屬于客戶端類型移動中間件,其核心價值在于客戶端的全面的API,提供了跨平臺的開發便利性,但其近限于客戶端應用。
平臺類型
mastudio屬于綜合的移動中間件,其核心價值在于提供了業務數據的接入能力,并和客戶端融合為一臺,其客戶端的API僅為業務數據展現而準備和封裝。
八、移動中間件的延生
根據以上兩種類型的移動中間件,市場還有眾多的延生產品,以客戶端類型為主導線的,如appCan、rexcee一類,他們的共同點在于針對PhoneGap的API模式進行的高一層封裝,雖然還是提供了大量的API,但是讓開發者方便的免去了原生開發環境的搭建。這是一個進步,但是由于進行了高一層封裝,又導致了不可避免的調試問題,當封裝層出現問題的時候,開發者無能為力。
以平臺類型為主導的市場也有眾多延生產品,筆者根據各自官方網站的資料分析,以平臺類型的移動中間件多用于企業級行業用戶,比如xmap、map、mkey一類,這類延生多是開發項目中的模塊的簡單提煉,并沒有形成產品化的平臺,雖然官方資料號稱中間件產品,筆者認為這類產品還不夠成熟,尚且達不到公開發版測試的程度。
總結:
作為移動應用,如果計劃采用移動中間件,作為選型的標準,筆者認為應當根據自身的業務特點類型來選擇。如游戲、社交、電商、等類型則建議采用PhoneGap一類型的API客戶端中間件,而對于企業數據應用、OA、Erp一類型,則建議采用mastudio一類型的中間件,這可以獲得成熟的網絡和數據接口基礎。