在未來十年當中,我們預計移動應用開發技術市場將逐步一統,目前超過一百種的解決方案數量將縮小到更易于管理的規模。與此同時,應用程序開發與交付專家需要在充滿刻意炒作與虛假宣傳的市場上選擇理想工具,從而向客戶交付五星級應用成品。不過目前我們仍在這片未知的海域中航行,因此最明智的辦法在于保持方案的開放特性,同時在市場真正趨于成熟之前堅持走多種工具與技術并存的道路。
移動機制的運作方式多種多樣:有些以設備為中心,有些要求與互聯網資源相連,還有一些則將關注重點放在內容身上。大家必須在成本、性能、敏捷性以及投入規模等因素之間找到平衡點,從而為每一項移動工作負載找到合適的對應技術。深入理解各款工具的功能與特性,明確它們如何為不同移動開發方案提供支持應該成為大家為任何實例選擇合理全方位打理流程的首要步驟。
原生開發工具讓核心開發者與平臺貼合更緊密。每一家移動平臺供應商都會以極低成本甚至免費方式為開發人員提供創建移動應用所必需的工具,這些工具以原生方式運行在平臺當中。以蘋果公司為例,開發人員們利用Xcode創建并編譯iOS應用。谷歌則提供Android開發者工具,一款針對Eclipse開發平臺的插件。微軟Windows Phone SDK 8.0中則包含一套獨立的Visual Studio Expresss 2012版本。
在任何情況下,這些開發工具都包含有支持基礎編輯-編譯-調試周期所必需的一切內容。雖然只針對單一平臺進行優化,這些工具仍然適合那些愿意拿出大量時間學習與每款平臺對應的復雜API知識的核心向開發人員。
針對不同設備對Web頁面模板顯示效果進行優化。很多移動Web開發人員會將輕量化Web框架與CSS媒體查詢及全新HTML 5元素加以結合,從而創造出流暢的網站動態伸縮效果,旨在適應多種多樣的觀看需求。動態尺寸縮放機制通常以像素為單位(例如320像素、600像素、768像素或者1024像素),而且允許開發人員將目標平臺涵蓋各種不同類型的HTML設備,包括電子閱讀器及車載系統——只要這些系統支持現代瀏覽器。響應式Web方案適用于掌握現有Web開發及設計技能的開發人員,也能夠用于為移動網站交付內容。
輕量級JavaScript框架成為高度定制體驗的實現基礎。當一款移動應用從內容消費型向事務活動型轉變時,響應式設計方案的實施流程將變得比較困難。后面這類應用需要使用更多形式、字段,并在外觀與使用感受方面盡可能與本地應用體驗靠近。這些交互式“聯網”應用的開發者們往往先從基礎JavaScript框架出發,并在后續工作中為客戶提供他們想的量身定制的使用體驗。
jQuery被廣泛用作開發起點,但其它輕量級移動Web框架也是很好的入手方案,其中包括Zepto.js、雅虎Mojito以及SnackJS等。許多設計機構利用這些方案為自己的客戶提供聯網應用程序項目,這是因為它們能提供一套跨多種平臺的通用代碼庫,同時為客戶帶來相當廣泛的外觀與使用體驗選擇。
全功能JavaScript框架帶來更為規范的使用體驗。與輕量化框架帶來的定制化客戶使用體驗完全不同,全功能型JavaScript框架所提供的體驗更符合Java與.Net開發人員的期望。以Sencha Touch、Kendo UI、DXtreme以及Ignite UI為代表的諸多框架擁有大量控制庫,其中包括圖表、網格、樹狀視圖等等,旨在提供與特定移動平臺極為相似的外觀、使用感受外加觸控能力。
全功能型Web框架對于那些缺乏移動設計技能或者JavaScript熟練開發者有限的IT開發機構來說,正是進軍高級設計領域的絕佳起點。這些框架非常適合聯網應用,特別是那些包含功能性報告的應用。
混合容器(Hybrid Container)為開放Web開發者賦予訪問平臺的能力。盡管每款移動平臺都有屬于自己的功能性API,分別對應GPS、加速度計、攝像頭、指南針以及網絡,我們仍然能夠在通用服務背后對這些API進行抽象化。添加一套“無框化”Web瀏覽器作為UI控制機制,我們就擁有了混合容器內的全部核心元素。
混合容器為Web開發人員提供了一種利用JavaScript、HTML以及CSS編寫移動應用,同時又能將應用成果提交給應用程序商店的途徑。目前,使用頻率最高的混合容器要數Apache Cordova,也就是原先的PhoneGap。簡單的混合容器以Web技術為基礎分析一套單獨代碼庫,但仍能像常規的本地應用一樣被部署到多種應用程序商店當中。復雜的混合容器一部分由本地代碼編寫,同時將聯網元素編寫至Web技術當中,并最終集成至各種平臺的應用程序本地shell當中。一般來說,一套復雜的混合容器中三成內容為本地代碼、七成內容為HTML、JavaScript以及CSS代碼的情況非常常見。
移動中間件解決方案將調整開發工具與基礎設施服務相結合。某些廠商所提供的開發工具意在簡化移動應用與基礎設施服務之間的垂直連接難題。利用移動中間件工具創建的應用程序可以被部署到內部服務器或者廠商托管的基礎設施當中。移動中間件工具的另一大通用功能在于支持前面所提到的一項或者多項技術方案。開發人員可以選擇對本地軟件包進行編譯并提交給應用程序商店,或者將自己的成果部署為Web應用程序。某些中間件工具甚至能將應用程序編譯為本地操作碼,從而運行在基于ARM或者IA處理器的通用型移動設備之上。