Titanium

Titanium

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

 

服務介紹

它是由Appcelerator所推出的跨平台解決方案,支援目前眾多熱門的行動裝置,而且開發平台也包辦目前最熱門的三個開發平台Windows / Linux / Mac,而想使用Titanium的開發者並不需要學會Object C或是Java來開發iphone或是android的程式,而是使用目前全世界開發者最多的html and javascript等網頁技術來進行開發,但它最最強大的地方是cross-compile的技術,可以透過Titanium所提供的各種函式庫將網頁程式轉換成符合個平台的原生程式,在跨平台和使用者經驗都贏過許多目前的跨平台解決方案,但其中仍有許多的不方便,我們會在下面經驗分享的部分提到。

 

使用方法

我們都是參考官方的文件,因此我們在這邊提供連結給大家

http://docs.appcelerator.com/titanium/latest/#

https://wiki.appcelerator.org/display/guides/Home

https://wiki.appcelerator.org/display/guides/Quick+Start

 

注意事項

Write once run anywhere一直是所有開發者的夢想,寫一次code就可在各個不同的平台上run,這個理想被眾多的programmer追隨了多年,但隨著Web的技術逐漸成熟,這個夢想慢慢的被眾人遺忘。

直到近年手機應用程式的崛起,才讓廣大的程式設計師又想到了這個議題,在這需求市場上也出現了其他解決方案但大多都遇到了相同的問題:

 - 安裝執行的步驟相當複雜

 - 效能不太好,容易執行緩慢

 - 介面由於各裝置的差異導致不符合使用者的經驗

但也許有人想要用行動是網頁來解決這個問題,但行動網頁最大的缺陷就是

『介面跟效能會被大大的限制,而且也無法提供許多特效』

而Titanium解決了以上的問題

 

與其他服務的比較

Phone Gap

Titanium

HTML5 + CSS + Javascript 的 Container 來執行開發者所撰寫的程式,PhoneGap是一種原生包裝的Web應用程序

Titanium 則是會將 App 轉換成各作業系統的原生程式

 

效能較佳

Phone則不用各種手機的SDK

 

開發方便性較佳

Titanium 則是一定要有各個手機系統的 SDK 才行

小巧簡單

異常肥大

 

經驗分享

由於我們是使用Titanium來開發我們的期末專題,因此我們這邊有些使用上的優缺點介紹給大家。

 

※Titanium 使用Javascript語法5開發,但也只限於語法——即使是開發Web App都需要完全使用Titanium提供的介面與物件,而非Javascript物件。這是因為Titanium運行的方式所致,Titanium本質上與Java VM相似,你所編寫的Javascript檔案正好等於Java bytecode,會在不同平台上的Titanium終端上執行。

 

可惜這並沒有使Titanium能開放出真正的Native Apps,怎至因而產生了其他問題︰

(1) 很多界面物件限定在不同平台上使用(如rightnavbutton只能在iOS上使用)。

(2) 相同物件在不同平台上又有不同效果(如TAG在iOS/ANDROID是顯示在上方,而WEB是在下方)。

(3) 為了跨平台又放棄了很多功能(如不能用FUNCTION方式來代替Listener)。

(4) 要支援iOS就只能在MAC上開發。

(5) Titanium終端本身就有近6MB的大小,加上JS,圖像等後很容易就超過10多MB。

(6) 運行時Titanium終端立即翻譯JS帶來明顯的效能問題,這有如JAVA和C的效能差別在手提平台上問題更加明顯。

(7) JS為Script language的關係JS檔是原封不動的封裝到APK中而完全沒有經編譯器優化,怎至不知為什麼註解都不會除去,使執行時產生不必要的效能浪費。

(8) 為支援不同平台,Titanium在安裝時就會產生不少問題,好像windows下要自己增加環境變數和有機會跟其他程式產生之變數衝突;iOS上不能直接引用現有的SDK目錄,而是要強裝在Titanium目錄之中。

(9) 即使是使用Eclipse之IDE,但為了iOS的原故而放棄了圖像介面開發的功能。

 

不過Titanium並有其優點:

 

(1) 其大部分功能都能支援不同平台。

(2) Javascript的loosely typed language特性讓我們可以無視不同物件間的形態轉換問題。

(3) 全面使用Titanium提供的界面使我們不用import那堆麻煩的檔案和權限,Titanium終端自會處理好。

 

Reference

1.

http://www.inside.com.tw/2011/03/30/titanium-cross-platform-mobile-application-solution

2.

http://www.appcelerator.com/

3.

http://herb123456.blogspot.tw/2012/03/android-sdk-xcode-titanium-phongap.html

4.

http://www.arthurtoday.com/2012/07/titanium-vs-appmobi-vs-phonegap.html#.UOrTWm_qn4Z

5.

http://blog.yam.com/iemarketing/article/58303429