TWI552588B - 用於網頁應用程式轉換器系統之設備及方法 - Google Patents

用於網頁應用程式轉換器系統之設備及方法 Download PDF

Info

Publication number
TWI552588B
TWI552588B TW101149341A TW101149341A TWI552588B TW I552588 B TWI552588 B TW I552588B TW 101149341 A TW101149341 A TW 101149341A TW 101149341 A TW101149341 A TW 101149341A TW I552588 B TWI552588 B TW I552588B
Authority
TW
Taiwan
Prior art keywords
type factor
computing device
application
profile
file
Prior art date
Application number
TW101149341A
Other languages
English (en)
Other versions
TW201347517A (zh
Inventor
張海立
劉聰
丁俊勇
朱京甬
Original Assignee
英特爾公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 英特爾公司 filed Critical 英特爾公司
Publication of TW201347517A publication Critical patent/TW201347517A/zh
Application granted granted Critical
Publication of TWI552588B publication Critical patent/TWI552588B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/151Transformation
    • G06F40/154Tree transformation for tree-structured or markup documents, e.g. XSLT, XSL-FO or stylesheets
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9577Optimising the visualization of content, e.g. distillation of HTML documents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/76Adapting program code to run in a different environment; Porting

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Information Transfer Between Computers (AREA)

Description

用於網頁應用程式轉換器系統之設備及方法
本發明係關於用於網頁應用程式轉換器系統之設備及方法。
使用者設備(UE)可包括電腦、智慧型電話、膝上型電腦、機上盒、視訊遊戲控制台,或其他具有網路能力之裝置。UE及網頁技術的能力持續演進且擴展。舉例而言,隨著超文字標示語言v.5(HTML5)之使用增加,傳統線上網頁或應用程式現變為離線可用的。應用程式開發者現可以增加的複雜度來套裝網頁應用程式,自簡單搜尋表單至共用行事曆至遊戲至充分發展之產能本機應用程式。舉例而言,呈W3C®(全球資訊網協會)/網頁存取控制(WAC)介面工具集、混合式網頁應用程式、網頁OS應用程式及其類似者之形式的網頁應用程式可用於多種UE上,該等UE皆具有或不具有網路或網際網路存取能力。
通常,針對諸如智慧型電話、平板電腦、個人電腦(PC)或電視等之單一特定型態因子的裝置而開發並設計獨立應用程式,該裝置執行諸如AndroidTM、TizenTM、iOS® 或Windows®平台的一個特定作業系統(OS)。即使開發者意欲提供目標為多個裝置或平台之應用程式,但應用程式之原始開發通常將單一環境或裝置作為目標來執行。諸如裝置解析度、多媒體格式支援及個別裝置上之執行環境程式設計介面的變化之平台態樣亦添加額外組態變數,開發者在進行多個平台之應用程式開發時可考慮該等額外組態變數。歸因於平台之各種差異,建立可在多個型態因子及OS執行環境中正確工作之一個獨立網頁應用程式幾乎為不可能之任務。
舉例而言,經設計以用於基於觸控式螢幕之電話且目標為在電話及TV兩者上執行的W3C介面工具集應用程式將需要適應多個顯示器大小。開發者將需要調整任何階層式樣式表(CSS)樣式以適合TV之不同螢幕解析度,重新編碼最初不被此TV及其基礎OS支援的視訊,且以基於鍵盤或遙控器之人機介面(HCI)替換基於觸控式螢幕之HCI元件。
在一實例情境中,當開發者想要將Windows® 8 Metro網頁應用程式移植至不同OS平台時,在將Windows® WinRT應用程式設計介面(API)轉換成不同API標準(例如,W3C)時將需要大量精力。無關於格式或平台,自第一型態因子至第二型態因子之人工轉換需要開發者花時間及精力來針對每一裝置及執行環境調整並精細調諧使用者介面(例如,HTML及/或CSS程式碼)、內容資源(例如,影像、音訊及視訊格式),及裝置特定之API(例如,W3C裝置API、 Windows® WinRT API)。
依據本發明之一實施例,係特地提出一種機器可讀媒體,其包含複數個指令,該等指令響應於在一計算裝置上執行而使得該計算裝置進行以下操作:接收一第一應用程式套裝,該第一應用程式套裝經組態以支援對應於一第一計算裝置的一第一型態因子;存取一對應於該第一計算裝置之源設定檔;存取一對應於一第二計算裝置之目標設定檔,該第二計算裝置具有一第二型態因子;及藉由複製並修改該第一應用程式套裝而產生一目標應用程式套裝,該目標應用程式套裝經組態以支援對應於該第二計算裝置的該第二型態因子。
100‧‧‧獨立網頁應用程式轉換器(SWAC)
105‧‧‧源裝置
110‧‧‧第一目標裝置-A
115‧‧‧第二目標裝置-B
200‧‧‧實例獨立網頁應用程式轉換器(SWAC)
202‧‧‧源應用程式套裝
204‧‧‧第一目標應用程式套裝
206‧‧‧目標應用程式套裝
208‧‧‧組態檔案
210‧‧‧JavaScript程式碼檔案
212‧‧‧HTML檔案
214‧‧‧HTML資源檔案
216‧‧‧CSS資料檔案
218‧‧‧CSS資源
220‧‧‧源設定檔(S.P.)
230‧‧‧第一目標設定檔
232‧‧‧第二目標設定檔
234‧‧‧組態檔案
236‧‧‧JavaScript程式碼檔案
238‧‧‧HTML檔案
240‧‧‧HTML資源檔案
242‧‧‧CSS資料檔案
244‧‧‧CSS資源
254‧‧‧組態檔案
256‧‧‧JavaScript程式碼檔案
258‧‧‧HTML檔案
260‧‧‧HTML資源檔案
262‧‧‧CSS資料檔案
264‧‧‧CSS資源
300‧‧‧獨立網頁應用程式轉換器(SWAC)
302‧‧‧源應用程式套裝
304‧‧‧單一目標應用程式套裝
308‧‧‧組態檔案
310a‧‧‧JavaScript程式碼檔案
310b‧‧‧指令碼檔案
312a‧‧‧HTML檔案
312b‧‧‧HTML檔案
314‧‧‧HTML資源檔案
316‧‧‧CSS資料檔案
318‧‧‧CSS資源
320‧‧‧源設定檔(S.P.)
324‧‧‧第二目標設定檔-B
330‧‧‧第一目標設定檔-A
332‧‧‧組態檔案-A
334‧‧‧組態檔案-B
338‧‧‧分開的HTML資源檔案資源1-A
340‧‧‧分開的HTML資源檔案資源1-B
342‧‧‧CSS-A檔案
344‧‧‧分開的CSS資源檔案資源2-A
346‧‧‧CSS-B檔案
348‧‧‧分開的CSS資源檔案資源2-B
350‧‧‧指令碼連結檔案
900‧‧‧實例機器
902‧‧‧硬體處理器
904‧‧‧主記憶體
906‧‧‧靜態記憶體
908‧‧‧鏈路
910‧‧‧顯示單元
912‧‧‧文數字輸入裝置
914‧‧‧導覽裝置
916‧‧‧大容量儲存器
918‧‧‧信號產生裝置
920‧‧‧網路介面裝置
921‧‧‧感測器
922‧‧‧機器可讀媒體
924‧‧‧資料結構/指令
928‧‧‧輸出控制器
在未必按比例繪製之圖式中,類似數字在不同視圖中可描述類似組件。具有不同字母下標之類似數字可表示類似組件之不同個例。圖式通常以實例方式而非以限制方式來說明在本文獻中論述的各種實施例。
圖1為說明根據實施例之實例應用程式轉換情境的示意圖。
圖2為說明根據實施例之用於將源應用程式套裝轉換至兩個目標應用程式套裝之實例系統的示意圖。
圖3為說明根據實施例之將源應用程式套裝轉換成一體化應用程式套裝之實例的示意圖。
圖4a說明根據實施例之用於儲存裝置特定資料 的實例裝置設定檔。
圖4b說明根據實施例之具有平板裝置之資料的實例裝置設定檔。
圖5為說明根據實施例之一種用於轉換應用程式樣式表單之實例方法的流程圖。
圖6為說明根據實施例之一種用於轉換應用程式樣式規則之實例方法的流程圖。
圖7為說明根據實施例之一種用於轉換影像檔案之實例方法的流程圖。
圖8為說明根據實施例之一種用於在應用程式環境之間調適功能資源之實例方法的流程圖。
圖9為可實施一或多個實施例之實例機器的方塊圖。
詳細說明
以下描述及圖式充分說明特定實施例以使得熟習此項技術者能夠實踐該等實施例。其他實施例可併有結構、邏輯、電氣、程序之改變及其他改變。一些實施例之部分及特徵可包括於其他實施例之部分及特徵中,或被該等部分及特徵取代。申請專利範圍中闡述之實施例涵蓋彼等請求項之所有可用等效物。
可在包括行動或智慧型裝置之各種使用者設備(UE)上操作的網頁應用程式套裝在本文中被稱作「獨立網頁應用程式」。獨立網頁應用程式可經由網路(例如,網際 網路)或在應用程式載入至UE上之後在無作用中網路連接情況下通信。需要可幫助開發者易於建立或移植獨立網頁應用程式以供可具有各種型態因子及不同OS執行環境的多個裝置使用的工具及設施。
在本發明中,術語「型態因子」指代裝置之大小、設計及使用的組合。型態因子之實例包括(但不限於)桌上型機器、行動裝置、平板裝置及電視。平板裝置可類似於膝上型裝置,但其中膝上型裝置可配備有永久附加之實體鍵盤,平板裝置可依賴於觸控式螢幕介面。因此,儘管桌上型及膝上型裝置為類似的,且可用於類似任務,但每一裝置之型態因子基於硬體介面之設計而為截然不同的。具有不同螢幕大小或解析度之兩個類似裝置(例如,具有相同作業系統但不同大小之顯示螢幕的兩個平板裝置)可被視作具有分開且截然不同之型態因子。
在本發明中,術語「源設定檔」及「目標設定檔」指代與裝置之型態因子及作業系統介面相關之資訊的組合。源設定檔及目標設定檔之實例包括(但不限於)儲存於表或資料庫中的裝置特定資料。裝置資料可包括(但不限於)以像素為單位之硬體顯示裝置的解析度、以吋或公分為單位之顯示裝置的對角線大小、以吋為單位之典型或最佳視距,及任何其他硬體特定資訊(諸如,相機、GPS接收器、抽取式媒體儲存器之可用性)。
為了將應用程式自一個UE移植至具有不同型態因子或OS之UE,開發者可使用裝置特定程式設計技能來在 逐個裝置地修改應用程式。某一UE可受公用程式庫(utility library)之特徵集及可用性限制。舉例而言,開發者可使用HTML5特徵偵測器庫來判定哪些特徵可在特定裝置上使用。開發者可接著仔細地提供不支援特徵之後饋常式(fallback routine)。開發者亦可指代特定裝置應用程式設計介面(API)框架以便利用UE之原生能力,其仍可限於特定OS執行環境。
經程式化以包括行動使用者介面框架之應用程式當在UE之間移植應用程式時可輔助開發者,該行動使用者介面框架依賴於相對單位(例如,百分數大小)來確保所有UI組件針對具有不同解析度之UE適當延伸。然而,當應用程式包括絕對單位(例如,像素尺寸)來表示UE上之圖形元素,可需要每一圖形元素經重新設定大小以便將應用程式自一個UE移植至第二UE。
圖1為說明包括獨立網頁應用程式轉換器(SWAC)100之實例應用程式轉換情境的示意圖。SWAC 100可藉由輔助開發者,所採取的方式是:將網頁應用程式自具有第一型態因子之源裝置105移植至具有不同型態因子或作業系統的裝置(諸如,第一目標裝置-A 110或第二目標裝置-B 115)。舉例而言,源裝置105可為組態有諸如Windows 8TM之作業系統(OS)的筆記型電腦。第一目標裝置-A 110或第二目標裝置-B 115可包括多種不同型態因子(例如,平板裝置、電話、PC、TV等)或OS執行環境(例如,AndroidTM、TizenTM、iOSTM等)中之任一者。在描繪於圖1 中之實例中,第一目標裝置-A 110為具有執行AndroidTM作業系統之版本之平板型態因子的裝置。第二目標裝置-B 115為具有執行LinuxTM作業系統之版本之電視型態因子的裝置。
SWAC 100可針對每一目標型態因子或OS在多個型態因子之間自動轉換應用程式,而僅需要對應用程式進行最小人工干預或再程式化。在一實例中,SWAC 100可將源應用程式轉換成兩個分開之類型之應用程式。被稱作獨立轉換模式之第一轉換可將源應用程式轉換成個別UE之多個個別目標應用程式套裝。被稱作一體化轉換模式之第二轉換可將源應用程式轉換成可包括多個資源之單一統一化目標應用程式套裝,該等資源使目標應用程式能夠在多種UE上起作用。
圖2為說明根據實例實施例之用於使用SWAC將源應用程式套裝轉換至兩個目標應用程式套裝之系統的示意圖。實例SWAC 200經組態而以獨立轉換模式操作。在獨立模式中,經組態以在第一裝置類型上操作之源應用程式套裝202可被轉換成多個獨立目標應用程式套裝。在轉換源應用程式套裝202之後,所得第一目標應用程式套裝204可以第二裝置類型操作以在第二裝置類型上提供包括於輸入源應用程式套裝202中的功能性。第二目標應用程式套裝206可以第三裝置類型以提供類似功能性。在具備適當組態資訊、作業系統介面及裝置屬性時,支援多種裝置類型中之任一者的無限數目個目標應用程式套裝可由SWAC 200 產生。
實例源應用程式套裝202可包括(但不限於)源檔案及媒體資源之集合,該等源檔案及媒體資源經設計並程式化而以特定UE裝置操作。源應用程式套裝202可包括組態檔案208、一或多個JavaScript程式碼檔案210、HTML檔案212、HTML資源檔案214、CSS資料檔案216,及CSS資源218。組態檔案208可包括與由源應用程式套裝實施之應用程式之操作相關的資訊,諸如特定型態因子之使用者偏好。HTML檔案212含有HTML程式碼,該HTML程式碼界定在源應用程式於裝置上操作期間向使用者顯示之一或多個頁面或畫面的外觀。HTML資源檔案214可包括圖形影像、圖示及音訊或視訊媒體。CSS資料216可包括選單佈局、介面設計及其類似者。CSS資源218可包括可由CSS資料檔案216利用之圖示、圖像、圖形資料、文字、選單文字/圖形及其類似者。
SWAC 200可接收若干資料輸入以便實現應用程式轉換。除源應用程式套裝202外,源設定檔(S.P.)220及一或多個目標設定檔(T.P.)可提供至SWAC 200。SWAC 200利用之每一源設定檔或目標設定檔可將裝置相關資訊保持於裝置設定檔檔案中。SWAC 200利用之每一設定檔亦可宣告用於應用程式中且包括於應用程式設定檔檔案(例如,JavaScript程式碼檔案210)中之所有網頁API。設定檔可由諸如硬體裝置製造商、作業系統提供者之第三方提供者建構,或由個別應用程式開發者建構。
可對應於裝置-A 110之第一目標設定檔230及可對應於裝置-B 115之第二目標設定檔232可向SWAC 200提供裝置設定檔檔案中之裝置相關資訊。第一目標設定檔230亦可界定包括於應用程式設定檔檔案或資料結構中之源應用程式設定檔210中的任何必要API。裝置設定檔及應用程式設定檔檔案兩者由SWAC 200利用以將源應用程式套裝202轉換成一或多個目標應用程式套裝(204、206)。
一或多個目標應用程式套裝(204、206)(亦即,SWAC 200之輸出)將維持源應用程式套裝202中之源檔案之間的原始檔案組織及連結關係,但個別檔案之內容可在轉換程序期間改變。所產生之目標應用程式(在此實例中為第一目標應用程式套裝204及第二目標應用程式套裝206)可對其各別目標裝置分開且獨立地執行,同時提供最初包括於源應用程式套裝202中之大部分或所有功能性。
SWAC 200產生之第一目標應用程式套裝204可包括組態檔案234、一或多個JavaScript程式碼檔案236、HTML檔案238、HTML資源檔案240、CSS資料檔案242及CSS資源244,前述各者經修改以在描述於第一目標設定檔230中之裝置上操作。類似地,SWAC 200產生之第二目標應用程式套裝206可包括組態檔案254、一或多個JavaScript程式碼檔案256、HTML檔案258、HTML資源檔案260、CSS資料檔案262及CSS資源264,前述各者經修改以在描述於第二目標設定檔232中之裝置上操作。
圖3為說明將源應用程式套裝轉換成一體化應用 程式套裝之實例的示意圖。經組態而以一體化模式操作之SWAC 300的實例可產生單一目標應用程式套裝304,該單一目標應用程式套裝304能夠在可具有不同型態因子或作業系統的多個裝置上執行。源應用程式套裝302中之每一資源的轉換方式與先前論述之「獨立」模式中的轉換方式相同。源應用程式套裝302可包括組態檔案308、一或多個JavaScript程式碼檔案310a、HTML檔案312a、HTML資源檔案314、CSS資料檔案316,及CSS資源218。
SWAC 300可接收若干資料輸入以便實現一體化應用程式轉換。除源應用程式套裝302外,源設定檔(S.P.)320及一或多個目標設定檔(T.P.)可提供至SWAC 300。SWAC 300利用之每一源設定檔或目標設定檔可將裝置相關資訊包括於裝置設定檔檔案中。SWAC 300利用之每一設定檔亦可宣告用於應用程式中且包括於應用程式設定檔檔案(例如,JavaScript程式碼檔案310a)中之所有API。
第一目標設定檔-A 330可向SWAC 300提供裝置設定檔檔案中之裝置相關資訊,且界定包括於應用程式設定檔檔案中之源應用程式設定檔310中的任何必要API。第二目標設定檔-B 324可向SWAC 300提供具有不同型態因子或作業系統API之裝置的裝置相關資訊。裝置設定檔及應用程式設定檔檔案兩者包括於源設定檔及目標設定檔中,且由SWAC 300使用以將源應用程式套裝302轉換成目標應用程式套裝304。
在轉換之後,單一目標應用程式套裝304可具有 每一資源檔案之若干版本。舉例而言,組態檔案308可轉換成多個分開之組態檔案,每一裝置類型一個分開之組態檔案。組態檔案-A 332及組態檔案-B 334可包括對於其各別裝置-A 110及裝置-B 115之格式特定的資料、資訊或選項。類似地,源CSS檔案316可被轉換成作為各自用於分開之裝置之CSS-A檔案342及CSS-B檔案346的分開之版本。源CSS資源檔案318可轉換成各自用於分開之裝置(例如,分別為裝置-A 110及裝置-B 115)的分開的CSS資源檔案資源2-A 344及資源2-B 348。
SWAC 300可利用裝置感知之資源連結以將資源之多個版本連結至其各別HTML或CSS檔案而不中斷檔案之間的原始關係。舉例而言,源應用程式之邏輯工作流程可受指令碼檔案310a(例如,JavaScriptTM相容之應用程式)控制,該程式碼檔案310a可指導應用程式之行為或功能性,可具有與HTML檔案312a之連結、參考或關係。此關係維持於連結至HTML檔案312b之所得指令碼檔案310b。指令碼連結檔案350可提供於目標應用程式套裝304中以將動態連結提供至分開的HTML資源檔案資源1-A 338及資源1-B 340。所產生之目標應用程式304可在所有目標裝置(例如,裝置-A 110及裝置-B 115)上執行,同時利用在特定裝置類型上操作所必需的資源。
圖4a說明包括儲存於表或資料庫中之裝置特定資料的實例裝置設定檔。裝置資料可包括(但不限於)以像素為單位之硬體顯示裝置的解析度、以吋或公分為單位之顯 示裝置的對角線大小、以吋為單位之典型或最佳視距,及任何其他硬體特定資訊(諸如,相機、GPS接收器、抽取式媒體儲存器等之可用性)。應用程式設定檔中之API宣告格式可包括指示應用程式之執行環境特性的各種元素或資料結構。舉例而言,統一資源識別符(URI)串可用以識別每一特徵點。
實例應用程式設定檔可包括由應用程式利用之特徵的清單或陣列。特徵點可包括(例如):地理定位服務,諸如來自包括於裝置中之GSP接收器的GPS座標;輸入聯繫人或自儲存於裝置上之記憶體或檔案中之使用者聯繫人資料庫讀取聯繫人的能力;或媒體擷取能力,其可包括自包括於裝置中之相機獲得靜態影像或多訊框視訊。
圖4b提供裝置設定檔資料之實例,該裝置設定檔資料包括個別平板裝置之特定硬體裝置資訊及執行環境參數,該平板裝置在此實例中包括Windows 8作為其作業系統。實例平板裝置的顯示解析度為1024×768像素且對角線螢幕距離為十吋。實例平板裝置通常由使用者以十五吋之距離來觀看。
由圖4b中所表徵之平板裝置支援的實例執行環境包括WinRT DAP,及對HTML5畫布、網頁通訊端及網頁儲存API的支援。實例平板裝置並不支援HCI。影像支援包括PNG、JPEG及GIF格式。多媒體支援包括MP3、OGG及AAC音訊格式以及H.264視訊格式。
在一實例中,SWAC可包括轉換器及配接器組 件。轉換器組件接收諸如HTML或CSS資料之內容輸入及諸如影像、音訊或視訊檔案的資源,該等資源包括於源網頁應用程式中。轉換器基於源裝置及目標裝置兩者之裝置設定檔中所含有的資訊來修改輸入,且產生對應於資料及資源輸入的輸出檔案。配接器提供載入項(add-on)以填充源裝置與目標裝置之間的API功能性之間的任何間隙。配接器接收輸入源檔案連同裝置設定檔及應用程式設定檔資料兩者,且產生載入項檔案集作為輸出。載入項檔案可作為自動補完(polyfill)(後饋功能性外掛程式)連結回至內容HTML檔案,或作為填充碼(shim)插入至特定網頁執行環境模組中。填充碼之實例為軟體庫或介面,其可修改或轉譯參數或訊息以便提供不同軟體組件之間的通信或功能性。
在實例實施例中,SWAC工具可包括四種類型之轉換器:CSS轉換器、影像轉換器、多媒體轉換器及組態轉換器。每一轉換器可對源應用程式套裝之特定部分操作以便組合目標應用程式套裝。
CSS轉換器轉換由應用程式利用且含有於源應用程式套裝之CSS檔案中的CSS樣式。使用絕對單位(例如,像素)之CSS樣式(其可包括字型大小)可根據源裝置及目標裝置之螢幕解析度及實體大小而按比例轉換。對於HTML檔案,「樣式」屬性可在以獨立模式操作之SWAC中直接剖析、轉換且寫入為目標HTML檔案。或者,HTML「樣式」可以一體化模式被提取至分開的CSS檔案中,且接著CSS轉換器可剖析並轉換CSS檔案。在轉換之後,CSS檔案 輸出可作為一或多個外部樣式表單連結回至目標HTML檔案。
圖5說明CSS轉換之實例。在操作500處,建立源應用程式套裝之複本,該複本可充當目標應用程式套裝。在決策操作502處,檢查輸入源檔案,以判定源套裝是否包括具有嵌入式CSS樣式的HTML程式碼或僅包括CSS檔案。若源套裝僅包括CSS樣式檔案,則藉由剖析操作504a來剖析CSS物件模型。CSS剖析可將CSS檔案中所含有之文字樣式串剖析成特定資料模型以供進一步處理。在一實例中,W3C CSS物件模型可提供資料模型實作。在轉換操作506a處,轉換CSS資料;且在寫入操作508處,將經修改之CSS資料寫入至目標應用程式套裝中的CSS檔案。
若決策操作502判定源套裝包括具有CS樣式之HTML程式碼,則決策操作510接著判定SWAC是否經組態而以獨立抑或一體化模式操作。在獨立模式中,剖析操作512自源應用程式套裝中之HTML檔案中所包括的樣式剖析CSS物件模型。在轉換操作506b處,轉換CSS資料;且在寫入操作514處,將經修改之CSS樣式寫入回至目標應用程式套裝中的HTML檔案。
若決策操作510判定以一體化模式組態SWAC,則在提取操作516處,提取HTML檔案中之CSS樣式並將其置放於分開的CSS檔案中,以包括於目標應用程式套裝中。在剖析操作504b處,剖析CSS物件模型。在轉換操作506c處,轉換CSS資料;且在寫入操作518處,將經修改之CSS 樣式寫入至目標應用程式套裝中之適當CSS檔案,該CSS檔案係在提取操作516處產生。在連結操作520處,裝置感知之資源連結程式(DARL)可將CSS檔案連結至被提取CSS檔案之HTML檔案。
圖6為說明用於轉換應用程式樣式規則之實例方法的流程圖,且說明圖5之轉換操作506的其他細節。轉換操作506可逐一查看(iterate through)每一CSS規則及樣式,直至CSS資料之轉換完成為止。在操作602處,轉換操作506檢查以判定是否轉換了所有CSS規則。若無未經轉換之規則,則在操作604處,執行檢查以判定是否轉換了所有樣式。若轉換了所有樣式及規則,則轉換操作506完成。
除字型大小外,使用像素單位之樣式可按比例放大或收縮以適應源裝置與目標裝置之解析度及對角線大小的任何差異。在操作606處,執行檢查以判定像素是否用作樣式之單位。若存在剩餘像素單位,則在操作608處,執行檢查以判定像素單位是否與字型大小相關。在操作610處,除字型大小之外的CSS樣式藉由與源裝置與目標裝置之間的解析度及對角線大小之任何改變成比例地調整樣式的大小來進行轉換,如在提供至SWAC之裝置設定檔資料中所指示。
在操作612處,轉換CSS中所包括之字型大小。當調整文字字型之大小時,字型大小轉換程序可與源裝置與目標裝置之間的解析度及對角線大小之任何改變成比例地調整字型之大小,且亦包括人體工程學相關之經驗資 料,諸如源裝置與目標裝置之間的視距及視角之差異。舉例而言,平板裝置可具有若干吋(例如,12至20吋)之相對短之視距,而電視型態因子可具有類似裝置解析度,但大得多之對角線大小及若干呎(例如,2至20呎)之長視距。歸因於增大之對角線大小及較長之視距,轉換器506可相較於平板裝置至平板裝置型態因子轉換所需,而使字型大小較大地增大,以便確保使用者將能夠閱讀以該字型顯示之任何文字。
在實例SWAC中,影像轉換器使源應用程式套裝中之所有影像檔案的大小最佳化。若目標裝置相較於源裝置具有較小解析度,則可按比例地重新設定影像之大小。若目標裝置相較於源裝置具有超出可接受之影像觀看之預定臨限值的較高解析度,則SWAC可通知開發者以提供高清晰度(definition)影像,以便適應較大解析度的裝置且避免影像品質之不可接受的降級。
圖7說明實例轉換方法之處理流程的實例。在操作702處,影像轉換器判定源應用程式是否包括嵌入於HTML或CSS檔案中之分開的影像檔案或影像資料。可使用可剖析HTML或CSS檔案之資料-URI機制來判定影像資料之位置。在操作704處,提取嵌入於HTML或CSS檔案中之任何影像資料並將其置放於分開的影像檔案中。在操作706處,複製所有影像檔案(不管是分開地含有於源應用程式套裝中抑或是提取自CSS或HTML檔案)以用於目標應用程式套裝中。將藉由遵循影像轉換流程來處理分開之影像檔案。
在檢查操作708處,源裝置相較於目標裝置具有較大或較小解析度。若源裝置相較於目標裝置具有較高解析度,則在操作710處,按比例地重新設定每一影像之大小。若不可按比例地重新設定影像之大小(在該狀況下,目標解析度超出可接受之影像觀看之預定臨限值),則在操作712處,SWAC可通知開發者以提供高清晰度影像,以便適應較大解析度的裝置且避免影像品質之不可接受的降級。若源影像係在可接受大小臨限值內,則即使目標裝置相較於源裝置具有較高解析度,仍可使用影像,而不重新設定大小。
在操作714處,執行檢查以判定在目標裝置上是否支援包括於源應用程式套裝中之每一影像格式。若在目標裝置上不支援影像格式,則在操作716處,執行轉換操作以將影像轉換成支援格式(例如,將GIF轉換至JPEG)。在操作718處,將所有經修改之影像檔案寫入至目標應用程式套裝中。
在操作720處,執行檢查以判定SWAC是否正以一體化模式抑或獨立模式操作。若SWAC處於獨立模式,則影像轉換程序完成。若SWAC正以一體化模式操作,則在操作722處,可建立每一影像檔案與其對應HTML或CSS檔案之間的靜態連結以允許HTML或CSS檔案針對每一所支援裝置類型而存取適當影像檔案。
在一實例中,多媒體轉換器調整品質且對源應用程式套裝中之任何音訊或視訊資源重新編碼以包括與目標 裝置相容之位元率及編解碼器。多媒體轉換器亦可針對目標裝置而使資源之視訊解析度最佳化。
多媒體轉換程序可遵循類似於圖7中所說明之影像轉換器程序的程序。多媒體轉換程序的不同之處可在於:多媒體檔案可使用不同大小之識別符。舉例而言,在影像通常以像素計數解析度來量測時,音訊檔案可以位元率或取樣頻率來量測。視訊內容可包括解析度及位元率或樣本頻率量度兩者。類似地,對於嵌入於HTML檔案中之音訊或視訊資料,多媒體轉換器可應用類似於圖7中所說明之由影像轉換器使用之提取程序的提取程序。
對於包括線上串流音訊或視訊(例如,即時串流協定(RTSP)等)之應用程式,多媒體轉換器可通知開發者檢查或驗證潛在品質及源裝置與目標裝置之間的編解碼相容性問題。當HTML剖析器偵測到對線上音訊或視訊資源之硬編碼引用時,可由SWAC提供通知。
在一實例中,組態轉換器將組態檔案轉換成與目標裝置相容之格式。組態轉換器可適用於介面工具集套裝轉換。舉例而言,將Apple® Dashboard或Nokia® SymbianTM網頁執行環境(WRT)介面工具集轉換至W3C或WAC介面工具集格式。
在一個實例中,SWAC工具可包括三種配接器:HCI配接器、HTML5 API配接器及裝置API配接器。圖8為說明配接器操作之實例的流程圖。配接器可提供載入項以填充源裝置與目標裝置中作業系統API之間的任何功能性 間隙。在操作802處,配接器接收(take in)源程式碼檔案連同源裝置及目標裝置之裝置設定檔及應用程式設定檔兩者,且產生載入項檔案集,該載入項檔案集可作為自動補完(後饋功能性)連結回至內容HTML檔案或作為填充碼插入至特定網頁執行環境。在操作802處,SWAC判定應用程式是否包括外掛程式。若外掛程式包括於源應用程式套裝中,則在操作806處,基於由目標作業系統提供之API而將經更新之外掛程式注入至目標套裝中。在操作808處,SWAC可將自動補完或外掛程式連結回至目標應用程式套裝中的適當HTML或內容檔案。
實例HCI配接器針對目標裝置提供本質人類互動相關庫(例如,姿勢、鍵盤)作為後饋。舉例而言,HCI配接器在將應用程式移植至TV型態因子上時可產生鍵盤控制HCI庫,或針對在並不原生地支援姿勢API之特定OS中需要執行環境API的裝置可建立姿勢庫。
實例HTML5 API配接器可提供填充碼、後饋及自動補完以便在原生地不被支援之應用程式執行環境程式碼中植入HTML5功能性。舉例而言,HTML5 API配接器可針對原本在諸如iOSTM之不同作業系統中開發之基於AndroidTM之網頁應用程式而產生應用程式形式元素後饋。
實例裝置API配接器可對並不提供所要裝置API的目標裝置提供執行環境程式碼的填充碼,或提供支援其他規範之API的包裝函式(wrapper)。舉例而言,目標裝置之來自用於源裝置之W3C裝置API規範之WAC API的包裝函 式。
一體化網頁應用程式需要嵌入或連結至原始應用程式之所有資源,該等資源中之每一者具有多種版本之目標裝置。裝置感知之資源連結(DARL)為起如下作用的技術:將所有資源靜態或動態地連結至一體化網頁應用程式中以使得應用程式可使用當前裝置上之對應資源來執行。舉例而言,在支援三個裝置(devA、devB及devC)且包括三個資源集合(resA、resB及resC)的應用程式中,資源被各自連結至一體化應用程式中的應用程式檔案。在執行時間,一體化應用程式可基於裝置類型來指示應用程式將使用哪一資源集合。具體而言,resA僅用於devA上,且同樣resB用於devB上且resC用於devC上。
在SWAC之操作期間,分開之靜態或動態做法可用以提供裝置感知之資源連結。媒體問詢可用以判定裝置之寬度及高度且使用對應CSS資源。動態連結可用以判定哪些資源被連結至應用程式中。
媒體問詢可有助於判定裝置之寬度及高度且使用對應CSS資源。舉例而言,將具有不同「媒體」屬性之多個<link>標籤用於每一種類之裝置或將組合有「@import」之多個「@media」引用用於單一CSS資源或內嵌<style>標籤內可指示資源如何用於個別裝置。表1提供並不利用指令碼之應用程式中至資源之靜態連結的實例。
表2說明指示針對支援不同解碼器之裝置而支援音訊或視訊資源的多個「<source>」標籤之實例。在此實例中,SWAC可插入多個<source>標籤,該等標籤中之每一者具有其自身之「src」屬性,該「src」屬性指向針對一個特定編解碼器之音訊或視訊資源。
動態連結可指示,哪些資源藉由指令碼連結至應用程式中。動態連結之一般程序係首先在載入資源之前偵測並識別裝置及OS執行環境。當裝置及OS被判定時,連結程式可藉由修改如表1及表2中描繪之實例中展示之<img>、<audio>、<video>及<source>標籤之「src」屬性而將資源替換為正確版本。
SWAC可利用一或多種方法來識別當前裝置。SWAC可詢問「使用者代理」:檢查瀏覽器之navigator.userAgent以發現裝置之類型。或者,SWAC可問詢mediaMatch或大小相關之屬性。靜態連結中mediaMatch與媒體問詢陳述之使用可用以判定裝置之類型。舉例而言,裝置寬度及裝置高度屬性可與裝置設定檔資訊進行比較以與具有相同解析度之裝置匹配。
圖9說明實例機器900之方塊圖,在該機器900上,可執行本文中所論述之技術(例如,方法)中的任何一或多者。在替代性實施例中,機器900可作為獨立裝置操作,或可連接(例如,網路連接)至其他機器。在網路連接部署中,機器900在伺服器-用戶端網路環境中可作為伺服器機 器、用戶端機器或兩者而操作。在一實例中,機器900可充當同級間(P2P)(或其他分散式)網路環境中之同級機器。機器900可為個人電腦(PC)、平板PC、機上盒(STB)、個人數位助理(PDA)、行動電話、網頁器具、網路路由器、交換器或橋接器,或能夠執行指定待由該機器進行之動作之指令(依序執行或以其他方式執行)的任何機器。另外,雖然說明僅單一機器,但術語「機器」亦應看作包括機器之任何集合,該等機器個別或共同地執行一指令集(或多個指令集)以執行本文中所論述之方法中的任何一或多者,諸如雲端計算、軟體即服務(SaaS)、其他電腦叢集組態。
如本文中所描述,實例可包括邏輯或數個組件、模組或機制,或在邏輯或數個組件、模組或機制上操作。模組為能夠執行指定操作之有形實體,且可以某一方式進行組態或配置。在一實例中,電路可以指定方式配置為模組(例如,在內部配置或關於諸如其他電路之外部實體模組而配置)。在一實例中,一或多個電腦系統之整體或部分(例如,獨立系統、用戶端或伺服器電腦系統)或一或多個硬體處理器可藉由韌體或軟體(例如,指令、應用程式部分或應用程式)組態為操作以執行指定操作的模組。在一實例中,軟體可駐留於(1)非暫時性機器可讀媒體上,或(2)傳輸信號中。在一實例中,軟體在由模組之基礎硬體執行時使得硬體執行指定操作。
因而,術語「模組」理解為涵蓋有形實體,該有形實體為經實體建構、具體組態(例如,硬連線)或臨時(例 如,暫時)組態(例如,程式化)而以指定方式操作或執行本文中所描述之任何操作的部分或全部的實體。考慮模組被臨時組態之實例,模組中之每一者不需要在任一時刻即時地具現化。舉例而言,在模組包含使用軟體而組態之通用硬體處理器時,通用硬體處理器在不同時間可組態為各別不同模組。軟體可因而組態硬體處理器(例如)以在一個時刻構成特定模組且在不同時刻構成不同模組。
機器(例如,電腦系統)900可包括硬體處理器902(例如,中央處理單元(CPU)、圖形處理單元(GPU)、硬體處理器核心或其任何組合)、主記憶體904及靜態記憶體906,前述各者中之一些或全部可經由鏈路908(例如,匯流排、鏈路、互連或其類似者)彼此通信。機器900可進一步包括顯示單元910、文數字輸入裝置912(例如,鍵盤)及使用者介面(UI)導覽裝置914(例如,滑鼠)。在一實例中,顯示單元910、輸入裝置912及UI導覽裝置914可為觸控式螢幕顯示器。機器900可另外包括大容量儲存器(例如,磁碟機單元)916、信號產生裝置918(例如,揚聲器)、網路介面裝置920及一或多個感測器921,諸如全球定位系統(GPS)感測器、羅盤、加速度計或其他感測器。機器900可包括輸出控制器928,諸如,串列(例如,通用串列匯流排(USB)、並行或其他有線或無線(例如,紅外線(IR))連接以對一或多個周邊裝置(例如,印表機、讀卡機等)進行通信或控制。
儲存裝置916可包括儲存有資料結構或指令924之一或多個集合(例如,軟體)的機器可讀媒體922,資料結 構或指令924體現本文中所描述之技術或功能中之一或多者或由該等技術或功能中的一或多者利用。指令924亦可在機器900進行之指令924的執行期間完全或至少部分駐留於主記憶體904內、靜態記憶體906內或硬體處理器902內。在一實例中,硬體處理器902、主記憶體904、靜態記憶體906或儲存裝置916之一個或任一組合可構成機器可讀媒體。
雖然機器可讀媒體922被說明為單一媒體,但術語「機器可讀媒體」可包括經組態以儲存一或多個指令924的單一媒體或多個媒體(例如,集中式或分散式資料庫,及/或關聯快取記憶體及伺服器)。
術語「機器可讀媒體」可包括任何有形媒體,該有形媒體能夠儲存、編碼或攜載供機器900執行之指令,且使得機器900執行本發明之技術中的任何一或多者,或能夠儲存、編碼或攜載由此等指令使用或與此等指令相關聯的資料結構。非限制性機器可讀媒體實例可包括固態記憶體以及光學及磁性媒體。機器可讀媒體之特定實例可包括:非揮發性記憶體,諸如半導體記憶體裝置(例如,電可程式化唯讀記憶體(EPROM))、電可抹除可程式化唯讀記憶體(EEPROM))及快閃記憶體裝置;磁碟,諸如內部硬碟及抽取式磁碟;磁光碟;以及CD-ROM及DVD-ROM光碟。
指令924可進一步經由利用若干傳送協定中之任一者(例如,訊框中繼、網際網路協定(IP)、傳輸控制協定(TCP)、使用者資料報協定(UDP)、超文字傳送協定(HTTP)等)的網路介面裝置920使用傳輸媒體而在通信網路926上 傳輸或接收。實例通信網路可包括區域網路(LAN)、廣域網路(WAN)、封包資料網路(例如,網際網路)、行動電話網路(例如,蜂巢式網路)、簡易老式電話(POTS)網路,及無線資料網路(例如,稱為Wi-Fi®之電機電子工程師學會(IEEE)802.11系列標準、稱為WiMax®之IEEE 802.16系列標準)、同級間(P2P)網路等。在一實例中,網路介面裝置920可包括一或多個實體插孔(例如,乙太網路、同軸線纜或電話插孔)或一或多個天線以連接至通信網路926。在一實例中,網路介面裝置920可包括複數個天線以使用以下技術中之至少一者來無線通信:單輸入多輸出(SIMO)技術、多輸入多輸出(MIMO)技術或多輸入單輸出(MISO)技術。術語「傳輸媒體」應看作包括任何無形媒體,該無形媒體能夠儲存、編碼或攜載供機器900執行之指令,且包括促進此軟體之傳達的數位或類比通信信號或其他無形媒體。
額外註釋與實例
實例1包括標的(諸如,有形機器或電腦可讀媒體,該有形機器或電腦可讀媒體具有電腦可執行指令,該等指令當在計算裝置上執行時使得計算裝置執行一種方法等),該標的包括至少一個機器可讀媒體,該至少一個機器可讀媒體包含複數個指令,該等指令響應於在一計算裝置上執行而使得該計算裝置進行以下操作:接收一第一應用程式套裝,該第一應用程式套裝經組態以支援對應於一第一計算裝置的一第一型態因子;存取一對應於該第一計算裝置之源設定檔;存取一對應於一第二計算裝置之目標設 定檔,該第二計算裝置具有一第二型態因子;及藉由複製並修改該第一應用程式套裝而產生一目標應用程式套裝,該目標應用程式套裝經組態以支援對應於該第二計算裝置的該第二型態因子。
在實例2中,實例1之標的視需要可包括響應於在一計算裝置上執行而使得該計算裝置進行以下操作的指令:自該第一應用程式套裝提取樣式資訊;及響應於該第一型態因子與該第二型態因子之間的一差異而修改該樣式資訊。
在實例3中,實例1或2之標的,其中該樣式資訊包括一階層式樣式表(CSS)。
在實例4中,實例1、2或3之標的,其中該階層式樣式表(CSS)嵌入於一超文字標示語言(HTML)檔案中。
在實例5中,實例1、2、3或4之標的視需要可包括響應於在一計算裝置上執行而使得該計算裝置進行以下操作的指令:自該第一應用程式套裝提取至少一個源檔案;及響應於該第一型態因子與該第二型態因子之間的一差異而修改該至少一個源檔案。
在實例6中,實例1、2、3、4或5之標的,其中該至少一個源檔案係選自由以下各者組成之群組:一影像檔案、一音訊檔案及一視訊檔案。
在實例7中,實例1、2、3、4、5或6之標的視需要可包括響應於在一計算裝置上執行而使得該計算裝置進行以下操作的指令:接收一對應於一第三計算裝置之第二 目標設定檔,該第三計算裝置具有一第三型態因子;其中該目標應用程式套裝經組態以支援對應於該第二計算裝置之該第二型態因子及對應於該第三計算裝置之該第三型態因子兩者。
在實例8中,實例1、2、3、4、5、6或7之標的視需要可包括響應於在一計算裝置上執行而使得該計算裝置進行以下操作的指令:動態連結該目標應用程式套裝與一對應於該第二型態因子之第一資源及一對應於該第三型態因子的第二資源。
在實例9中,實例1、2、3、4、5、6、7或8之標的,其中該至少第一資源及該第二資源係選自由以下各者組成之群組:一影像檔案、一音訊檔案及一視訊檔案。
實例10包括標的(諸如,方法、系統、設備、裝置等),該標的包含:存取一對應於一第一計算裝置之源設定檔;存取一對應於一第二計算裝置之目標設定檔;及將一第一獨立網頁應用程式轉換成一第二獨立網頁應用程式,該第一獨立網頁應用程式包括一對應於該第一計算裝置之第一型態因子,且該第二獨立網頁應用程式包括一對應於該第二數位計算裝置之一第二型態因子。
在實例11中,實例10之標的視需要可包括將一包括於該第一型態因子中之第一介面格式轉換成一包括於該第二型態因子中的第二介面格式。
在實例12中,實例10或11之標的,其中該介面格式包括一階層式樣式表(CSS)。
在實例13中,實例10、11或12之標的視需要可包括將一影像自一包括於該第一型態因子中之第一大小轉換成一包括於該第二型態因子中的第二大小。
在實例14中,實例10、11、12或13之標的視需要可包括自一超文字標示語言(HTML)檔案提取一影像檔案。
在實例15中,實例10、11、12、13或14之標的視需要可包括將一包括於該第一型態因子中之第一音訊格式轉換成一包括於該第二型態因子中的第二音訊格式。
在實例16中,實例10、11、12、13、14或15之標的視需要可包括將一包括於該第一型態因子中之第一視訊格式轉換成一包括於該第二型態因子中的第二視訊格式。
在實例17中,實例10、11、12、13、14、15或16之標的,其中該源設定檔包括一應用程式設定檔及一裝置設定檔,且該目標設定檔包括一應用程式設定檔及一裝置設定檔。
實例18包括標的(諸如,系統、設備、裝置等),該標的包含:一裝置資料庫,其儲存於一有形電腦可讀媒體上,包括複數個裝置設定檔,該複數個裝置設定檔包括對應於一第一型態因子之至少一個源裝置設定檔,及對應於一第二型態因子的至少一個目標裝置設定檔;及一獨立網頁應用程式轉換器,其經組態以在一連結至該有形電腦可讀媒體之處理器上執行;其中該獨立網頁應用程式轉換器經組態以接收一源應用程式套裝,該源應用程式套裝經組態以支援一對應於一源計算裝置的第一型態因子且包括 對應於該第一型態因子的複數個資源;其中該獨立網頁應用程式轉換器經組態以響應於接收該源應用程式套裝而將一目標應用程式套裝寫入至一電腦可讀媒體。
在實例19中,實例18之標的,其中該複數個資源係選自由以下各者組成之群組:一影像檔案、一音訊檔案及一視訊檔案。
在實例20中,實例18或19之標的,其中該至少一個源裝置設定檔包括一第一應用程式設定檔,且該目標裝置設定檔包括一第二應用程式設定檔。
在實例21中,實例18、19或20之標的,其中該獨立網頁應用程式轉換器經組態以將一包括於該第一型態因子中之第一介面格式轉換至一包括於該第二型態因子中的第二介面格式。
在實例22中,實例18、19、20或21之標的,其中該介面格式包括一階層式樣式表(CSS)。
以上詳細描述包括對隨附圖式之參考,該等隨附圖式形成詳細描述之一部分。圖式以說明方式展示可實踐本發明之特定實施例。此等實施例在本文中亦被稱作「實例」。此等實例可包括除所展示或描述之元件外的元件。然而,本發明者亦預期到僅提供所展示或描述之彼等元件的實例。此外,無論是關於特定實例(或其一或多個態樣)抑或是關於本文中所展示或描述之其他實例(或其一或多個態樣),本發明者亦預期到使用所展示或描述之彼等元件之任何組合或置換的實例(或其一或多個態樣)。
在此文獻中,如在專利文獻中常見的一樣使用術語「一」,以包括一個或一個以上而無關於任何其他個例或「至少一個」或「一或多個」的使用。在此文獻中,術語「或」用以指代非互斥性或,使得「A或B」包括「A但非B」、「B但非A」及「A及B」,除非另有指示。在隨附申請專利範圍中,使用術語「包括」及「其中(in which)」作為各別術語「包含」及「其中(wherein)」之通俗同義詞。且,在以下申請專利範圍中,術語「包括」及「包含」為開放式的,即,包括除在一請求項中於此術語之後列出之彼等元件外之元件的系統、裝置、物品或程序仍視作落入該請求項之範疇內。此外,在隨附申請專利範圍中,術語「第一」、「第二」及「第三」等僅用作標記,且並非意欲對其物件強加數字要求。
以上描述意欲為說明性的,且非約束性的。舉例而言,上述實例(或其一或多個態樣)可彼此組合地使用。可使用其他實施例,例如由一般熟習此項技術者在審視以上描述之後使用。【摘要】經提供而遵守37 C.F.R§1.72(b),以允許讀者快速確定技術揭示內容之本質。【摘要】之提交是基於以下理解:【摘要】將不用以解釋或限制申請專利範圍之範疇或含義之理解。且,在以上詳細描述中,可將各種特徵集中在一起以使本發明成流線型。此情形不應解釋為意謂未主張之所揭示特徵對於任何請求項為本質的。確切而言,本發明標的可並非僅在於特定所揭示實施例之所有特徵。因此,以下申請專利範圍據此併入於詳細描述中, 其中每一請求項自身作為一分開的實施例。本發明之範疇應參考隨附申請專利範圍連同此申請專利範圍之等效物之全部範疇來判定。
100‧‧‧獨立網頁應用程式轉換器(SWAC)
105‧‧‧源裝置
110‧‧‧第一目標裝置-A
115‧‧‧第二目標裝置-B

Claims (22)

  1. 一種機器可讀媒體,其包含至少一個機器可讀媒體,該至少一個機器可讀媒體包含複數個指令,該等指令響應於在一計算裝置上執行而使得該計算裝置進行以下操作:接收一第一應用程式套裝,該第一應用程式套裝經組態以支援對應於一第一計算裝置的一第一型態因子(form-factor);存取對應於該第一計算裝置之一源設定檔,其中該源設定檔包括相關於該第一型態因子及該第一計算裝置之作業系統介面的資訊;存取對應於一第二計算裝置之一目標設定檔,該第二計算裝置具有不同於該第一型態因子的一第二型態因子,其中該目標設定檔包括相關於該第二型態因子及該第二計算裝置之作業系統介面的資訊;及藉由複製並修改該第一應用程式套裝而產生一目標應用程式套裝,該目標應用程式套裝經組態以支援對應於該第二計算裝置的該第二型態因子。
  2. 如申請專利範圍第1項之機器可讀媒體,其包含該等指令響應於在一計算裝置上執行,而使得該計算裝置進行以下操作:自該第一應用程式套裝提取樣式資訊;及響應於該第一型態因子與該第二型態因子之間的 一差異而修改該樣式資訊。
  3. 如申請專利範圍第2項之機器可讀媒體,其中該樣式資訊包括一階層式樣式表(CSS)。
  4. 如申請專利範圍第3項之機器可讀媒體,其中該階層式樣式表(CSS)係嵌入於一超文字標示語言(HTML)檔案中。
  5. 如申請專利範圍第1項之機器可讀媒體,其包含該等指令響應於在一計算裝置上執行,而使得該計算裝置進行以下操作:自該第一應用程式套裝提取至少一個源檔案;及響應於該第一型態因子與該第二型態因子之間的一差異而修改該至少一個源檔案。
  6. 如申請專利範圍第5項之機器可讀媒體,其中該至少一個源檔案係選自於由以下各者組成之一群組:一影像檔案、一音訊檔案及一視訊檔案。
  7. 如申請專利範圍第1、2、3、4、5或6項其中任一項之機器可讀媒體,其包含該等指令響應於在一計算裝置上被執行,而使得該計算裝置進行以下操作:接收對應於一第三計算裝置之一第二目標設定檔,該第三計算裝置具有一第三型態因子;其中該目標應用程式套裝係經組態以支援對應於該第二計算裝置之該第二型態因子、及對應於該第三計算裝置之該第三型態因子兩者。
  8. 如申請專利範圍第7項之機器可讀媒體,該等指令響應 於在一計算裝置上被執行,而使得該計算裝置進行以下操作:動態地連結該目標應用程式套裝至對應於該第二型態因子之一第一資源及對應於該第三型態因子的一第二資源。
  9. 如申請專利範圍第8項之機器可讀媒體,其中該至少第一資源及該第二資源係選自於由以下各者組成之一群組:一影像檔案、一音訊檔案及一視訊檔案。
  10. 一種應用程式轉換方法,其包含下列步驟:存取對應於一第一計算裝置之一源設定檔,其中該源設定檔包括相關於對應於該第一計算裝置的一第一型態因子及該第一計算裝置之作業系統介面的資訊;存取對應於一第二計算裝置之一目標設定檔,其中該目標設定檔包括相關於對應於該第二計算裝置之一第二型態因子及該第二計算裝置之作業系統介面的資訊,且該第一型態因子係不同於該第二型態因子;及將一第一獨立網頁應用程式轉換成一第二獨立網頁應用程式,該第一獨立網頁應用程式包括該第一型態因子,且該第二獨立網頁應用程式包括該第二型態因子。
  11. 如申請專利範圍第10項之方法,其包含下列步驟:將包括於該第一型態因子中之一第一介面格式轉換成包括於該第二型態因子中的一第二介面格式。
  12. 如申請專利範圍第11項之方法,其中該介面格式包括一 階層式樣式表(CSS)。
  13. 如申請專利範圍第10或11項之方法,其包含下列步驟:將一影像自包括於該第一型態因子中之一第一大小轉換成包括於該第二型態因子中的一第二大小。
  14. 如申請專利範圍第13項之方法,其包含下列步驟:自一超文字標示語言(HTML)檔案提取一影像檔案。
  15. 如申請專利範圍第10或11項之方法,其包含下列步驟:將包括於該第一型態因子中之一第一音訊格式轉換成包括於該第二型態因子中的一第二音訊格式。
  16. 如申請專利範圍第10或11項之方法,其包含下列步驟:將包括於該第一型態因子中之一第一視訊格式轉換成包括於該第二型態因子中的一第二視訊格式。
  17. 如申請專利範圍第10或11項之方法,其中該源設定檔包括一應用程式設定檔及一裝置設定檔,且該目標設定檔包括一應用程式設定檔及一裝置設定檔。
  18. 一種用以轉換應用程式以支援多個格式的系統,其包含:一裝置資料庫,其儲存於一有形電腦可讀媒體上,且其包括複數個裝置設定檔,該等複數個裝置設定檔包括對應於一第一型態因子之至少一源裝置設定檔,及對應於不同於該第一型態因子之一第二型態因子的至少一目標裝置設定檔,其中該源裝置設定檔包括相關於該第一型態因子及一源計算裝置之作業系統介面的資訊,且該目標裝置設定檔包括相關於該第二型態因子及 一目標計算裝置之作業系統介面的資訊;及一獨立網頁應用程式轉換器,其經組態以在連結至該有形電腦可讀媒體之一處理器上執行;其中該獨立網頁應用程式轉換器接收一源應用程式套裝,該源應用程式套裝包括用於對應至該源計算裝置的該第一型態因子的複數個資源;其中該獨立網頁應用程式轉換器響應於接收該源應用程式套裝,基於該目標裝置設定檔而將一目標應用程式套裝寫入至一電腦可讀媒體。
  19. 如申請專利範圍第18項之系統,其中該等複數個資源係選自於由以下各者組成之一群組:一影像檔案、一音訊檔案及一視訊檔案。
  20. 如申請專利範圍第18項之系統,其中該至少一源裝置設定檔包括一第一應用程式設定檔,且該目標裝置設定檔包括一第二應用程式設定檔。
  21. 如申請專利範圍第18、19或20項其中任一項之系統,其中該獨立網頁應用程式轉換器係經組態以將包括於該第一型態因子中之一第一介面格式轉換至包括於該第二型態因子中的一第二介面格式。
  22. 如申請專利範圍第21項之系統,其中該介面格式包括一階層式樣式表(CSS)。
TW101149341A 2011-12-30 2012-12-22 用於網頁應用程式轉換器系統之設備及方法 TWI552588B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2011/085088 WO2013097202A1 (en) 2011-12-30 2011-12-30 Apparatuses and methods for web application converter systems

Publications (2)

Publication Number Publication Date
TW201347517A TW201347517A (zh) 2013-11-16
TWI552588B true TWI552588B (zh) 2016-10-01

Family

ID=48696263

Family Applications (1)

Application Number Title Priority Date Filing Date
TW101149341A TWI552588B (zh) 2011-12-30 2012-12-22 用於網頁應用程式轉換器系統之設備及方法

Country Status (4)

Country Link
US (1) US20140380137A1 (zh)
EP (1) EP2798533A4 (zh)
TW (1) TWI552588B (zh)
WO (1) WO2013097202A1 (zh)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11210610B2 (en) 2011-10-26 2021-12-28 Box, Inc. Enhanced multimedia content preview rendering in a cloud content management system
US11232481B2 (en) * 2012-01-30 2022-01-25 Box, Inc. Extended applications of multimedia content previews in the cloud-based content management system
US9838460B2 (en) * 2012-05-29 2017-12-05 Google Llc Tool for sharing applications across client devices
WO2013190628A1 (ja) * 2012-06-18 2013-12-27 Necディスプレイソリューションズ株式会社 ディスプレイ装置、ディスプレイ装置の調整方法
US20140035945A1 (en) * 2012-08-03 2014-02-06 Todd Anglin Computing device applications with an automatically adapting user interface
KR101427562B1 (ko) * 2013-03-08 2014-08-07 주식회사 인프라웨어테크놀러지 안드로이드 어플리케이션의 타이젠 설치가능 패키지 자동변환 방법 및 이를 위한 컴퓨터로 판독가능한 기록매체
US10268666B2 (en) * 2013-10-30 2019-04-23 Rockwell Automation Technologies, Inc. Industrial automation workstation and display method for scaling and displaying text destined for a target industrial automation device
US9367415B1 (en) * 2014-01-20 2016-06-14 Google Inc. System for testing markup language applications on a device
CN104885055B (zh) * 2014-03-19 2020-12-15 华为终端有限公司 一种应用数据同步的方法及装置
US9772829B2 (en) * 2014-09-09 2017-09-26 Liveperson, Inc. Dynamic code management
CN105786455B (zh) * 2014-12-17 2020-02-18 深圳市腾讯计算机系统有限公司 一种数据处理方法、装置及终端
TWI607322B (zh) * 2015-04-01 2017-12-01 Chunghwa Telecom Co Ltd System interface automatic generation system and method
US9332561B1 (en) * 2015-04-08 2016-05-03 Ringcentral, Inc. Hybrid communications system using peer-to-peer and centralized architecture
US10452244B2 (en) * 2015-05-04 2019-10-22 Salesforce.Com, Inc. Systems and methods of optimizing delivery of form factor specific content
KR101675420B1 (ko) * 2015-05-18 2016-11-22 주식회사 인프라웨어테크놀러지 안드로이드 os 기반 어플리케이션 패키지를 가전기기용 타이젠 os 기반 어플리케이션 패키지로 자동 변환하는 방법
US20160349931A1 (en) * 2015-05-28 2016-12-01 Rockwell Automation Technologies, Inc. Responsive user interface for an industrial environment
KR101675419B1 (ko) * 2015-07-09 2016-11-11 주식회사 인프라웨어테크놀러지 타이젠 모바일 os 기반 어플리케이션 패키지를 타이젠 가전기기 os 기반 어플리케이션 패키지로 자동 변환하는 방법
US20170017380A1 (en) * 2015-07-13 2017-01-19 International Business Machines Corporation Mobile enabling a web application developed without mobile rendering capabilities
EP3326077A4 (en) * 2015-07-20 2019-03-20 Ent. Services Development Corporation LP WEB APPLICATION SETTING FOR DIFFERENT BROWSERS
JP6377028B2 (ja) * 2015-08-05 2018-08-22 東芝テック株式会社 表示制御装置及びプログラム
KR20170132545A (ko) * 2016-05-24 2017-12-04 엘에스산전 주식회사 컴퓨팅 장치
US10579373B2 (en) 2017-02-07 2020-03-03 Microsoft Technology Licensing, Llc Seamless extension porting
US11070647B1 (en) * 2017-03-14 2021-07-20 Parallels International Gmbh Seamless cross-platform synchronization of user activities and application data between mobile and desktop devices
CN111212076B (zh) * 2020-01-08 2022-09-09 山东汇佳软件科技股份有限公司 面向全终端的低延迟按需分布式监控汇聚双模态转发方法
CN111897544B (zh) * 2020-05-30 2022-04-22 华为技术有限公司 一种控制应用程序安装的方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6023714A (en) * 1997-04-24 2000-02-08 Microsoft Corporation Method and system for dynamically adapting the layout of a document to an output device
TW200816051A (en) * 2006-09-25 2008-04-01 Univ Nat Chiao Tung Device context aware and multimedia content adaptation method for handheld device system

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ATE264519T1 (de) * 1997-02-21 2004-04-15 Cit Alcatel Verfahren zur erzeugung eines rechnerprogrammes
US6993575B2 (en) * 2000-02-22 2006-01-31 Oracle International Corporation Using one device to configure and emulate web site content to be displayed on another device
US7152205B2 (en) * 2000-12-18 2006-12-19 Siemens Corporate Research, Inc. System for multimedia document and file processing and format conversion
US7191233B2 (en) * 2001-09-17 2007-03-13 Telecommunication Systems, Inc. System for automated, mid-session, user-directed, device-to-device session transfer system
US20030110297A1 (en) * 2001-12-12 2003-06-12 Tabatabai Ali J. Transforming multimedia data for delivery to multiple heterogeneous devices
US7143344B2 (en) * 2002-06-12 2006-11-28 Microsoft Corporation Transformation stylesheet editor
US8635218B2 (en) * 2003-09-02 2014-01-21 International Business Machines Corporation Generation of XSLT style sheets for different portable devices
US20090117878A1 (en) * 2004-06-21 2009-05-07 Arnaud Rosay Multimedia data format conversion and transfer
US7689908B2 (en) * 2005-01-31 2010-03-30 Microsoft Corporation Method and system for a target device display simulation
US20120036494A1 (en) * 2010-08-06 2012-02-09 Genwi, Inc. Web-based cross-platform wireless device application creation and management systems, and methods therefor
US9142192B2 (en) * 2011-09-26 2015-09-22 Intel Corporation Simulation of web applications and secondary devices in a web browser, web application development tools, and methods using the same

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6023714A (en) * 1997-04-24 2000-02-08 Microsoft Corporation Method and system for dynamically adapting the layout of a document to an output device
TW200816051A (en) * 2006-09-25 2008-04-01 Univ Nat Chiao Tung Device context aware and multimedia content adaptation method for handheld device system

Also Published As

Publication number Publication date
EP2798533A4 (en) 2015-09-23
TW201347517A (zh) 2013-11-16
WO2013097202A1 (en) 2013-07-04
US20140380137A1 (en) 2014-12-25
EP2798533A1 (en) 2014-11-05

Similar Documents

Publication Publication Date Title
TWI552588B (zh) 用於網頁應用程式轉換器系統之設備及方法
US10565293B2 (en) Synchronizing DOM element references
US10572581B2 (en) System and method for web content presentation management
US11170159B1 (en) System and method for using a dynamic webpage editor
TWI552074B (zh) 用於本機應用程式及網路應用程式之混合行動互動技術
US9736143B2 (en) Customized log-in experience
US10095670B2 (en) Systems and methods for efficient storage of content and animation
US11245951B2 (en) Display device and content providing method thereof
US20140108914A1 (en) Webpages with onboard hardware functions
US20130036196A1 (en) Method and system for publishing template-based content
KR20140118397A (ko) 컴퓨터에서 실행 가능한 어플리케이션 패키지를 생성하는 방법, 이를 수행하는 컴퓨터 실행 장치 및 이를 저장한 기록 매체
JP2017501508A (ja) メタデータを利用したチャート変換システム及びその方法
CN104050238A (zh) 一种地图标注方法和装置
US20150178258A1 (en) System and Method for Processing Markup Language Templates from Partial Input Data
US20130036197A1 (en) Method and system for a mobile local server
US9430808B2 (en) Synchronization points for state information
US9509761B2 (en) Open user interface
US9317489B2 (en) Vector graphic conversion into fonts
KR20160124868A (ko) 호스트 애플리케이션으로부터 호스트 확장자로의 테마 정보의 전파
CN110618811B (zh) 信息呈现方法和装置
US9680967B2 (en) Method of using application, gateway using the method, terminal using the method, and terminal system using the method
Amatya Cross-platform mobile development: An alternative to native mobile development
JP5959535B2 (ja) クライアントからネットワークを介して携帯端末にアクセスするためのサーバ、方法、及び、コンピュータを該サーバとして機能させるプログラム
US20140101284A1 (en) System and method for customization of web content
Power Delivering web to mobile

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees