【第175期 April 5, 2012】
 

研發新視界

Heterogeneous Mobile Development – Titanium簡介

作者/黃詰仁

[發表日期:2012/4/5]


前言

現今手持裝置漸漸普及,無論是智慧型手機或是平板電腦,這些平台上的軟體(App)更是帶給人們極大的便利,在開發App中實現開發者的創意。開發者為了將自己的App普及至各個平台,進而帶來巨大的商業利益。

在手持裝置上開發應用程式就需要學習該平台相對應的程式語言,即使這些平台使用相同的語言,開發者也得因應不同的底層服務加以改寫。甚至於同平台的版本更迭,也有可能導致程式碼大幅改寫。面對多變的環境,選擇這種跨平台架構並且遵循標準以開發服務,應該是企業的資訊服務決策者最好的選擇。

背景

目前智慧型手持裝置的平台主要有Andriod、iOS和Windows Phone,依據Gartner預估,這三種平台在全球智慧型手機市場的市佔率共將達到78.9%。為了在這些平台上開發程式,需要學習該平台相對應的程式語言。開發App主要可以分為Web App及Native App,分析如下:


《圖一》



《圖二》圖左為Web App,圖右為Native App


由圖一比較表可以得知,無論是Web App或是Native App都各有其優缺點。為了讓開發者可以更節省時間,並且結合兩者的優缺點,開發者可以利用跨平台應用程式開發解決方案來達到簡單方便開發跨平台的原生軟體的目的。而Titanium Mobile 主要可以讓網頁開發者可以利用原本熟悉的網頁語言開發Native App。

Titanium Mobile

Titanium Mobile主要有以下特點:
  • 提供原生的使用者介面Titanium Mobile提供所有iPhone、iPad 及Android的使用者介面,包含table views、scroll views、native buttons、switches、tabs等,能夠輕鬆開發出最佳的使用者介面。


  • 殺手級社群網絡及適地性服務(Location-based Services)透過 Titanium Mobile 可以方便和各大社群網站介接,如:Facebook、Yahoo、Twitter等。亦可利用Geo-location、Maps和羅盤(compass)功能輕鬆製作出適合的App軟體。


  • 使用熟悉的 web 技術,例如:JavaScript、HTML5及CSS3等網頁開發程式語言直接進行軟體開發,透過Titanium Mobile可以直接轉換產生原生的iOS或是Android App。

開發者利用JavaScript原始碼加上App中的素材,透過Titanium便可以開發跨平台App。也就是說,只需要維護一套原始碼即可。

開發Titanium Mobile可以使用Titanium開發商所提供之Titanium Studio,此IDE為Eclipse-based IDE。


《圖三》Titanium專案架構


開發者可以在Titanium Studio中建立Titanium架構之專案,利用JavaScript在起始檔中撰寫App。例如:


《圖四》


接著便可以模擬在手機上看到App呈現的結果:


《圖五》Titanium 之執行結果


Titanium的跨平台開發語言為JavaScript以及HTML等網頁標準技術,搭配上其專用的函式庫。並且可以產生不同平台之特色UI介面,以獲得良好的使用者經驗。

結語

雖然服務開發者有著遵循標準以開發服務的理念,但是有時候還是不得不為特定的平台做一些特殊處理,特殊處理做得越多,以後的包袱越重。有了跨平台的中間層之後,的確可以省去一些為每個平台客製化的功夫;但是如果要發揮一些平台的特有功能,還是免不了走回特殊處理,甚至於重新開發一套的可能。

參考資料
  • http://www.ithome.com.tw/itadm/article.php?c=66896
  • http://en.wikipedia.org/wiki/Appcelerator_Titanium
  • http://www.slideshare.net/lis186/20110820titanium-mobile
  • http://www.appcelerator.com/products/titanium-studio/
  •