跨平台移動應用程式的解決方案 – Titanium

評論
評論

跨平台的夢想一直是大家所想要追求的,畢竟若是能以單次的開發便同時支援多個不同的平台,對於企業而言在時間和成本上都是有很誘人的考量。

跨平台的夢想

從 1990 年代的 Java 標榜著「Write once run anywhere」、一直到 Adobe AIR 等技術,其追求的一個理想便是可以透過一次的開發後在不同的平台上運行。這樣的理想持續了二十多年中一度隨著 Web 的技術越來越熱門而逐漸沉寂,一直到了最近的行動應用程式開發熱潮出現,這跨平台的夢想又再度被喚起。

簡單的歸納,跨平台的應用程式大多會遇到以下的問題:

  • 安裝執行的步驟與原生軟體相比來的複雜
  • 效能相對於原生的軟體而言慢上不少
  • 介面沒辦法符合各種平台的使用習慣

像是以行動版網頁來取代原生應用程式為例子:

  • 沒辦法像 App Store 或 Android Market 一般的安裝並且收費
  • 跑在 Web 畫面中的行動版網頁效能有所限制、所能操控的硬體資源也有限制(像是相機就無法使用)
  • 介面必須透過網頁技術來搭建、模擬,沒辦法直接做出內建程式般的介面效果

PhoneGap 這樣的半網頁式的解決方案(Inside 也有教學文章可以參考),試圖補強 App Store 上架以及硬體資源操作這方面的弱點,但網頁應用程式終究不是原生應用,介面以及效能上仍舊沒辦法突破。

在本站作者 fOx 的文章中便曾經強調過:

開發手機應用程式前,您可能想問的 10 個問題」:
請記得一件最重要的事,一個 iPhone 應用程式必須看起來並使用起來像是一個 iPhone 應用程式;而 Android 應用程式必需像是一個 Android 應用程式;如果想要跨平台,先確保你要先知道原生應用程式的樣子,才不會犧牲掉使用者經驗。

Titanium

Titanium 為 Appcelerator 於 2008 年底所推出的跨平台應用程式開發解決方案,目前支援了 iOS/Android/Blackberry/WM7 等行動平台,以及 Windows/Linux/OS X 這三種主流的桌上型平台,幾乎是已經將所有的平台一網打盡。其開發工具為開放原始碼的專案,在官方網站上可以免費下載,若是需要開發行動裝置的應用,則需要一併安裝 iPhone SDK/Android SDK。

Titanium 的跨平台開發語言為 JavaScript 以及 HTML 等網頁標準技術,搭配上其專用的函式庫,讓開發者可以不用學習 Java/Objective-C 或其他各平台的原生應用開發語言以及環境,便可以使用常見的網頁技術來開發各個平台的應用程式。

然而 Titanium 最厲害的地方是 cross-compile 的跨平台編譯技術,也就是將 透過 Titanium 的函式庫撰寫的網頁程式轉換成各種平台中原生的應用程式 !像是 Titanium 所轉換成的 iPhone 應用程式原始碼,甚至是可以直接用 Xcode 開啟並編譯執行的,就和原生開發的一模一樣!

所以實際上執行的過程中就如同原生應用程式一般(因為真的是原生),效能以及介面的呈現都有超過一般跨平台應用程式的水準,與傳統跨平台應用解決方案相比是很重大的突破。

在其官方網站上面 有許多的案例 可以提供大家參考,而在 App Store 和 Android Market 中也已經有許多軟體是透過 Titanium 開發並且上架。


其中有一套 Wunderlist 特別值得大家一看,是一套高品質的 todo 軟體,在各個平台上皆有相對的版本推出,並且有相當好的使用者體驗。

Titanium 的收費方式,則主要是販售額外的擴充模組 Titanium+Plus,裡面包含了像是 BarCode 的條碼掃描功能、Apple 的 In-App Purchase 服務、PayPal 付費功能,但若是不使用這些額外的擴充模組就不需要額外的費用。

學習資源

讀到這邊或許你已經對 Titanium 產生興趣了,官網上有相當好的學習資源以及範例參考,建議讀者可以先閱讀 Getting Started with Appcelerator 的線上指南,或者是觀賞網站上 影片教學 ,並且搭配範例的專案 Kitchen Sink 來做練習以及測試開發。

相關文章

評論