专利摘要:
本發明提供一種行動裝置應用程式之轉換方法,包括:取得一行動裝置之一裝置特性資料以及一平台資訊;以及透過一轉換器,依據所取得之該行動裝置之該裝置特性資料以及該平台資訊,修改一第一應用程式的一第一描述資料,將修改後該第一應用程式轉換為該第二應用程式,其中該第一應用程式係以一平台中立語言表示且至少包括該第一描述資料,該第一描述資料用以描述一使用者介面之互動方式,且該第二應用程式係以對應該平台資訊之語言表示,可於該行動裝置執行並產生該使用者介面。
公开号:TW201324351A
申请号:TW100144788
申请日:2011-12-06
公开日:2013-06-16
发明作者:bo-fu Liu;Yu-Ting Lin;Shih-Chun Chou;Jih-Yiing Lin
申请人:Inst Information Industry;
IPC主号:G06F8-00
专利说明:
行動裝置應用程式之轉換方法及可轉換行動裝置應用程式之行動裝置和系統
本發明係有關於一種行動裝置之應用程式轉換方法及可轉換行動裝置應用程式之行動裝置和系統,特別是有關於一種可提供跨平台行動裝置應用程式,並自動根據行動裝置之裝置特性調適行動裝置應用程式之使用者介面操作方式的應用程式轉換方法及可轉換行動裝置應用程式之行動裝置和系統。
近年來,可攜式裝置,例如行動或手持式裝置,已經變成技術愈來愈先進並且具多功能性。舉例來說,行動裝置可接收電子郵件訊息、具有一個先進的電話簿管理應用程式、允許多媒體播放以及具有各種其他功能。由於這些具有多功能的裝置所帶來的便利性,使得這些裝置在生活中不可或缺。
使用者可下載各種不同的應用程式(Application,簡稱APP)至行動裝置來增加行動裝置的功能性與操作效能。一些應用程式經常需要使用到行動裝置所提供的不同互動方式來提供使用者良好使用經驗,例如經由晃動感應器、加速度器和陀螺儀等感測器或經由麥克風與語音辨識功能這類感測器加上平台內建特殊功能的輸入方式,讓使用者來操作使用者介面(UI);又例如經由震動器、揚聲器和顯示器等輸出裝置讓使用者使用,以提供更多樣的互動效果。然而,由於現在的行動裝置的種類繁多,不同行動裝置所具備的互動裝置與使用平台也不儘相同,應用程式開發者必須事先知道特定行動裝置上所具備的互動裝置與使用平台,才可以規劃適當的使用者介面的操作方式,進而為特定行動裝置開發應用程式。對於不同的行動裝置,如具有不同的互動裝置或平台,都需要再重新開發適合的應用程式,非常的不方便,也造成昂貴的開發成本。舉例來說,假設一APP係使用特定感測訊號作為輸入,例如震動、觸控等作為使用者介面的操作方式,若一行動裝置不具有震動感測器和觸控面板時,此一APP即無法在此行動裝置上使用。市面上的行動裝置所配備的感測器越來越多樣化、規格越來越多,因此,開發者必須針對各種配備不同互動裝置的行動裝置開發多種版本的應用程式,或者為各行動裝置逐一修改應用程式。
此外,為了重新開發或是修改應用程式以適用各行動裝置,除了應用程式的程式設計的技術門檻之外,市場、設計、美編與程式人員都需要進行溝通,使得開發時間更冗長又耗費人力成本。因此,需要一種能夠快速產生適用於各種平台的應用程式的工具。
有鑑於此,本發明提供一種行動裝置應用程式之轉換方法、以及可轉換行動裝置應用程式之行動裝置和系統,以解決前述的習知技術問題。
本發明提出一種行動裝置應用程式之轉換方法,包括以下步驟:取得一行動裝置之一裝置特性資料以及一平台資訊;以及透過一轉換器,依據所取得之行動裝置之裝置特性資料以及平台資訊,修改一第一應用程式的一第一描述資料,將修改後第一應用程式轉換為第二應用程式,其中第一應用程式係以一平台中立語言表示且至少包括一第一描述資料,第一描述資料用以描述一使用者介面之互動方式,且第二應用程式係以對應平台資訊之語言表示,可於行動裝置執行並產生使用者介面。
於一實施例中,本發明所提出的行動裝置應用程式之轉換方法適用於連線至一伺服器之一行動裝置,取得行動裝置之裝置特性資料以及平台資訊之步驟係由行動裝置取得,轉換器及第一應用程式係由伺服器傳送至行動裝置,以及由行動裝置執行轉換器,以修改第一描述資料並將第一應用程式轉換為第二應用程式。
於另一實施例中,本發明所提出的行動裝置應用程式之轉換方法適用於連線至一伺服器之一行動裝置,取得行動裝置之裝置特性資料以及平台資訊之步驟係由行動裝置取得後傳送至伺服器,以及由伺服器執行轉換器,以修改第一描述資料並將第一應用程式轉換為第二應用程式後傳送至行動裝置。
本發明另提出一種可轉換一行動裝置應用程式之行動裝置,包括一無線模組,用以經由一無線通訊網路鏈結一伺服器;以及一控制器模組,取得行動裝置之一裝置特性資料以及一平台資訊,自伺服器接收一轉換器及包含一第一描述資料之一第一應用程式,執行轉換器以依據裝置特性資料以及平台資訊,修改第一應用程式之第一描述資料,並將修改後第一應用程式轉換為第二應用程式,其中第一應用程式係以一平台中立語言表示且至少包括第一描述資料,第一描述資料用以描述一使用者介面之互動方式,且第二應用程式係以對應平台資訊之語言表示,可於行動裝置執行並產生使用者介面。
本發明另提出一種可轉換一行動裝置應用程式之系統,包括一通訊模組,用以經由一通訊網路鏈結一行動裝置,以取得行動裝置之裝置特性資料以及平台資訊;以及一伺服器控制模組,執行一轉換器以依據裝置特性資料以及平台資訊,修改一第一應用程式之一第一描述資料,將修改後的第一應用程式轉換為第二應用程式後傳送至行動裝置,其中第一應用程式係以一平台中立語言表示且至少包括一第一描述資料,第一描述資料用以描述一使用者介面之互動方式,且第二應用程式係以對應平台資訊之語言表示,可於行動裝置執行並產生使用者介面。
本發明又提出一種行動裝置應用程式之開發系統,用以產生一應用程式並提供至一行動裝置,包括:一通訊模組,用以經由一通訊網路鏈結一行動裝置;一編輯器,用以產生一第一應用程式,第一應用程式係以一平台中立語言表示,至少包含一第一描述資料以描述一使用者介面之互動方式;以及一轉換器,用以依據一行動裝置之一裝置特性資料以及一平台資訊,修改第一應用程式之第一描述資料,將修改後的第一應用程式轉換為第二應用程式,其中第二應用程式係以對應平台資訊之語言表示,可於行動裝置執行並產生使用者介面。
本發明之方法可經由本發明之行動裝置或系統來實作,其為可執行特定功能之硬體或韌體,亦可以透過程式碼方式收錄於一紀錄媒體中,並結合特定硬體來實作。當程式碼被電子裝置、處理器、電腦或機器載入且執行時,電子裝置、處理器、電腦或機器變成用以實行本發明之裝置或系統。
為使本發明之上述和其他目的、特徵、和優點能更明顯易懂,下文特舉出較佳實施例,並配合所附圖式,作詳細說明如下。
有關本發明之技術內容、特點與功效,在以下配合參考圖式之較佳實施例的詳細說明中,將可清楚的呈現。本發明適用於各種具感測器之行動裝置,如智慧型手機、平板電腦、小筆電、筆記型電腦、個人數位助理機(PDA)等,但本發明不限於此。
本發明所提出第一實施例中,請參考第1圖,提出一種行動裝置應用程式之轉換方法,包含有以下步驟:步驟S102,取得一行動裝置之一裝置特性資料以及一平台資訊。在此步驟中,裝置特性資料可以是行動裝置所具有的感測器、可提供的功能、或是可作為操作介面的輸入、輸出訊號,例如,震動、搖動、翻轉、按鍵、觸控訊號、聲音(嗶聲)等。平台資訊可以是行動裝置所安裝之作業系統種類/版本、可執行語言的應用程式等資訊。
步驟S104,透過一轉換器,依據所取得的裝置特性資料及平台資訊,修改一第一應用程式的一第一描述資料。在此步驟中,第一應用程式是使用一平台中立語言表示,例如以HTML、XML、Protocol Buffer,第一應用程式可使用在多種平台上,將不受限定於何種平台或是作業系統。第一應用程式至少包含有第一描述資料,第一描述資料主要是描述此應用程式行動裝置上執行時所產生之使用者介面的互動方式,例如描述使用者介面係接收晃動訊號作為輸入訊號,傳送聲音訊號作為輸出訊號。
步驟S106,將修改第一描述資料之後的第一應用程式轉換為第二應用程式。在此步驟中,第二應用程式主要是使用行動裝置平台資訊的語言來表示,可在行動裝置執行並產生使用者介面。
上述實施例中,可經由網路通訊連線的伺服器和行動裝置來實作。一種實作方式主要是由行動裝置來執行,可由行動裝置自行取得行動裝置的裝置特性資料及平台資訊,例如行動裝置已儲存有裝置特性資料及平台資訊,或是由行動裝置自行進行偵測後取得。轉換器及第一應用程式可由伺服器傳送至行動裝置,然後由行動裝置執行轉換器,以修改第一描述資料,並將該第一應用程式轉換為該第二應用程式。另一種實作方式主要是由伺服器來執行,由行動裝置取得裝置特性資料及平台資訊後傳送至伺服器,然後由伺服器執行轉換器,以修改該第一描述資料,並將第一應用程式轉換為第二應用程式後,再傳送至行動裝置。
更進一步時,在經由行動裝置執行轉換器的實施例中,行動裝置在執行轉換器將第一應用程式轉換為第二應用程式時,亦可有不同的執行方式。例如當行動裝置接收到轉換器和第一應用程式時,即可於適當時間將第一應用程式轉換為第二應用程式,以供行動裝置可隨時選擇和執行第二應用程式。又例如,行動裝置可先儲存轉換器和第一應用程式,當行動裝置欲執行第二應用程式時,再經由轉換器和第一應用程式來轉換並執行第二應用程式。
本發明實施例中,第一應用程式和第二應用程式,可以是相同或不同的語言程式,也可以是相同語言程式所編譯/轉譯成的不同階層的語言程式(如不同的高階語言或機器碼)。此外,第一應用程式是可由行動裝置、電腦或其他電子裝置來執行的應用程式,其執行方式可以有多種方式,例如其可於執行時經由對應第一應用程式的一直譯器進行直譯後,由供行動裝置、電腦或其他電子裝置來執行,或是其可將第一應用程式先經由對應第一應用程式的一編譯器進行編譯以產生執行程式碼,以供行動裝置、電腦或其他電子裝置來執行。同樣地,第二應用程式亦是可由行動裝置、電腦或其他電子裝置來執行的應用程式,可經由對應第二應用程式的一直譯器進行直譯,或是經由對應第二應用程式的一編譯器進行編譯。當第一應用程式和第二應用程式為相同的語言程式時,第一應用程式和第二應用程式可以共用相同的直譯器或編譯器。在一特定實施例中,直譯器或編譯器也可和前述的轉換器整合,亦即轉換器中可更包含有直譯器或編譯器的功能。
本發明所提出的可轉換行動裝置應用程式之行動裝置10,其裝置架構圖請參考第2圖,主要包括有通訊模組12和控制器模組14。通訊模組12主要是經由一有線或無線通訊網路以鏈結到伺服器18,較佳實施方式是採用無線通訊網路例如3G、GSM、CDMA、PHS、Wi-Fi等,但不以此為限。控制器模組14主要是取得行動裝置的裝置特性資料及平台資訊16,從伺服器接收一轉換器及含第一描述資料的第一應用程式,執行轉換器,以依據裝置特性資料及平台資訊,修改第一描述資料,並將第一描述資料修改後的第一應用程式轉換為第二應用程式。裝置特性資料及平台資訊16可以儲存在行動裝置10的儲存元件中,例如記憶體、SIM卡、記憶卡或硬碟等。如上所述,第一應用程式是以平台中立語言表示且至少包括一第一描述資料,第一描述資料描述一使用者介面之互動方式,且第二應用程式是以對應平台資訊的語言表示,可於行動裝置上執行並產生使用者介面。
本發明所提出的可轉換行動裝置應用程式之系統20,其裝置架構圖請參考第3圖,主要包括通訊模組22和伺服器控制模組24。通訊模組22主要是經由一有線或無線通訊網路以鏈結行動裝置10,以取得行動裝置10的裝置特性資料及平台資訊。較佳實施方式中通訊網路是採用無線通訊網路例如3G、GSM、CDMA、PHS、Wi-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,簡稱WYSIWYG Editor)編輯介面,允許使用者(如應用程式發佈者、開發者)透過滑鼠點擊與拖曳的方式來設計應用程式之使用者介面的呈現方式如外觀、互動方式,以及設定相對應的功能,且內容可直接套用預先定義好的樣版(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。其中,Node1表示第5A圖中節點名稱Node_ID為node1的節點,Node2表示第5A圖中節點名稱Node_ID為node2的節點,依此類推。如第5A圖所示,節點Node1對應到應用程式服務1(App service 1)的預設外觀,其動作為顯示應用程式服務1的預設外觀,節點Node2對應到應用程式服務1的第二頁,動作是顯示應用程式服務1的第二頁。邊Edge1係表示如果原來在節點Node1,發生手機被晃動的事件之後,應用程式的狀態就會被轉換到節點Node2,其所顯示的畫面頁會切換成應用程式服務1的第二頁。
第5B圖顯示依據本發明一實施例之執行轉換後的使用者介面互動方式示意圖。在這個例子中,原始使用者介面互動方式如第5A圖所示。假設應用程式傳送到一個不支援晃動感應和震動功能的行動裝置上,則應用程式的使用者介面檔會被轉換成如第5B圖所示的有限狀態機,新增節點Node0,用以顯示一畫面告知使用者,行動裝置不支援應用程式的哪些預設互動方式,並提供使用者更改設定功能。舉例來說,於此實施例中,第5B圖係顯示使用者使用觸控感應取代晃動感應且使用發出嗶聲來取代震動的情形。也就是說,如第5B圖所示,當原來在節點Node1且發生手機被觸控事件時,應用程式的狀態就會被轉換到節點Node2,所顯示的畫面頁會切換成應用程式服務1的第二頁,而當原來在節點Node1且發生按下服務1選單中的項目1的事件時,應用程式的狀態就會被轉換到節點Node3,所顯示的畫面頁會維持應用程式服務1的預設外觀,同時手機會以發出嗶聲來取代原來應用程式所設定的震動效果。
需注意的是,轉換、修改過的使用者介面描述檔和原來的外觀與資源描述檔,係為修改後的第一應用程式,因此轉換器必須再將這些檔案(亦即修改後的第一應用程式)轉換成行動裝置之平台可執行的執行程式(亦即第二應用程式)。
其中,知識庫所包含的轉換原則可事先建立或是/以及經由學習自動建立與更新。例如可由專家提供或使用者自訂建立/更新轉換原則,或是可根據使用者偏好自動建立,又或是先使用專家提供的轉換原則然後再依據使用者的偏好來進行調整/更新。在一些實施例中,使用者可透過操作介面輸入設定使用偏好,該使用偏好可紀錄於資料庫,以供另一於該行動裝置執行之第二應用程式參考,或/且於連接伺服器時,將使用偏好回傳至伺服器,並記錄於伺服器端資料庫,以供其他行動裝置之轉換參考。在另一些實施例中,使用者不需要輸入偏好設定,翻譯器36可根據紀錄於行動裝置端之資料庫或/與伺服器端資料庫之使用者偏好統計,自動進行轉換。
此外,本發明更進一步提供多種的應用程式的發佈方式,例如一為獨立封裝模式,另一為書櫃模式。
於獨立封裝模式的一實施例中,包含第一應用程式以及轉換器36的應用程式包可下載至目標行動裝置200上,再於安裝時透過轉換器36自動修改第一應用程式的使用者介面互動方式以符合目標行動裝置200的裝置特性。於此實施例中,伺服器100係稱為一跨平台開發伺服器,轉換器36係稱為平台感知轉換器,應用程式包係稱為平台感知應用程式包。
本發明亦可將應用程式的開發及轉換進行整合,第6圖顯示一依據本發明一實施例之行動裝置應用程式之開發及轉換方法之流程圖,適用於連線於一伺服器之行動裝置。依據本發明實施例之行動裝置應用程式之轉換方法可以由如第4圖中的行動裝置200所執行。
首先,如步驟S602,應用程式發布者可在伺服器上透過所見即所得編輯器的編輯介面去編輯想要的應用程式。於編輯完畢之後,如步驟S604,將所見即所得編輯器產生的應用程式以跨平台語言(platform-neutral language)表示,產生一平台中立應用程式(app in platform-neutral language),其中,平台中立應用程式即為前面所述之第一應用程式,含描述使用者介面UI的使用者介面描述檔、描述應用程式外觀的外觀描述檔以及描述應用程式資源的資源描述檔。隨後,如步驟S606,包裝模組(packing Agent)38將包含前述檔案的平台中立應用程式與轉換器36打包成一平台感知應用程式包。因此,平台感知應用程式包中會包含有以跨平台語言表示的平台中立應用程式與轉換器36。之後,使用者可經由連線到伺服器以下載此平台感知應用程式包到其行動裝置200上進行安裝。如步驟S608,於目標行動裝置200上安裝此應用程式包,並如步驟S610,透過應用程式包中的轉換器36執行如前述的轉換,將跨平台語言表示的應用程式轉換為目標行動裝置200上可執行的應用程式,亦即第二應用程式。
因為平台中立應用程式為平台中立(platform-neutral)的,因此轉換器36也會把平台中立的程式語言轉成符合行動裝置200上的平台的程式語言,例如會把應用程式轉成適合於iPhone或Android系統的對應程式。
於另一實施例中,伺服器100可從目標行動裝置200來取得裝置特性資料,並直接依據所取得的裝置特性資料產生/搜尋適裝置特性的應用程式(亦即第二應用程式)之後,再把適裝置特性應用程式傳送至目標行動裝置200。其中,伺服器100上可更包括一裝置特性資料取得模組(未繪示),用以取得行動裝置所送出的裝置特性資料以及一平台資訊。
於此實施例中,平台感知轉換係由伺服器100所執行,而伺服器100亦可依據使用者選擇直接產生相應行動裝置200的平台適裝置特性應用程式。於一些實施例中,行動裝置200可先跟伺服器100連線,伺服器100取得行動裝置200的裝置特性資料以及使用的平台資訊,知道行動裝置200有那些裝置特性,再依據裝置的特性去轉換平台中立應用程式(即第一應用程式)中所描述的互動方式為相應行動裝置200的平台的適裝置特性的應用程式(即第二應用程式),之後再傳送適裝置特性應用程式至行動裝置200。
於一些實施例中,伺服器100或行動裝置200於轉換適裝置特性應用程式時,可更顯示一畫面給使用者選擇替代方案,再依據使用者所選擇的替代方案轉換平台中立應用程式中所描述的互動方式以產生相應行動裝置200的平台的適裝置特性應用程式。
於書櫃模式的一實施例中,目標行動裝置200中已經包含轉換器,則只需下載包含平台中立語言的應用程式(即第一應用程式)至目標行動裝置上,再經由目標行動裝置中的轉換器自動轉換使用者介面互動方式以滿足目標行動裝置的裝置特性。
於此實施例中,可於行動裝置200第一次連線到伺服器100時進行下載及安裝轉換器,或是行動裝置200第一次下載應用程式包時安裝轉換器在行動裝置200中,之後,行動裝置200即可只下載或更新所需要的跨平台語言應用程式(即第一應用程式)的部分,不需要每次都下載轉換器或是整個應用程式包。
綜上所述,依據本發明之應用程式轉換方法,使用上簡單,應用程式開發者可容易地設計想要的應用程式,不會受限於不同裝置具有不同的互動方式。此外,本發明之第一應用程式以平台中立語言表示,本發明因而可自動轉換產生的符合不同裝置之平台語言的第二應用程式,更利於應用程式的發佈與更新,有效降低開發門檻與縮短開發所需時間與成本。同時,依據本發明之轉換器,使得應用程式可因應不同行動裝置所具有的不同硬體裝置特性資料,自動轉換成適合各行動裝置的應用程式,且可依據使用者選擇調適互動方式,不僅可讓開發者省去因應各種行動裝置而須逐一開發的工作,也可提供使用者更好的使用經驗,增進使用樂趣。
本發明之方法,或特定型態或其部份,可以以程式碼的型態包含於實體媒體,如軟碟、光碟片、硬碟、或是任何其他機器可讀取(如電腦可讀取)儲存媒體,其中,當程式碼被機器,如電腦載入且執行時,此機器變成用以參與本發明之裝置或系統。本發明之方法、系統與裝置也可以以程式碼型態透過一些傳送媒體,如電線或電纜、光纖、或是任何傳輸型態進行傳送,其中,當程式碼被機器,如電腦接收、載入且執行時,此機器變成用以參與本發明之裝置或系統。當在一般用途處理器實作時,程式碼結合處理器提供一操作類似於應用特定邏輯電路之獨特裝置。
雖然本發明已以較佳實施例揭露如上,然其並非用以限定本發明,任何熟悉此項技藝者,在不脫離本發明之精神和範圍內,當可做些許更動與潤飾,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。
S102-S106...執行步驟
10...行動裝置
12...通訊模組
14...控制器模組
20...可轉換行動裝置應用程式之系統
22...通訊模組
24...伺服器控制模組
30...應用程式開發系統
32...通訊模組
34...編輯器
36...轉換器
38...包裝模組
100...伺服器
200...行動裝置
300...網路
S602-S610...執行步驟
第1圖顯示依據本發明實施例之行動裝置應用程式之轉換方法之流程圖。
第2圖顯示依據本發明實施例之可轉換行動裝置應用程式之行動裝置。
第3圖顯示依據本發明實施例之可轉換行動裝置應用程式之系統。
第4圖顯示依據本發明實施例之應用程式開發系統。
第5A圖顯示依據本發明實施例之一種使用者介面檔示意圖。
第5B圖顯示依據本發明實施例之一種執行適裝置轉換後的使用者介面互動方式示意圖。
第6圖顯示依據本發明另一實施例之行動裝置應用程式之轉換方法之流程圖,適用於連線於一行動裝置之伺服器。
S102-S106...執行步驟
权利要求:
Claims (20)
[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項所述之開發系統,更包括:一包裝模組,用以將該轉換器及該第一應用程式打包成一應用程式包,以當該行動裝置連線至該伺服器時可提供該應用程式包給該行動裝置。
类似技术:
公开号 | 公开日 | 专利标题
TWI471802B|2015-02-01|行動裝置應用程式之轉換方法及可轉換行動裝置應用程式之行動裝置和系統
Meier2012|Professional Android 4 application development
KR101807897B1|2017-12-11|크로스―플랫폼 어플리케이션 프레임워크
US20090228862A1|2009-09-10|Modularized integrated software development environments
US20110191787A1|2011-08-04|System and method for providing sensor data from embedded device to software development environment
US20120297341A1|2012-11-22|Modified Operating Systems Allowing Mobile Devices To Accommodate IO Devices More Convenient Than Their Own Inherent IO Devices And Methods For Generating Such Systems
JP5171790B2|2013-03-27|情報処理装置、通信システムおよびプログラム
EP1582975A1|2005-10-05|Configuration based user interface generation
CN102622211A|2012-08-01|一种应用程序开发的方法和装置
CN102782611A|2012-11-14|移动装置及其控制方法
CN104246659A|2014-12-24|可实例化的手势对象
CN104281478B|2018-07-20|更新应用程序的方法及装置
Meier et al.2018|Professional Android
US20200409665A1|2020-12-31|Systems and Methods for Seamlessly Integrating Multiple Products by Using a Common Visual Modeler
US20160274994A1|2016-09-22|Integration and automation of build and test in a customized computing system
KR20130003836A|2013-01-09|어플리케이션 배포 시스템 및 방법
McClure et al.2012|Professional Android Programming with Mono for Android and. NET/C
Lachgar et al.2017|Modeling and generating native code for cross-platform mobile applications using DSL
US8862548B2|2014-10-14|File system cloning between a target device and a host device
CN110727423A|2020-01-24|跨平台开发行动应用程序的方法及其系统
JP2016515243A|2016-05-26|アンドロイドアプリケーションのタイゼン導入可能パッケージ自動変換方法及びこのためのコンピュータ読み取り可能な記録媒体
CN111782196A|2020-10-16|基于mvp架构的开发方法及装置
JP6985113B2|2021-12-22|電子機器の通訳機能提供方法
KR101376322B1|2014-03-21|휴대 단말의 어플리케이션 설치 제어 방법, 이를 이용하는 휴대 단말 및 어플리케이션 제공 서버
KR20090121949A|2009-11-26|모바일 콘텐츠 변환 방법 및 시스템
同族专利:
公开号 | 公开日
TWI471802B|2015-02-01|
US9021427B2|2015-04-28|
CN103150176A|2013-06-12|
US20130145346A1|2013-06-06|
CN103150176B|2016-06-29|
引用文献:
公开号 | 申请日 | 公开日 | 申请人 | 专利标题
TWI574200B|2015-12-03|2017-03-11|財團法人工業技術研究院|圖案化使用者介面之執行程序的執行方法、追蹤方法與應用其之電子裝置|US6212550B1|1997-01-21|2001-04-03|Motorola, Inc.|Method and system in a client-server for automatically converting messages from a first format to a second format compatible with a message retrieving device|
US7702995B2|2000-04-24|2010-04-20|TVWorks, LLC.|Method and system for transforming content for execution on multiple platforms|
US7546576B2|2001-06-15|2009-06-09|Lightsurf Technology, Inc.|Software framework for web-based applications|
US20080313282A1|2002-09-10|2008-12-18|Warila Bruce W|User interface, operating system and architecture|
US7409674B2|2002-12-26|2008-08-05|Research In Motion Limited|System and method of creating and communicating with component based wireless applications|
US7555538B2|2002-12-26|2009-06-30|Research In Motion Limited|System and method for building and execution of platform-neutral generic services' client applications|
US7779408B1|2003-03-24|2010-08-17|Sprint Spectrum L.P.|Method and system for downloading and managing portable applications on a mobile device|
US7478408B2|2003-04-04|2009-01-13|Sesma Systems, Inc.|System and method for accessing objects in a platform dependent environment from a platform independent environment|
US7490332B2|2003-04-04|2009-02-10|Sesma Systems, Inc.|System and method for accessing ActiveX objects in a platform dependent environment from objects in a platform independent environment|
TWI243554B|2003-05-22|2005-11-11|Far Eastone Telecomm Co Ltd|Common service platform and software|
TWI257612B|2003-05-29|2006-07-01|Benq Corp|Multimedia message conversion system and method thereof|
US20050172282A1|2004-01-30|2005-08-04|Michael Shenfield|System and method for publishing and accessing application APIs on a generic terminal|
US7756905B2|2004-02-27|2010-07-13|Research In Motion Limited|System and method for building mixed mode execution environment for component applications|
US7752633B1|2005-03-14|2010-07-06|Seven Networks, Inc.|Cross-platform event engine|
CA2578466A1|2007-01-12|2008-07-12|Truecontext Corporation|Method and system for customizing a mobile application using a web-based interface|
WO2008106643A2|2007-03-01|2008-09-04|Formotus, Inc.|Forms conversion and deployment system for mobile devices|
US8811968B2|2007-11-21|2014-08-19|Mfoundry, Inc.|Systems and methods for executing an application on a mobile device|
US20090164951A1|2007-12-19|2009-06-25|Nvidia Corporation|Input architecture for devices with small input areas and executing multiple applications|
CN101866283B|2009-04-14|2013-03-27|华为技术有限公司|Widget移植方法和装置|
US20100281475A1|2009-05-04|2010-11-04|Mobile On Services, Inc.|System and method for mobile smartphone application development and delivery|
US9336023B2|2009-12-18|2016-05-10|Sybase, Inc.|Visual generation of mobile applications based on data models|
CN101827085B|2010-02-23|2013-11-20|浪潮通信信息系统有限公司|一种将pc上的it应用系统转换为手机端可访问系统的方法|
CN102184101B|2011-04-27|2014-02-05|赵悦|一种面向智能手机的软件应用框架及其开发系统|
US8918363B2|2011-11-14|2014-12-23|Google Inc.|Data processing service|CN102810090B|2011-05-30|2017-06-09|Sap欧洲公司|网关数据分布引擎|
US20140317596A1|2012-06-29|2014-10-23|George BOURIS|Device-independent application development based on business processes|
EP2757834B1|2013-01-21|2020-04-01|Sony Mobile Communications AB|Method for operating a mobile device|
US10019259B2|2013-01-29|2018-07-10|Mobilize.Net Corporation|Code transformation using extensibility libraries|
US9459862B2|2013-01-29|2016-10-04|ArtinSoft Corporation|Automated porting of application to mobile infrastructures|
US10061573B2|2013-01-29|2018-08-28|Mobilize.Net Corporation|User interfaces of application porting software platform|
US9229688B2|2013-03-14|2016-01-05|Massively Parallel Technologies, Inc.|Automated latency management and cross-communication exchange conversion|
US9465608B2|2013-03-15|2016-10-11|ArtinSoft Corporation|Code separation with semantic guarantees|
US20160381203A1|2015-06-23|2016-12-29|Microsoft Technology Licensing, Llc|Automatic transformation to generate a phone-based visualization|
US10191728B2|2015-10-12|2019-01-29|Samsung Electronics Co., Ltd.|System and method to reduce storage area usage of android application|
CN107357560A|2017-04-28|2017-11-17|阿里巴巴集团控股有限公司|交互处理方法及装置|
法律状态:
优先权:
申请号 | 申请日 | 专利标题
TW100144788A|TWI471802B|2011-12-06|2011-12-06|行動裝置應用程式之轉換方法及可轉換行動裝置應用程式之行動裝置和系統|TW100144788A| TWI471802B|2011-12-06|2011-12-06|行動裝置應用程式之轉換方法及可轉換行動裝置應用程式之行動裝置和系統|
CN201210020341.6A| CN103150176B|2011-12-06|2012-01-29|移动装置应用程序转换方法、移动装置、系统及开发系统|
US13/488,129| US9021427B2|2011-12-06|2012-06-04|Conversion methods of applications of mobile devices and mobile devices and systems using the same|
[返回顶部]