ELIPS Studio是法國公司 OpenPlug 的創新開發工具,可以讓開發者用ActionScript3、Flex和Flex Builder (也支援FB4)寫code,然後編譯成行動平台的原生應用程式,目前支援的行動平台包括iPhone OS3.0 、Android 1.6、Symbian S60 3rd和Windows Mobile 6 Pro等等,想直接了解這個工具可以做到什麼程度可以參考此官方Youtube 影片,這東西被介紹得真是神。
安裝和試用的方法可參考官方網站上清楚的安裝說明,裝好以後馬上就可以直接在原本即安裝好的Flex Builder中建立、編譯、除錯ELIPS專案,也可以預覽和佈屬程式到行動裝置上。我裝完、Hello World畢後就嘗試做了的第一個ELIPS實驗,並把這個實作安裝到我的HTC Desire上,實作經錄影上傳到youtube:
試用記錄
(1) 開啟FB後會看到FB中多了ELIPS plugin的工具列,FB能夠建立ELIPS專屬的專案,可以選擇要編譯的目標平台為何。在我的電腦上編譯一次至少要花5分鐘以上 (畢竟中間也轉了好幾層)。編譯成功的話會把安裝檔全都丟到output資料夾下面,預設上,iPhone平台也會連帶編繹出source code,猜想這動作應該是為了要規避iPhone OS 4將限制第三方、跨平台語言的新規範吧。
(2) 像我這樣簡單的程式,編譯出來的SWF檔案大小是157KB,Andriod的apk安裝檔大小卻暴增到是4MB,這樣的大小好像還ok(其實在2.1的Desire上還是很不ok),但佈署到Desire上面的時候,不知道為什麼在系統中又多佔用了7MB的空間,13MB的空間對ROM很拮据的Desire來說負擔還蠻大的。這....與官方所聲明的"檔案小"的理念好像是相違背的耶 -_-"。
(3) 若用到不支援的功能,編譯時會有錯誤提示,比如現在的ELIPS版本仍不支援Flash Player10的3D座標,因此用到 rotationY語法時會有錯誤提示;但也有編譯遇到不支援的功能卻也不會有錯誤提示,變成還是要自己對照Reference。
(4) ELIPS的Demo影片看起來好像很神,可是我遇到一個狀況,就是雖然 Image 元件本身的 rotation是支援的,但是為了重新調整Image物件的旋轉中心點,我把Image包在一個Canvas裡面,結果Canvas的rotation屬性目前還不被支援(如影片所示)....官方的Demo影片中甚至還有3D的CoverFlow效果,變成單單只使用Flex Framework的功能很難做出Demo影片裡面的效果,官方影片的效果好像太神了點。當然,是否可以用ELIPS額外提供的元件可以做到更多效果就沒研究了。
(5) ELIPS有另外提供他們自己的Controls元件,透過額外的元件可以做手機上特有的介面,比如手機原生的Alert視窗、聯絡人、簡訊界面等等。從sample看來,ELIPS還支援影片播放、可以抓到GPS訊號、傳送簡訊等等,這部分沒有多研究。但目前支援的視覺化的效果就沒那麼豐富了,目前支援的Flex 特效只有Move、Fade、Resize。
總結來說,目前ELIPS的成熟度還不到可以隨心所欲地用Flex來開發,必須時時注意哪些功能支援、哪些不支援,這樣子開發起來很也不輕鬆呀 -_-",如果不是為了跨平台的目的,我倒是覺得直接學目標的語言還乾脆點呢。這麼說好像有點無視這個工具和idea的創意和大膽,其實沒有,我大概有概念能夠做到這種程度已經是另一個可怕的境界了,在佩服之餘,也希望ELIPS未來很快就會有滿滿的支援囉。
相關連結:


2 意見:
在使用Elips的時後,發現當我的Flex Project有建置自訂組件時,打包成apk的動作就會出錯,看來只能用一個mxml檔寫完整個app.... 那結果會很驚人.... = ="
而且若裡面文字組件有中文字時,打包安裝在手機上會變成亂碼
有些AS碼也不支援,例如setTimeout
請問樓主有沒有解決過這兩個問題? ??@@a
感覺用Elips可能是比較無法開發出較大型的app,畢竟它是把Flex碼轉換成Java碼,受到的限制太多...
用Elips + Flex開發手機app似乎不是一個很好的方案
雖然可以用Flex Burrito開發手機app,不過也只適用於Android 2.2版本,現在2.2版還並不普及
看來只能用Java開發手機app才比較適合
hi Victor,
我當時還沒研究到使用自訂組件或多個組件耶。基本上我測試完的結果是...非常灰心,然後就再也沒開過它了。
實際測試過後,我覺得ELIPS作法在目前這個時代來講的確不是很好的方案,這個目標太理想化了,每種語言都要特地去支援轉譯,支援速度看起來果然是相對地慢,本來還以為他們有什麼特殊的方法(創辦人是從Adobe的Flex team出來的樣子)可以至少讓某個平台支援的比較完整,但看來每個平台都變得一樣弱了。
AIR for Android的速度太複雜的互動就稱不上去了,本來想做3D的東西,測試階段就自爆了,且我還蠻在意它那11mb龐大的runtime。如果會寫的話,我也覺得還是Android Framework比較王道。
張貼意見