專利名稱:移動裝置應用程序轉換方法、移動裝置、系統及開發系統的制作方法
技術領域:
本發明是有關于一種移動裝置的應用程序轉換方法及可轉換移動裝置應用程序的移動裝置和系統,特別是有關于一種可提供跨平臺移動裝置應用程序,并自動根據移動裝置的裝置特性調適移動裝置應用程序的使用者介面操作方式的應用程序轉換方法及可轉換移動裝置應用程序的移動裝置和系統。
背景技術:
近年來,便攜式裝置,例如移動或手持式裝置,已經變成技術愈來愈先進并且具多功能性。舉例來說,移動裝置可接收電子郵件信息、具有一個先進的電話簿管理應用程序、允許多媒體播放以及具有各種其他功能。由于這些具有多功能的裝置所帶來的便利性,使得這些裝置在生活中不可或缺。使用者可下載各種不同的應用程序(Application,簡稱APP)至移動裝置來增加移動裝置的功能性與操作效能。一些應用程序經常需要使用到移動裝置所提供的不同互動方式來提供使用者良好使用經驗,例如經由晃動感應器、加速度器和陀螺儀等感測器或經由麥克風與語音辨識功能這類感測器加上平臺內建特殊功能的輸入方式,讓使用者來操作使用者介面(UI);又例如經由震動器、揚聲器和顯示器等輸出裝置讓使用者使用,以提供更多樣的互動效果。然而,由于現在的移動裝置的種類繁多,不同移動裝置所具備的互動裝置與使用平臺也不盡相同,應用程序開發者必須事先知道特定移動裝置上所具備的互動裝置與使用平臺,才可以規劃適當的使用者介面的操作方式,進而為特定移動裝置開發應用程序。對于不同的移動裝置,如具有不同的互動裝置或平臺,都需要再重新開發適合的應用程序,非常的不方便,也造成昂貴的開發成本。舉例來說,假設一 APP是使用特定感測信號作為輸入,例如震動、觸控等作為使用者介面的操作方式,若一移動裝置不具有震動感測器和觸控面板時,此一 APP即無法在此移動裝置上使用。市面上的移動裝置所配備的感測器越來越多樣化、規格越來越多,因此,開發者必須針對各種配備不同互動裝置的移動裝置開發多種版本的應用程序,或者為各移動裝置逐一修改應用程序。此外,為了重新開發或是修改應用程序以適用各移動裝置,除了應用程序的程序設計的技術門檻之外,市場、設計、美編與程序人員都需要進行溝通,使得開發時間更冗長又耗費人力成本。因此,需要一種能夠快速產生適用于各種平臺的應用程序的工具。
發明內容
有鑒于此,本發明提供一種移動裝置應用程序的轉換方法、以及可轉換移動裝置應用程序的移動裝置和系統,以解決前述的現有技術問題。本發明提出一種移動裝置應用程序的轉換方法,包括以下步驟:取得一移動裝置的一裝置特性數據以及一平臺信息;以及通過一轉換器,依據所取得的移動裝置的裝置特性數據以及平臺信息,修改一第一應用程序的一第一描述數據,將修改后第一應用程序轉換為第二應用程序,其中第一應用程序是以一平臺中立語言表示且至少包括一第一描述數據,第一描述數據用以描述一使用者介面的互動方式,且第二應用程序是以對應平臺信息的語言表示,可于移動裝置執行并產生使用者介面。于一實施例中,本發明所提出的移動裝置應用程序的轉換方法適用于連線至一服務器的一移動裝置,取得移動裝置的裝置特性數據以及平臺信息的步驟是由移動裝置取得,轉換器及第一應用程序是由服務器傳送至移動裝置,以及由移動裝置執行轉換器,以修改第一描述數據并將第一應用程序轉換為第二應用程序。于另一實施例中,本發明所提出的移動裝置應用程序的轉換方法適用于連線至一服務器的一移動裝置,取得移動裝置的裝置特性數據以及平臺信息的步驟是由移動裝置取得后傳送至服務器,以及由服務器執行轉換器,以修改第一描述數據并將第一應用程序轉換為第二應用程序后傳送至移動裝置。本發明另提出一種可轉換一移動裝置應用程序的移動裝置,包括一無線模塊,用以經由一無線通訊網絡鏈結一服務器;以及一控制器模塊,取得移動裝置的一裝置特性數據以及一平臺信息,自服務器接收一轉換器及包含一第一描述數據的一第一應用程序,執行轉換器以依據裝置特性數據以及平臺信息,修改第一應用程序的第一描述數據,并將修改后第一應用程序轉換為第二應用程序,其中第一應用程序是以一平臺中立語言表示且至少包括第一描述數據,第一描述數據用以描述一使用者介面的互動方式,且第二應用程序是以對應平臺信息的語言表示,可于移動裝置執行并產生使用者介面。本發明另提出一種可轉換一移動裝置應用程序的系統,包括一通訊模塊,用以經由一通訊網絡鏈結一移動裝置,以取得移動裝置的裝置特性數據以及平臺信息;以及一服務器控制模塊,執行一轉換器以依據裝置特性數據以及平臺信息,修改一第一應用程序的一第一描述數據,將修改后的第一應用程序轉換為第二應用程序后傳送至移動裝置,其中第一應用程序是以一平臺中立語言表示且至少包括一第一描述數據,第一描述數據用以描述一使用者介面的互動方式,且第二應用程序是以對應平臺信息的語言表示,可于移動裝置執行并產生使用者介面。本發明又提出一種移動裝置應用程序的開發系統,用以產生一應用程序并提供至一移動裝置,包括:一通訊模塊,用以經由一通訊網絡鏈結一移動裝置;一編輯器,用以產生一第一應用程序,第一應用程序是以一平臺中立語言表示,至少包含一第一描述數據以描述一使用者介面的互動方式;以及一轉換器,用以依據一移動裝置的一裝置特性數據以及一平臺信息,修改第一應用程序的第一描述數據,將修改后的第一應用程序轉換為第二應用程序,其中第二應用程序是以對應平臺信息的語言表示,可于移動裝置執行并產生使用者介面。本發明的方法可經由本發明的移動裝置或系統來實作,其為可執行特定功能的硬件或固件,亦可以通過程序碼方式收錄于一紀錄媒體中,并結合特定硬件來實作。當程序碼被電子裝置、處理器、計算機或機器載入且執行時,電子裝置、處理器、計算機或機器變成用以實行本發明的裝置或系統。為使本發明的上述和其他目的、特征、和優點能更明顯易懂,下文特舉出較佳實施例,并配合所附圖式,作詳細說明如下。
圖1顯示依據本發明實施例的移動裝置應用程序的轉換方法的流程圖;圖2顯示依據本發明實施例的可轉換移動裝置應用程序的移動裝置;圖3顯示依據本發明實施例的可轉換移動裝置應用程序的系統;圖4顯示依據本發明實施例的應用程序開發系統;圖5A顯示依據本發明實施例的一種使用者介面檔示意圖;圖5B顯示依據本發明實施例的一種執行適裝置轉換后的使用者介面互動方式示意圖;圖6顯示依據本發明另一實施例的移動裝置應用程序的轉換方法的流程圖,適用于連線于一移動裝置的服務器。附圖標號:S102-S106 執行步驟;10 移動裝置;12 通訊模塊;14 控制器模塊;20 可轉換移動裝置應用程序的系統;22 通訊模塊;24 服務器控制模塊;30 應用程序開發系統;32 通訊模塊;34 編輯器;36 轉換器;38 包裝模塊;100 服務器;200 移動裝置;300 網絡;S602-S610 執行步驟。
具體實施例方式有關本發明的技術內容、特點與功效,在以下配合參考圖式的較佳實施例的詳細說明中,將可清楚的呈現。本發明適用于各種具感測器的移動裝置,如智能型手機、平板計算機、小筆電、筆記型計算機、個人數字助理機(PDA)等,但本發明不限于此。本發明所提出第一實施例中,請參考圖1,提出一種移動裝置應用程序的轉換方法,包含有以下步驟:步驟S102,取得一移動裝置的一裝置特性數據以及一平臺信息。在此步驟中,裝置特性數據可以是移動裝置所具有的感測器、可提供的功能、或是可作為操作介面的輸入、輸出信號,例如,震動、搖動、翻轉、按鍵、觸控信號、聲音(嗶聲)等。平臺信息可以是移動裝置所安裝的作業系統種類/版本、可執行語言的應用程序等信息。步驟S104,通過一轉換器,依據所取得的裝置特性數據及平臺信息,修改一第一應用程序的一第一描述數據。在此步驟中,第一應用程序是使用一平臺中立語言表示,例如以HTML、XML、Protocol Buffer,第一應用程序可使用在多種平臺上,將不受限定于何種平臺或是作業系統。第一應用程序至少包含有第一描述數據,第一描述數據主要是描述此應用程序移動裝置上執行時所產生的使用者介面的互動方式,例如描述使用者介面接收晃動信號作為輸入信號,傳送聲音信號作為輸出信號。步驟S106,將修改第一描述數據之后的第一應用程序轉換為第二應用程序。在此步驟中,第二應用程序主要是使用移動裝置平臺信息的語言來表示,可在移動裝置執行并產生使用者介面。上述實施例中,可經由網絡通訊連線的服務器和移動裝置來實作。一種實作方式主要是由移動裝置來執行,可由移動裝置自行取得移動裝置的裝置特性數據及平臺信息,例如移動裝置已儲存有裝置特性數據及平臺信息,或是由移動裝置自行進行檢測后取得。轉換器及第一應用程序可由服務器傳送至移動裝置,然后由移動裝置執行轉換器,以修改第一描述數據,并將該第一應用程序轉換為該第二應用程序。另一種實作方式主要是由服務器來執行,由移動裝置取得裝置特性數據及平臺信息后傳送至服務器,然后由服務器執行轉換器,以修改該第一描述數據,并將第一應用程序轉換為第二應用程序后,再傳送至移動裝置。更進一步時,在經由移動裝置執行轉換器的實施例中,移動裝置在執行轉換器將第一應用程序轉換為第二應用程序時,亦可有不同的執行方式。例如當移動裝置接收到轉換器和第一應用程序時,即可于適當時間將第一應用程序轉換為第二應用程序,以供移動裝置可隨時選擇和執行第二應用程序。又例如,移動裝置可先儲存轉換器和第一應用程序,當移動裝置欲執行第二應用程序時,再經由轉換器和第一應用程序來轉換并執行第二應用程序。本發明實施例中,第一應用程序和第二應用程序,可以是相同或不同的語言程序,也可以是相同語言程序所編譯/轉譯成的不同階層的語言程序(如不同的高階語言或機器碼)。此外,第一應用程序是可由移動裝置、計算機或其他電子裝置來執行的應用程序,其執行方式可以有多種方式,例如其可于執行時經由對應第一應用程序的一直譯器進行直譯后,由移動裝置、計算機或其他電子裝置來執行,或是其可將第一應用程序先經由對應第一應用程序的一編譯器進行編譯以產生執行程序碼,以供移動裝置、計算機或其他電子裝置來執行。同樣地,第二應用程序亦是可由移動裝置、計算機或其他電子裝置來執行的應用程序,可經由對應第二應用程序的一直譯器進行直譯,或是經由對應第二應用程序的一編譯器進行編譯。當第一應用程序和第二應用程序為相同的語言程序時,第一應用程序和第二應用程序可以共用相同的直譯器或編譯器。在一特定實施例中,直譯器或編譯器也可和前述的轉換器整合,亦即轉換器中可更包含有直譯器或編譯器的功能。本發明所提出的可轉換移動裝置應用程序的移動裝置10,其裝置架構圖請參考圖2,主要包括有通訊模塊12和控制器模塊14。通訊模塊12主要是經由一有線或無線通訊網絡以鏈結到服務器18,較佳實施方式是采用無線通訊網絡例如3G、GSM、CDMA、PHS、W1-Fi等,但不以此為限。控制器模塊14主要是取得移動裝置的裝置特性數據及平臺信息16,從服務器接收一轉換器及含第一描述數據的第一應用程序,執行轉換器,以依據裝置特性數據及平臺信息,修改第一描述數據,并將第一描述數據修改后的第一應用程序轉換為第二應用程序。裝置特性數據及平臺信息16可以儲存在移動裝置10的儲存元件中,例如存儲器、SM卡、記憶卡或硬盤等。如上所述,第一應用程序是以平臺中立語言表示且至少包括一第一描述數據,第一描述數據描述一使用者介面的互動方式,且第二應用程序是以對應平臺信息的語言表示,可于移動裝置上執行并產生使用者介面。本發明所提出的可轉換移動裝置應用程序的系統20,其裝置架構圖請參考圖3,主要包括通訊模塊22和服務器控制模塊24。通訊模塊22主要是經由一有線或無線通訊網絡以鏈結移動裝置10,以取得移動裝置10的裝置特性數據及平臺信息。較佳實施方式中通訊網絡是采用無線通訊網絡例如3G、GSM、CDMA、PHS、W1-Fi等,而裝置特性數據及平臺信息16是儲存在移動裝置10的儲存元件中,例如存儲器、SIM卡、記憶卡或硬盤等,之后經由通訊網絡傳送到可轉換移動裝置應用程序的系統20中,以供服務器控制模塊24使用。更進一步時,可轉換移動裝置應用程序的系統20更可包含有一數據庫以儲存移動裝置10的裝置特性數據。服務器控制模塊24主要是用來執行轉換器,依據裝置特性數據及平臺信息16,修改對應第一應用程序的第一描述數據,將修改后的第一應用程序轉換為第二應用程序后傳送到移動裝置。第一應用程序、第一描述數據和第二應用程序的相關說明如前所述,不再贅述。本發明所提出可轉換移動裝置應用程序的系統20中,可更進一步依據轉換原則(rule)和裝置特性數據/平臺信息來進行移動裝置應用程序的轉換,并作為應用程序的開發系統。在此實施例中,第一應用程序的第一描述數據用以描述使用者介面的互動方式,第一應用程序還可包含外觀描述與資源描述等中介描述檔案,其可儲存為單一檔案,也可分別儲存在多個檔案中。在一些實施例中,移動裝置可自動檢測目標移動裝置具有哪些感測器或者有哪些使用者介面相關裝置,再依據轉換原則(rule)以及裝置特性與平臺信息,自動將第一應用程序中的使用者介面互動方式修改成符合移動裝置的互動方式,再將內含修改后的第一描述數據(即互動方式)、外觀描述與資源描述等數據的第一應用程序轉換成目標移動裝置可執行的第二應用程序。請參考圖4顯示依據本發明另一實施例的應用程序開發系統30。應用程序開發系統30可設置于一服務器100,主要包括通訊模塊32、編輯器34和轉換器36。通訊模塊32主要是經由通訊網絡300鏈結到移動裝置200。編輯器34用以產生第一應用程序,第一應用程序是以一平臺中立語言表示,至少包含一第一描述數據,第一描述數據用來描述一使用者介面的互動方式。轉換器36可依據移動裝置的裝置特性數據及平臺信息,修改第一應用程序的第一描述數據,將修改后的第一應用程序轉換為第二應用程序,第二應用程序是以對應平臺信息的語言表示,可于移動裝置執行并產生對應的使用者介面。更進一步時,應用程序開發系統30更可包含有包裝模塊38,可將轉換器36和第一應用程序打包成一應用程序包,于移動裝置200連線到服務器100時,提供應用程序包給移動裝置200。移動裝置200可為任何便攜式或手持式裝置例如移動電話、智能型手機、平板計算機、PDA、筆記型計算機等,但不限于此。其中,服務器100以及移動裝置200可通過網絡300例如有線或無線網絡彼此進行通訊。編輯器34主要是用來產生第一應用程序,編輯器34可提供一編輯介面來設定或編輯以產生第一應用程序的第一描述數據及/或其他描述數據,第一描述數據主要包含第一應用程序的使用者介面的互動方式描述數據,其他描述數據可包括外觀描述數據與資源描述數據。于此實施例中,第一應用程序是以平臺中立語言表示。平臺中立語言是指不和特定平臺直接相關聯的語言,以平臺中立語言表示的程序,經由轉換后可在多種平臺上執行。
編輯器34可經由一編輯操作介面提供應用程序開發服務。于一些實施例中,編輯器34可以為一所見即所得編輯器(What you see is what you get Editor,簡稱WYSIWYGEditor)編輯介面,允許使用者(如應用程序發布者、開發者)通過滑鼠點擊與拖曳的方式來設計應用程序的使用者介面的呈現方式如外觀、互動方式,以及設定相對應的功能,且內容可直接套用預先定義好的樣版(template)。使用者可通過所見即所得編輯器來編輯想要的應用程序的內容和使用者介面外觀與操作方式。
更進一步時,編輯器34更可細分為一應用程序編輯器、一知識庫和一平臺中立語言產生模塊。應用程序編輯器可提供編輯介面讓使用者來設計第一應用程序的使用者介面的外觀、互動方式、對應資源、對應功能等,平臺中立語言產生模塊可將應用程序編輯器編輯完成內容轉換成符合平臺中立語言的應用程序(Platform-Neutral App)。使用者也可參考知識庫自訂各個事件/動作所對應的裝置偏好設定。于一些實施例中,知識庫亦可是為裝置特性對策知識數據庫。
前述的互動方式描述數據、外觀描述數據與資源描述數據輸入至轉換器36可先判斷擬開發的應用程序中使用者介面的操作方式,例如某個輸入方式或輸出方式會對應至哪些感測器或是信號,然后依據移動裝置200的裝置特性數據,判斷裝置特性數據中的感測器或是可提供的信號,是否符合第一應用程序的使用者介面的操作方式。若移動裝置200未事先建立裝置特性數據,則移動裝置200可經由轉換器36,或是另外一檢測程序來檢測移動裝置200上的感測器或是/以及可提供的信號。舉例來說,假設互動方式描述數據中包括一晃動輸入方式,則轉換器36或另一檢測程序便會去檢測移動裝置200上是否有支援晃動輸入方式的裝置存在,并且將檢測結果記錄在一裝置特性數據中。若是,則轉換器36直接以原來的互動方式描述數據、外觀描述數據與資源描述數據,依據移動裝置200的平臺數據(例如經由移動裝置的作業系統、平臺或應用程序的版本信息獲得),直接將第一應用程序轉換成移動裝置200可執行的第二應用程序,例如若移動裝置200為Android平臺時,則轉換器36便將第一應用程序轉換為符合Android平臺的程序語言的應用程序,即第二應用程序。當移動裝置200的感測器或可作為輸入輸出操作的信號,并未全部符合第一應用程序的使用者介面的操作方式時,轉換器更進一步可根據一些轉換原則來修改互動方式描述數據或者是讓移動裝置的使用者來自行選擇、修改擬替換的互動方式,然后修改第一描述數據以改變應用程序的使用者介面的互動方式,再轉換成移動裝置200可執行的第二應用程序。其中,轉換器36可通過查詢一知識庫來得知轉換原則,知識庫所儲存記錄的是目前某些互動方式所對應的使用者介面所相關的感測器或可作為輸入輸出信號有哪些,另外還儲存一些轉換的原則,例如,若移動裝置200上的某種感測器或信號不存在時可以哪些替代方案等。這些替代方案可以預設或事先便建立好或者可由使用者通過一使用者介面來加以設定。
在另一些實施例中,服務器100通過包裝模塊38將轉換器36和第一應用程序一起打包成一應用程序包。應用程序包于移動裝置200連線至服務器100時,可供移動裝置200進行下載并安裝。當在移動裝置200上安裝此應用程序包時,第一應用程序即可被應用程序包中的轉換器根據移動裝置的裝置特性與平臺信息轉換成第二應用程序。
在又一些實施例中,第一應用程序可包含第一描述數據(描述互動方式的使用者介面檔UI file)、外觀描述數據(描述外觀的外觀描述檔view file)和資源描述數據(描述資源的資源描述檔manifest file)。更進一步時,數據庫也可包含第一應用程序所有可能使用到的裝置特性數據,用以供檢測移動裝置200與第一應用程序相關的裝置特性。此處所指的裝置特性是移動裝置可支援的互動功能,包含輸入方式例如:觸控輸入、語音辨識、晃動等,與輸出方式例如:螢幕畫面、聲音、震動等,但不限于此。當第一應用程序中被讀取且執行時,轉換器36可根據知識庫與第一描述數據檢測移動裝置200中的裝置特性且記錄起來,產生一裝置特性數據。接著,轉換器36可根據裝置特性數據以及決策知識數據庫(Policy Knowledge Database (未繪示),包含于前述數據庫)所提供的轉換原則來執行一裝置導向使用者介面轉換(Device-Oriented UI Transformation)操作,將使用者介面檔所描述的互動方式轉換成適合移動裝置200的裝置特性的使用介面。圖5A顯示依據本發明一實施例的一種使用者介面檔示意圖。在這個例子中,使用者介面的互動方式是以有限狀態機(Finite-State Machine, FSM)表示,但本發明并不限于此。于圖5A所示的有限狀態機中,每個節點(node)表示一個應用程序的動作和狀態,每個邊(edge)則表示一個事件的發生。每個節點記錄的數據含節點名稱Node_ID、外觀名稱View_ID、動作Action和連結的邊Edges。每個邊記錄的數據含邊名稱Edge_ID、事件Event和目的節點Node。其中,Nodel表示圖5A中節點名稱Node_ID為node I的節點,Node2表示圖5A中節點名稱Node_ID為node2的節點,依此類推。如圖5A所示,節點Nodel對應到應用程序服務I (App service I)的預設外觀,其動作為顯示應用程序服務I的預設外觀,節點Node2對應到應用程序服務I的第二頁,動作是顯示應用程序服務I的第二頁。邊Edgel是表示如果原來在節點Nodel,發生手機被晃動的事件之后,應用程序的狀態就會被轉換到節點Node2,其所顯示的畫面頁會切換成應用程序服務I的第二頁。圖5B顯示依據本發明一實施例的執行轉換后的使用者介面互動方式示意圖。在這個例子中,原始使用者介面互動方式如圖5A所示。假設應用程序傳送到一個不支援晃動感應和震動功能的移動裝置上,則應用程序的使用者介面檔會被轉換成如圖5B所示的有限狀態機,新增節點NodeO,用以顯示一畫面告知使用者,移動裝置不支援應用程序的哪些預設互動方式,并提供使用者更改設定功能。舉例來說,于此實施例中,圖5B是顯示使用者使用觸控感應取代晃動感應且使用發出嗶聲來取代震動的情形。也就是說,如圖5B所示,當原來在節點Nodel且發生手機被觸控事件時,應用程序的狀態就會被轉換到節點Node2,所顯示的畫面頁會切換成應用程序服務I的第二頁,而當原來在節點Nodel且發生按下服務I選單中的項目I的事件時,應用程序的狀態就會被轉換到節點Node3,所顯示的畫面頁會維持應用程序服務I的預設外觀,同時手機會以發出嗶聲來取代原來應用程序所設定的震動效果。需注意的是,轉換、修改過的使用者介面描述檔和原來的外觀與資源描述檔,是為修改后的第一應用程序,因此轉換器必須再將這些檔案(亦即修改后的第一應用程序)轉換成移動裝置的平臺可執行的執行程序(亦即第二應用程序)。其中,知識庫所包含的轉換原則可事先建立或是/以及經由學習自動建立與更新。例如可由專家提供或使用者自訂建立/更新轉換原則,或是可根據使用者偏好自動建立,又或是先使用專家提供的轉換原則然后再依據使用者的偏好來進行調整/更新。在一些實施例中,使用者可通過操作介面輸入設定使用偏好,該使用偏好可紀錄于數據庫,以供另一于該移動裝置執行的第二應用程序參考,或/且于連接服務器時,將使用偏好回傳至服務器,并記錄于服務器端數據庫,以供其他移動裝置的轉換參考。在另一些實施例中,使用者不需要輸入偏好設定,翻譯器36可根據紀錄于移動裝置端的數據庫或/與服務器端數據庫的使用者偏好統計,自動進行轉換。
此外,本發明更進一步提供多種的應用程序的發布方式,例如一為獨立封裝模式,另一為書柜模式。
于獨立封裝模式的一實施例中,包含第一應用程序以及轉換器36的應用程序包可下載至目標移動裝置200上,再于安裝時通過轉換器36自動修改第一應用程序的使用者介面互動方式以符合目標移動裝置200的裝置特性。于此實施例中,服務器100稱為一跨平臺開發服務器,轉換器36稱為平臺感知轉換器,應用程序包稱為平臺感知應用程序包。
本發明亦可將應用程序的開發及轉換進行整合,圖6顯示一依據本發明一實施例的移動裝置應用程序的開發及轉換方法的流程圖,適用于連線于一服務器的移動裝置。依據本發明實施例的移動裝置應用程序的轉換方法可以由如圖4中的移動裝置200所執行。
首先,如步驟S602,應用程序發布者可在服務器上通過所見即所得編輯器的編輯介面去編輯想要的應用程序。于編輯完畢之后,如步驟S604,將所見即所得編輯器產生的應用程序以跨平臺語言(platform-neutral language)表示,產生一平臺中立應用程序(app in platform-neutral language),其中,平臺中立應用程序即為前面所述的第一應用程序,含描述使用者介面Π的使用者介面描述檔、描述應用程序外觀的外觀描述檔以及描述應用程序資源的資源描述檔。隨后,如步驟S606,包裝模塊(packing Agent) 38將包含前述檔案的平臺中立應用程序與轉換器36打包成一平臺感知應用程序包。因此,平臺感知應用程序包中會包含有以跨平臺語言表示的平臺中立應用程序與轉換器36。之后,使用者可經由連線到服務器以下載此平臺感知應用程序包到其移動裝置200上進行安裝。如步驟S608,于目標移動裝置200上安裝此應用程序包,并如步驟S610,通過應用程序包中的轉換器36執行如前述的轉換,將跨平臺語言表示的應用程序轉換為目標移動裝置200上可執行的應用程序,亦即第二應用程序。
因為平臺中立應用程序為平臺中立(platform-neutral)的,因此轉換器36也會把平臺中立的程序語言轉成符合移動裝置200上的平臺的程序語言,例如會把應用程序轉成適合于iPhone或Android系統的對應程序。
于另一實施例中,服務器100可從目標移動裝置200來取得裝置特性數據,并直接依據所取得的裝置特性數據產生/搜尋適裝置特性的應用程序(亦即第二應用程序)之后,再把適裝置特性應用程序傳送至目標移動裝置200。其中,服務器100上可更包括一裝置特性數據取得模塊(未繪示),用以取得移動裝置所送出的裝置特性數據以及一平臺信肩、O
于此實施例中,平臺感知轉換是由服務器100所執行,而服務器100亦可依據使用者選擇直接產生相應移動裝置200的平臺適裝置特性應用程序。于一些實施例中,移動裝置200可先跟服務器100連線,服務器100取得移動裝置200的裝置特性數據以及使用的平臺信息,知道移動裝置200有哪些裝置特性,再依據裝置的特性去轉換平臺中立應用程序(即第一應用程序)中所描述的互動方式為相應移動裝置200的平臺的適裝置特性的應用程序(即第二應用程序),之后再傳送適裝置特性應用程序至移動裝置200。
于一些實施例中,服務器100或移動裝置200于轉換適裝置特性應用程序時,可更顯示一畫面給使用者選擇替代方案,再依據使用者所選擇的替代方案轉換平臺中立應用程序中所描述的互動方式以產生相應移動裝置200的平臺的適裝置特性應用程序。
于書柜模式的一實施例中,目標移動裝置200中已經包含轉換器,則只需下載包含平臺中立語言的應用程序(即第一應用程序)至目標移動裝置上,再經由目標移動裝置中的轉換器自動轉換使用者介面互動方式以滿足目標移動裝置的裝置特性。
于此實施例中,可于移動裝置200第一次連線到服務器100時進行下載及安裝轉換器,或是移動裝置200第一次下載應用程序包時安裝轉換器在移動裝置200中,之后,移動裝置200即可只下載或更新所需要的跨平臺語言應用程序(即第一應用程序)的部分,不需要每次都下載轉換器或是整個應用程序包。
綜上所述,依據本發明的應用程序轉換方法,使用上簡單,應用程序開發者可容易地設計想要的應用程序,不會受限于不同裝置具有不同的互動方式。此外,本發明的第一應用程序以平臺中立語言表示,本發明因而便于自動轉換產生的符合不同裝置的平臺語言的第二應用程序,更利于應用程序的發布與更新,有效降低開發門檻與縮短開發所需時間與成本。同時,依據本發明的轉換器,使得應用程序可因應不同移動裝置所具有的不同硬件裝置特性數據,自動轉換成適合各移動裝置的應用程序,且可依據使用者選擇調適互動方式,不僅可讓開發者省去因應各種移動裝置而須逐一開發的工作,也可提供使用者更好的使用經驗,增進使用樂趣。
本發明的方法可經由本發明可轉換一移動裝置應用程序的移動裝置或系統來進行實作,本發明的移動裝置和系統中各元件,可應用具特定邏輯電路的獨特硬件裝置或具特定功能的設備來實作,如將程序碼和處理器/芯片整合成獨特硬件或使用市售可得的特定設備。更進一步者,本發明的方法亦可經由一般用途處理器/計算器/服務器/移動裝置與其它硬件來進行實作,部份元件(如控制器模塊、服務器控制模塊、轉換器與編輯器)可使一般用途處理器/計算器/服務器/移動裝置讀取儲存程序碼的記錄媒體后執行。當程序碼被一般用途處理器/計算器/服務器載入且執行時,此一般用途處理器/計算器/服務器/移動裝置成為用以參與本發明的移動裝置/系統的元件,類似于應用具特定邏輯電路的獨特硬件裝置,以執行本發明方法的操作步驟。
雖然本發明已以較佳實施例揭露如上,然其并非用以限定本發明,任何本領域計算人員,在不脫離本發明的精神和范圍內,當可做些許更動與潤飾,因此本發明的保護范圍當以權利要求所界定的為準。
權利要求
1.一種移動裝置應用程序的轉換方法,其特征在于,所述的方法包括下列步驟: 取得一移動裝置的一裝置特性數據以及一平臺信息;以及 通過一轉換器,依據所取得的該移動裝置的該裝置特性數據以及該平臺信息,修改一第一應用程序的一第一描述數據,將修改后的該第一應用程序轉換為該第二應用程序,其中該第一應用程序是以一平臺中立語言表示且至少包括該第一描述數據,該第一描述數據用以描述一使用者介面的互動方式,且該第二應用程序是以對應該平臺信息的語言表示,可于該移動裝置執行并產生該使用者介面。
2.如權利要求1所述的移動裝置應用程序的轉換方法,其特征在于,該方法適用于連線至一服務器的一移動裝置,取得該移動裝置的該裝置特性數據以及該平臺信息的步驟是由該移動裝置取得,該轉換器及該第一應用程序是由該服務器傳送至該移動裝置,以及由該移動裝置執行該轉換器,以修改該第一描述數據并將該第一應用程序轉換為該第二應用程序。
3.如權利要求1所述的移動裝置應用程序的轉換方法,其特征在于,該方法適用于連線至一服務器的一移動裝置,取得該移動裝置的該裝置特性數據以及該平臺信息的步驟是由該移動裝置取得后傳送至該服務器,以及由該服務器執行該轉換器,以修改該第一描述數據并將該第一應用程序轉換為該第二應用程序后傳送至該移動裝置。
4.如權利要求1所述的移動裝置應用程序的轉換方法,其特征在于,該方法適用于連線至一服務器的一移動裝置,取得該移動裝置的該裝置特性數據以及該平臺信息的步驟是由該移動裝置提供,當判斷該移動裝置不存在該裝置特性數據時,由該移動裝置檢測該移動裝置并產生該裝置特性數據。
5.如權利要求1所述的移動裝置應用程序的轉換方法,其特征在于,該轉換器是依據該裝置特性數據、該平臺信息以及一轉換原則,修改該第一描述數據。
6.如權利要求1所述的移動裝置應用程序的轉換方法,其特征在于,該轉換器是依據該裝置特性數據、該平臺信息以及一互動方式偏好數據,修改該第一描述數據。
7.如權利要求1所述的移動裝置應用程序的轉換方法,其特征在于,該第一應用程序更包括相應該使用者介面的一外觀描述數據以及一資源描述數據,分別用以描述對應該第一應用程序的一外觀與一資源。
8.如權利要求1所述的移動裝置應用程序的轉換方法,其特征在于,所述的方法更包括下列步驟: 通過一所見即所得編輯器,用以產生包含該第一描述數據的該第一應用程序。
9.一種可轉換一移動裝置應用程序的移動裝置,其特征在于,所述的移動裝置包括: 一無線模塊,用以經由一無線通訊網絡鏈結一服務器;以及 一控制器模塊,取得該移動裝置的一裝置特性數據以及一平臺信息,自該服務器接收一轉換器及包含一第一描述數據的一第一應用程序,執行該轉換器以依據該裝置特性數據以及該平臺信息,修改該第一應用程序的該第一描述數據,并將修改后該第一應用程序轉換為該第二應用程序,其中該第一應用程序是以一平臺中立語言表示且至少包括該第一描述數據,該第一描述數據用以描述一使用者介面的互動方式,且該第二應用程序是以對應該平臺信息的語言表示,可 于該移動裝置執行并產生該使用者介面。
10.如權利要求9所述的移動裝置,其特征在于,該轉換器是依據該裝置特性數據、該平臺信息以及一轉換原則,修改該第一應用程序的該第一描述數據。
11.如權利要求9所述的移動裝置,其特征在于,該轉換器是依據該裝置特性數據、該平臺信息以及一互動方式偏好數據,修改該第一應用程序的該第一描述數據。
12.如權利要求9所述的移動裝置,其特征在于,該第一應用程序更包括相應該使用者介面的一外觀描述數據以及一資源描述數據,分別用以描述對應該第一應用程序的一外觀與一資源。
13.如權利要求9所述的移動裝置,其特征在于,該服務器更包括將該轉換器及該第一應用程序,打包成一應用程序包,再傳送至該移動裝置。
14.一種可轉換一移動裝置應用程序的系統,其特征在于,所述的系統包括: 一通訊模塊,用以經由一通訊網絡鏈結一移動裝置,以取得該移動裝置的該裝置特性數據以及該平臺信息;以及 一服務器控制模塊,執行一轉換器以依據該裝置特性數據以及該平臺信息,修改一第一應用程序的一第一描述數據,將修改后的該第一應用程序轉換為該第二應用程序后傳送至該移動裝置,其中該第一應用程序是以一平臺中立語言表示且至少包括該第一描述數據,該第一描述數據用以描述一使用者介面的互動方式,且該第二應用程序是以對應該平臺信息的語言表示,可于該移動裝置執行并產生該使用者介面。
15.如權利要求14所述的系統,其特征在于,該轉換器是依據該裝置特性數據、該平臺信息以及一轉換原則,修改該第一應用程序的該第一描述數據。
16.如權利要求14所述的系統,其特征在于,該轉換器是依據該裝置特性數據、該平臺信息以及一互動方式偏好數據,修改該第一應用程序的該第一描述數據,且該互動方式偏好數據是由該移動裝置傳送至系統。
17.如權利要求14所述的系統,其特征在于,該第一應用程序更包括相應該使用者介面的一外觀描述數據以及一資源描述數據,分別用以描述對應該第一應用程序的一外觀與一資源。
18.如權利要求14所述的系統,其特征在于,所述的系統更包括: 一編輯器,用以提供一操作介面,以供一使用者編輯及產生該第一應用程序及該第一描述數據。
19.一種移動裝置應用程序的開發系統,用以產生一應用程序并提供至一移動裝置,其特征在于,所述的開發系統包括: 一通訊模塊,用以經由一通訊網絡鏈結一移動裝置; 一編輯器,用以產生一第一應用程序,該第一應用程序是以一平臺中立語言表示,至少包含一第一描述數據以描述一使用者介面的互動方式;以及 一轉換器,用以依據一移動裝置的一裝置特性數據以及一平臺信息,修改該第一應用程序的該第一描述數據,將修改后的該第一應用程序轉換為該第二應用程序,其中該第二應用程序是以對應該平臺信息的語言表示,可于該移動裝置執行并產生該使用者介面。
20.如權利要求19 所述的開發系統,其特征在于,所述的開發系統更包括: 一包裝模塊,用以將該轉換器及該第一應用程序打包成一應用程序包,以當該移動裝置連線至該服務器時可提供該應用程序包給該移動裝置。
全文摘要
本發明提供一種移動裝置應用程序的轉換方法、可轉換一移動裝置應用程序的移動裝置、系統及移動裝置應用程序的開發系統,包括取得一移動裝置的一裝置特性數據以及一平臺信息;以及通過一轉換器,依據所取得的該移動裝置的該裝置特性數據以及該平臺信息,修改一第一應用程序的一第一描述數據,將修改后該第一應用程序轉換為該第二應用程序,其中該第一應用程序是以一平臺中立語言表示且至少包括該第一描述數據,該第一描述數據用以描述一使用者介面的互動方式,且該第二應用程序是以對應該平臺信息的語言表示,可于該移動裝置執行并產生該使用者介面。
文檔編號G06F9/445GK103150176SQ20121002034
公開日2013年6月12日 申請日期2012年1月29日 優先權日2011年12月6日
發明者劉柏甫, 林鈺婷, 周世俊, 林季穎 申請人:財團法人資訊工業策進會