含義
移動中間件是連線不同的移動套用,程式和系統的一種軟體。移動中間件實際上隱藏了多種複雜性:在移動環境下工作的複雜性,允許設備對設備的流暢互動的複雜性,移動與計算機集成的複雜性和移動套用開發的複雜性。和其它的中間件一樣,移動中間件也是通過提供信息服務來使不同的套用之間進行通話的一個典型。隨著多樣化的平台和設備進入到移動空間,移動中間件已經變得越來越重要。隨之而來的結果就是,眾多移動中間件廠商紛紛提供開發服務,以解決快速增長的移動硬體與移動軟體市場 。
作用
在本地和HTML5套用開發策略中,移動中間件連線設備和本地硬體的服務。在不需要重寫後端的情況下,它也可以使企業架構師和開發者再利用同一的後端邏輯來幫助多台移動設備與每一個單獨設備進行工作。移動中間件服務能實現儲備軟體開發資源等功能,而且現在的移動中間件是設備與後端互聯助力器,而且移動中間件能促使開源ESB和BAM平台發揮更高效的作用。
各代功能
第三代移動中間件
第三代移動中間件代表產品iMAG(愛碼哥)
◆ 原生的客戶體驗
因為iMAG引擎底層封裝的是原生UI控制項,因此具有和原生套用相同的性能和用戶體驗。單就性能和用戶體驗這點是PhoneGap等基於HTML5的框架無法比擬的。
◆ 強大的手機本地調用能力
在iMAG中可以方便地調用推送、定位、地圖、電話、簡訊、拍照、相冊、錄音、藍牙、二維碼、聯繫人、資料庫、Socket等手機本地功能。
◆ 同時支持線上和離線兩種套用模式
這裡的線上和離線即我們通常所說的B/S和C/S兩種架構方式。線上套用的XML代碼可以由伺服器端腳本(比如jsp)動態生成,這樣的開發方式類似於開發網頁,套用可以動態部署和升級,開發簡單,易於維護,尤其適合企業級移動套用開發。相對於線上套用,離線套用將XML代碼打包到手機客戶端中,數據通過ajax請求來動態獲取,因此離線套用有更快的回響速度和更好的用戶體驗。
◆移動套用管理系統
iMAG Manager作為企業移動套用的管理和運營的支撐系統,可以部署在企業區域網路,它是手機客戶端和企業後端套用之間的橋樑。iMAG Manager集成了套用管理、設備管理、數據統計、推送管理、日誌管理、版本更新、安全認證等諸多功能和服務。
第二代移動中間件
第二代移動中間件代表產品:AppMobi、AppCan、Phonegap、Titanium 。
◆ 不使用私有封閉核心
第二代移動中間件通常是以移動設備自帶瀏覽器引擎(iOS、Android均為Webkit核心)為依託,通過擴展瀏覽器核心的能力來滿足跨平台移動套用開發的需求,並且消除不同移動作業系統瀏覽器核心的差異性。
◆ 支持用戶自定義外掛程式擴展
第二代移動中間件通常為Hybrid App混合開發模式,都兼容企業用戶自定義的原生外掛程式擴展。基於第二代移動中間件定義好的標準,用戶可以將眾多的原生UI或外掛程式封裝出標準的JS接口來進行調用。比如語音識別外掛程式,經過原生外掛程式式的封裝之後,用戶可以自己按照規則隨時使用JS把語音識別的功能調用起來,在HTML5勾勒的頁面內實現。
◆ 使用標準語言開發
第二代移動中間件通常以HTML5為主要套用開發語言,AppMobi、AppCan、PhoneGap都是這種方式。Titanium是比較另類的第二代移動中間件,採用瀏覽器解析但更多是通過JS調用大量的原生UI和互動,同時兼容HTML5。Titanium的優勢是運行體驗更好,但是開發的局限性大。Titanium的方式也屬於Hybrid App是開發模式,只是PhoneGap、AppCan、AppMobi這三種外掛程式的Hybrid更多是以HTML5為主體、Native為輔助,而Titanium是Native為主體、HTML5輔助。
◆ 提供開發網站
第二代移動中間件通常為移動開發者提供一個公眾的服務平台,讓開發者和企業用戶線上體驗試用。AppCan有appcan、AppMobi有appmobi、Phonegap有phonegap、Titanium有Appcelerator。因為第二代中間件的定位就是面向開發者,提供一種成熟的、基於開放標準的技術來讓開發者體驗。所以更容易理解開發者的需求,不斷的更新滿足開發者的需求。
...........
第一代移動中間件
第一代移動中間件代表產品:數字天堂、南京烽火、Access等。
◆ 適配機型更多
第一代移動中間件主要為滿足企業將網際網路端的服務移植到移動端的需求。結合當時市場的終端情況,適配大量功能機(Feature Phone、山寨機)如各種kJava手機Symbian機以及Windows Mobile等機型。雖然逐步兼容了iOS、Android等智慧型機,但由於技術架構的局限性導致在用最低端的套用開發標準兼容高端的智慧型機,木桶效應影響了整體的水準。導致iOS和Android的產品體驗和山寨機、Feature Phone處於同一水準。
◆ 重服務整合輕套用開發
第一代移動中間件雖然號稱移動中間件,但本質核心在伺服器端,也就是所謂的“數據集成伺服器”,通過一個Integration Server將web數據轉化成移動端的API。而真正移動端技術和開發的支持反而屬於次要位置。導致“移動中間件”變成了“移動伺服器中間件”,喧賓奪主。而當前的移動網際網路發展趨勢,有大量的創新功能和套用,如LBS、感測器、二維碼等都不是企業現有系統涵蓋的,所以這些功能通過數據集成伺服器沒有辦法直接和企業現有平台整合,因此這個第一代移動中間件的‘鎮山之寶’在新的移動網際網路時代逐步失去光澤。
◆ 私有標準
第一代移動中間件的移動端,通常是私有標準,基於各自企業的xml解析等方式實現,而不是普及型的技術如基於標準HTML和JAVASCRIPT進行頁面的布局、互動實施等。甚至有的第一代移動中間件都不支持靈活的用戶自定義的JAVASCRIPT。
◆ 不支持用戶自定義外掛程式
第一代移動中間件因為是基於中間件企業私有標準,所以一般不支持第二代中間件最重要的用戶自定義擴展原生外掛程式的功能,所有功能必須依附於中間件廠商自己更新和開發。導致使用第一代移動中間件的用戶自己能做的事情非常少。喪失自定義擴展能力。
◆ 偏行業化產品
最後,最重要的第一代移動中間件的特性是“偏重行業化的解決方案,而不是套用開發技術”。大量購買第一代移動中間件的用戶基本都是購買成型的移動產品,如移動OA、城市門戶等功能性的套用產品,由中間件廠商負責實施和開發。第一代移動中間件是在賣解決方案而不是用戶可以自己開發的技術。
....................
如何區分
如何區分第一代和第二代移動中間件
總的來說主要三點:
看核心和主要開發語言看用戶是否可以自定義開發原生外掛程式,自定義擴展引擎看真的是賣技術還是賣套用產品解決方案第二代移動中間件隨著智慧型機的普及,必將備受企業用戶的矚目和青睞。國外移動中間件市場比較成熟,但是本土化過程漫長,還需要克服水土不服的問題。而第一代移動中間件廠商雖然已經占有了一定的市場份額。但是快速發展的移動網際網路在淘汰落後的產品和方案,第一代移動中間件面臨巨大的轉型壓力。所以企業在現有市場環境下辭舊迎新,如何選擇合適的產品和技術成了考驗企業決策者的難題。但是重前端開發、輕後端集成、服務轉雲端的思路已經逐漸明朗,第二代移動中間件勢必快速占領市場、指點江山。因為代表著先進生產力的發展方向,注定是正確的出路。