TWI515583B - 用於客製化應用程式之動態執行時間產生之方法與系統 - Google Patents

用於客製化應用程式之動態執行時間產生之方法與系統 Download PDF

Info

Publication number
TWI515583B
TWI515583B TW104107653A TW104107653A TWI515583B TW I515583 B TWI515583 B TW I515583B TW 104107653 A TW104107653 A TW 104107653A TW 104107653 A TW104107653 A TW 104107653A TW I515583 B TWI515583 B TW I515583B
Authority
TW
Taiwan
Prior art keywords
style
code
application
pattern generation
generation code
Prior art date
Application number
TW104107653A
Other languages
English (en)
Other versions
TW201546631A (zh
Inventor
亨利 托格曼
班傑明 赫司德
艾可 奧利佛 昂特
Original Assignee
Lm艾瑞克生(Publ)電話公司
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 Lm艾瑞克生(Publ)電話公司 filed Critical Lm艾瑞克生(Publ)電話公司
Publication of TW201546631A publication Critical patent/TW201546631A/zh
Application granted granted Critical
Publication of TWI515583B publication Critical patent/TWI515583B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • 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
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/431Generation of visual interfaces for content selection or interaction; Content or additional data rendering
    • H04N21/4312Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/482End-user interface for program selection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols
    • H04N21/64322IP
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • User Interface Of Digital Computer (AREA)
  • Stored Programmes (AREA)

Description

用於客製化應用程式之動態執行時間產生之方法與系統 相關申請案的交叉參考
本申請案主張2014年3月11日申請之第61/951,514號美國臨時申請案之權利,其以引用方式併入本文中。
本發明之實施例係關於應用程式產生之領域;且更具體言之,係關於透過參數化程式碼使用之應用程式之動態執行時間產生。
IPTV為一種利用一基於封包之網路基礎結構(例如,寬頻網際網路存取網路)來將視訊內容遞送至客戶(通常作為藉由傳統空中電視、衛星電視及有線電視遞送之一替代方案)之多媒體遞送平台。一典型IPTV解決方案包含:用於接收電視內容之頭端視訊擷取設備;用於在IPTV系統之各種節點、存取節點(例如,極高位元率數位用戶線(VDSL或VHDSL)或被動式光學網路(PON)設備)之間進行內容分配以實現往返於客戶端之高頻寬輸送之中間IPTV設施(例如,Ericsson MediaroomTM),包含伺服器平台及相關聯IPTV中間體、聯網器件(例如,路由器、交換機);及管理IPTV系統及/或提供終端使用者IPTV應用程式之操作者提供之應用程式。
IPTV服務之消費者(亦稱為使用者、終端使用者、觀眾、客戶或用戶)在使用者設備(UE)器件(諸如視訊轉換盒(STB)、平板電腦、智 慧型電話、膝上型電腦、個人電腦等)上利用操作者提供之應用程式之使用者介面來存取IPTV內容。然而,此等應用程式難以產生,此係因為其等通常為包含諸多抽象層之極複雜系統且依賴於客製化編碼基底。此外,亦期望由操作者對不同使用者或器件提供客製應用程式使用者介面,且已證明極難產生及維持此等客製UI兩者。
網頁應用程式之UI之外觀及行為通常係經預定義。定義其之程式碼CSS多半為固定的過往編譯時間且通常藉由一網路應用程式予以靜態引用。
儘管出於應用程式客製化之目的,一些應用程式可容許「蒙皮算法」,但諸多應用程式(例如,大公司開發之應用程式)要求遠遠超出「蒙皮算法」所提供之大量客製化,此係因為需要能夠控制使用者介面元件應如何展現及/或表現-可能截然不同。為滿足此等要求,一些應用程式開發者已致力於鑽研編碼基底及(靜態地)應用此等客製化。此通常要求具備編碼基底之專門知識,且可導致產生諸多非意欲程式錯誤。據此,需要一種用於取決於開發者偏好修改複雜網頁應用程式以允許產生大不相同的UI體驗而不要求變更編碼基底之解決方案。
級聯樣式表單(CSS)預處理器已成為一種最近用於更容易地建置可客製化之基於豐富網頁技術之應用程式之方法。然而,CSS預處理器通常經設計以作為一建置步驟之部分執行以產生靜態CSS檔案,該等靜態CSS檔案接著在無額外客製化之情況下可直接供瀏覽器使用。此外,一些CSS預處理器在用戶端上之一個計算昂貴之步驟中執行所有剖析、變換及變數替換,藉此降低效能及使用者體驗。據此,仍需要在一明顯更小的佔據空間處產生及維持每使用者(或每器件)之網頁應用程式之樣式客製化,使得其可適於可由網頁伺服器或由網頁瀏覽器按需產生之高度客製化CSS。
在本發明之一實施例中,揭示一種在一伺服器終端站中用於對一應用程式有效地提供客製化使用者介面之方法。該方法包含將一組一或多個擴充樣式規則變換成樣式產生碼。該組擴充樣式碼規則包含樣式語法及一組一或多個表達式,包含一組一或多個變數。根據該樣式語法之一樣式標準,該組擴充樣式碼規則係無效的,且該樣式產生碼在使用對應於該組變數之一組一或多個輸入變數由一組一或多個調用執行時,根據該樣式標準產生一組一或多個有效樣式規則。該方法進一步包含將該樣式產生碼傳輸至一使用者之一使用者設備(UE)器件。在一些實施例中,該樣式產生碼包括將該等輸入變數用作參數由該組調用執行之JavaScript碼。在一些實施例中,該樣式標準為級聯樣式表單(CSS)標準,且在一些實施例中,該樣式產生碼及/或該組調用包括JavaScript碼。在一些實施例中,該樣式產生碼之執行作為一建置步驟之部分發生,其包含產生多組有效樣式規則以匹配相同數目之已知輸入變數組。在包含該建置步驟之此等實施例之一些中,該方法進一步包含使用一電腦可讀媒體儲存該多組有效樣式規則,及將該多組樣式規則傳輸至複數個使用者之複數個UE器件。
根據本發明之一實施例,描述一種非暫時性電腦可讀儲存媒體。該非暫時性電腦可讀儲存媒體儲存指令,該等指令在由一計算器件之一組一或多個處理器執行時致使該計算器件藉由執行一組操作對一應用程式有效地提供客製化使用者介面。該組操作包含將一組一或多個擴充樣式規則變換成樣式產生碼。該組擴充樣式碼規則包含樣式語法及一組一或多個表達式,包含一組一或多個變數。根據該樣式語法之一樣式標準,該組擴充樣式碼規則係無效的,且該樣式產生碼在使用對應於該組變數之一組一或多個輸入變數由一組一或多個調用執行時,根據該樣式標準產生一組一或多個有效樣式規則。該組操作進 一步包含將該樣式產生碼傳輸至一使用者之一UE器件。在一些實施例中,該樣式標準為級聯樣式表單(CSS)標準,且在一些實施例中,該樣式產生碼及/或該組調用包括JavaScript碼。在一些實施例中,該樣式產生碼之執行按需地發生。在一些實施例中,該樣式產生碼之執行作為一建置步驟之部分發生,其包含產生多組有效樣式規則以匹配相同數目之已知輸入變數組。在包含該建置步驟之此等實施例之一些中,該操作組進一步包含使用該非暫時性電腦可讀媒體或另一非暫時性電腦可讀媒體儲存該多組有效樣式規則,以及將該多組樣式規則傳輸至複數個使用者之複數個UE器件。
在本發明之一實施例中,揭示一種在一伺服器終端站中用於對一應用程式有效地提供客製化使用者介面之方法。該方法包含將一組一或多個擴充樣式規則變換成樣式產生碼。該組擴充樣式碼規則包含樣式語法及一組一或多個表達式兩者,包含一組一或多個變數。根據該樣式語法之一樣式標準,該組擴充樣式碼規則係無效的,且該樣式產生碼在使用對應於該組變數之一組一或多個輸入變數由一組一或多個調用執行時,根據該樣式標準產生一組一或多個有效樣式規則。該方法進一步包含使用該組輸入變數來執行該樣式產生碼以產生該組有效樣式規則。在一些實施例中,該樣式產生碼包括將該等輸入變數用作參數由該組調用執行之JavaScript碼。該方法進一步包含將該組有效樣式規則傳輸至一使用者之一使用者設備(UE)器件,其致使對該使用者呈現一客製化使用者介面。在一些實施例中,該方法進一步包含由該伺服器終端站運用另一組一或多個輸入變數執行該樣式產生碼以產生另一組一或多個有效樣式規則,及接著將該另一組有效樣式規則傳輸至另一使用者之另一UE器件,其致使對該另一使用者呈現不同於對該使用者呈現之客製化使用者介面之另一客製化使用者介面。在一些實施例中,該樣式標準為級聯樣式表單(CSS)標準,且在一些實 施例中,該樣式產生碼及/或該調用組包括JavaScript碼。在一些實施例中,按需地回應於從該UE器件接收對該組有效樣式規則之一請求而發生該樣式產生碼之執行。在一些實施例中,該樣式產生碼之執行作為一建置步驟之部分發生,其包含產生多組有效樣式規則以匹配相同數目之已知輸入變數組。在包含該建置步驟之此等實施例之一些中,該方法進一步包含使用一電腦可讀媒體儲存該多組有效樣式規則一,及將該多組樣式規則一傳輸至複數個使用者之複數個UE器件。
根據本發明之一實施例,描述一種非暫時性電腦可讀儲存媒體。該非暫時性電腦可讀儲存媒體儲存指令,該等指令在由一計算器件之一組一或多個處理器執行時致使該計算器件藉由執行一組操作對一應用程式有效地提供客製化使用者介面。該組操作包含將一組一或多個擴充樣式規則之一變換成樣式產生碼。該組擴充樣式碼規則包含樣式語法及一組一或多個表達式,包含一組一或多個變數。根據該樣式語法之一樣式標準,該組擴充樣式碼規則係無效的,且該樣式產生碼在使用對應於該組變數之一組一或多個輸入變數由一組一或多個調用執行時,根據該樣式標準產生一組一或多個有效樣式規則。該組操作進一步包含使用該組輸入變數來執行該樣式產生碼以產生該組有效樣式規則。在一些實施例中,該樣式產生碼包括將該等輸入變數用作參數由該組調用執行之JavaScript碼。該組操作進一步包含將該組有效樣式規則傳輸至一使用者之一使用者設備(UE)器件,其致使對該使用者呈現一客製化使用者介面。在一些實施例中,該組操作進一步包含由該伺服器終端站運用另一組一或多個輸入變數執行該樣式產生碼以產生另一組一或多個有效樣式規則,及接著將該另一組有效樣式規則傳輸至另一使用者之另一UE器件,其致使對該另一使用者呈現不同於對該使用者呈現之客製化使用者介面之另一客製化使用者介面。在一些實施例中,該樣式標準為級聯樣式表單(CSS)標準,且在一些 實施例中,該樣式產生碼及/或該組調用包括JavaScript碼。在一些實施例中,按需地回應於從該UE器件接收對該組有效樣式規則之一請求而發生該樣式產生碼之執行。在一些實施例中,該樣式產生碼之執行作為一建置步驟之部分發生,其包含產生多組有效樣式規則以匹配相同數目之已知輸入變數組。在包含該建置步驟之此等實施例之一些中,該組操作進一步包含使用該非暫時性電腦可讀媒體或另一非暫時性電腦可讀媒體儲存該多組有效樣式規則,以及將該多組樣式規則一傳輸至複數個使用者之複數個UE器件。
根據本發明之一實施例,描述一種在一使用者設備(UE)器件中用於對一應用程式產生一客製化使用者介面之方法。該方法包含在該UE器件之一組網路介面處,從一伺服器終端站接收樣式產生碼。該樣式產生碼在使用對應於該變數組之一組一或多個輸入變數由一組一或多個調用執行時,產生一樣式標準之一組一或多個有效樣式規則,並將該等有效樣式規則動態地注入至該應用程式中。該方法亦包含由於根據該組調用執行該樣式產生碼而致使對該使用者呈現該客製化使用者介面。該使用者介面包含根據該組有效樣式規則樣式化之一組一或多個使用者介面元件。在一些實施例中,該方法進一步包含使用該組輸入變數,從該伺服器終端站接收該調用組。在一些實施例中,該樣式標準為級聯樣式表單(CSS)標準,且在一些實施例中,該樣式產生碼及/或該調用組包括JavaScript碼。
根據本發明之一實施例,描述一種非暫時性電腦可讀儲存媒體。該非暫時性電腦可讀儲存媒體儲存指令,該等指令在由一計算器件之一組一或多個處理器執行時致使該計算器件藉由執行一組操作對一應用程式產生一客製化使用者介面。該組操作包含在該計算器件之一組網路介面處,從一伺服器終端站接收樣式產生碼。該樣式產生碼在使用對應於該組變數之一組一或多個輸入變數由一組一或多個調用 執行時,產生一樣式標準之一組一或多個有效樣式規則,並將該等有效樣式規則動態地注入至該應用程式中。該組操作亦包含由於根據該組調用執行該樣式產生碼而致使對該使用者呈現該客製化使用者介面。該使用者介面包含根據該組有效樣式規則樣式化之一組一或多個使用者介面元件。在一些實施例中,該組操作進一步包含使用該組輸入變數,從該伺服器終端站接收該組調用。在一些實施例中,該樣式標準為級聯樣式表單(CSS)標準,且在一些實施例中,該樣式產生碼及/或該組調用包括JavaScript碼。
根據本發明之一實施例,描述一種在一使用者設備(UE)器件中用於程式化執行時間應用程式產生之方法。該方法包含接收一單個使用者介面(UI)定義檔案。該UI定義檔案包含複數個定義,其等指示該應用程式之部分之視覺外觀屬性、在該應用程式內待呈現之一組一或多個組件、及可由該等組件執行之一組行為。該複數個定義包含複數個屬性值對。該方法進一步包含接收一組一或多個組件定義檔案,其等包含用於實施複數個組件之程式碼,該程式碼包含由該UI定義檔案指示之該組組件。該方法進一步包含在開始執行該應用程式之後,剖析該UI定義檔案以識別視覺外觀屬性、該組組件及該組行為。該方法進一步包含基於該經剖析UI定義檔案及該組組件定義檔案動態地實例化該組組件以產生該應用程式。
根據本發明之一實施例,描述一種非暫時性電腦可讀儲存媒體。該非暫時性電腦可讀儲存媒體儲存指令,該等指令在由一計算器件之一組一或多個處理器執行時致使該計算器件藉由執行一組操作在執行時間程式化地產生一應用程式。該組操作包含接收一單個使用者介面(UI)定義檔案。該UI定義檔案包含複數個定義,其等指示該應用程式之部分之視覺外觀屬性、在該應用程式內待呈現之一組一或多個組件、及可由該等組件執行之一組行為。該複數個定義包含複數個屬 性值對。該組操作亦包含接收一組一或多個組件定義檔案,其等包含用於實施複數個組件之程式碼,該程式碼包含由該UI定義檔案指示之該組組件。該組操作進一步包含在開始執行該應用程式之後,剖析該UI定義檔案以識別視覺外觀屬性、該組組件及該組行為。該組操作進一步包含基於該經剖析UI定義檔案及該組組件定義檔案動態地實例化該組組件以產生該應用程式。
據此,本發明之實施例實現網頁應用程式之使用者介面之動態執行時間產生。此等實施例使應用程式開發者有能力來容易地建置、測試及部署網頁客製應用程式,包含客製化視覺外觀、客製化組件/結構、及客製化行為。在一些實施例中,應用程式開發者可藉由在一單個UI定義檔案內修改可表達、人類可讀定義來構造客製化應用程式。此UI定義檔案可靈活地被UE器件用於在執行時間動態地產生該應用程式,或可供一伺服器終端站執行以對UE器件產生即用型應用程式碼。本發明之實施例允許應用程式開發者藉由依賴於一共用組組件定義簡單而容易地修改該應用程式之外觀及功能性,來產生、維持及修改此等客製化應用程式。此外,在本發明之實施例中,該UI定義檔案從呈現及邏輯碼(例如,超文字標示語言(HTML)碼、級聯樣式表單(CSS)規則、JavaScript碼)抽象出來,從而允許應用程式開發者替代地專注於產生該應用程式自身而非該代碼及該應用程式背後之概念(例如,文件對象模型(DOM))。本發明之實施例使用參數化樣式規則來提供此等益處,該等參數化樣式規則可使用強大且可表達的調用針對多個環境及/或使用者容易地最終化成標準CSS規則。在一些實施例中,基於該系統之特定需要,可由一中央伺服器或由對一使用者呈現該應用程式之UE器件靈活地執行最終化標準CSS規則之產生。在一些實施例中,本文所描述之方法、裝置及系統可用於產生各種基於網頁技術之應用程式,諸如由IPTV系統之使用者使用之應用程式。
100‧‧‧系統
102‧‧‧應用程式(APP)產生及執行階段
104‧‧‧應用程式(APP)編輯階段
106‧‧‧互動編輯
108‧‧‧組件生存週期管理階段
110‧‧‧組件破壞子階段
112‧‧‧組件實例化子階段
114‧‧‧獲取使用者介面(UI)定義檔案
116‧‧‧向框架註冊組件
118‧‧‧連續管理組件生命週期/可見度
120‧‧‧伺服器終端站/使用者設備(UE)器件/用戶端
122‧‧‧使用者介面(UI)定義檔案
124‧‧‧設計模式
126‧‧‧半連續程序
128‧‧‧組件選擇
130‧‧‧定位
132‧‧‧參數編輯
134‧‧‧組件實例化
136‧‧‧子階段
138‧‧‧混合組件預設值與使用者介面(UI)定義
140‧‧‧執行級聯樣式表單(CSS)參數映射
142‧‧‧注入級聯樣式表單(CSS)
144‧‧‧將UI定義參數混合成組件參數
146‧‧‧獲得參數HTML
148‧‧‧注入HTML
150‧‧‧參數化JS組件定義
152‧‧‧分配JS OBJ
154‧‧‧作為框架中之直播組件參與
156‧‧‧移除CSS
158‧‧‧移除HTML
160‧‧‧解除分配JS對象
200‧‧‧流程
205‧‧‧操作
210‧‧‧操作/表達式
215‧‧‧操作/變數
220‧‧‧操作/樣式語法
225‧‧‧操作
230‧‧‧操作
235‧‧‧操作
240‧‧‧操作
245‧‧‧操作
300‧‧‧系統
302A-302N‧‧‧使用者
304‧‧‧通信網路
306‧‧‧網際網路協定電視(IPTV)系統
308‧‧‧使用者端
310A-310M‧‧‧內容提供者
320‧‧‧社交網路系統
322‧‧‧視訊轉換盒(STB)/使用者設備(UE)器件
324A-324D‧‧‧顯示器/顯示器件
326A-326E‧‧‧網際網路協定電視(IPTV)應用程式/應用程式
328‧‧‧使用者設備(UE)器件
330‧‧‧智慧型電話/使用者設備(UE)器件/計算器件
332‧‧‧平板電腦/使用者設備(UE)器件/電腦可讀儲存媒體
334‧‧‧膝上型/桌上型電腦/使用者設備(UE)器件/處理器/中央處理單元(CPU)
336‧‧‧網路介面
340A‧‧‧使用者介面元件/客製化樣式模組碼
340B‧‧‧客製化樣式模組實例
342‧‧‧擴充樣式碼
342A‧‧‧擴充樣式碼
344A‧‧‧樣式產生碼
346‧‧‧樣式產生調用/樣式產生調用碼
346A‧‧‧樣式產生調用碼
346B‧‧‧樣式產生調用碼
348‧‧‧有效樣式規則/有效規則碼
348A‧‧‧有效樣式規則
348B‧‧‧有效樣式規則
405‧‧‧表達式分隔符
410‧‧‧表達式
415‧‧‧變數
420‧‧‧樣式語法
455‧‧‧經轉譯表達式
505‧‧‧屬性
510‧‧‧值
515‧‧‧輸入變數
525A‧‧‧客製化使用者介面(UI)
530‧‧‧集線器選擇使用者介面(UI)元件
535A‧‧‧第一使用者介面(UI)元件
535B‧‧‧第一使用者介面(UI)元件
540A‧‧‧第二使用者介面(UI)元件
540B‧‧‧第二使用者介面(UI)元件
545A‧‧‧第一組使用者識別符
545B‧‧‧第二使用者識別符
600‧‧‧流程
605‧‧‧操作
610‧‧‧操作
615‧‧‧操作
620‧‧‧操作
625‧‧‧操作
700‧‧‧流程
705‧‧‧操作
710‧‧‧操作
800‧‧‧流程
805‧‧‧操作
810‧‧‧操作
815‧‧‧操作
藉由參考用於闡釋本發明之實施例之下文描述及隨附圖式,可最佳地理解本發明。在該等圖式中:圖1繪示根據本發明之實施例之用於一應用程式之使用者介面之動態執行時間產生之一系統中之階段;圖2繪示根據本發明之實施例之在一使用者設備器件中用於在執行時間基於一UI定義檔案動態地產生一應用程式之一流程;圖3繪示根據本發明之一實施例的一系統之一方塊圖,該系統包含基於樣式規則參數化利用動態執行時間應用程式產生之一IPTV系統;圖4繪示根據本發明之一實施例之擴充樣式碼及樣式產生碼;圖5A繪示根據本發明之一實施例之樣式產生調用碼,其在用於調用圖4之樣式產生碼時導致產生所繪示之有效樣式規則組及客製化使用者介面;圖5B繪示根據本發明之一實施例之額外樣式產生調用碼,其在用於調用圖4之樣式產生碼時導致產生所繪示之額外有效樣式規則組及額外客製化使用者介面;圖6繪示根據本發明之實施例之用於利用參數化樣式規則以允許一應用程式之使用者介面之動態執行時間產生之一伺服器終端站中之一流程;圖7繪示根據本發明之一些實施例之在一伺服器終端站中用於利用參數化樣式規則以允許一應用程式之使用者介面之動態執行時間產生之一流程;及圖8繪示根據本發明之實施例之在一使用者設備器件中用於利用由一伺服器終端站產生之樣式產生碼以便一應用程式之使用者介面之動態執行時間產生之一流程。
在下文描述中,陳述諸多具體細節。然而,應瞭解,可在無此等具體細節之情況下實行本發明之實施例。在其他實例中,未詳細展示熟知電路、結構及技術以免使本發明描述之理解不清楚。在未過度實驗之情況下,此項技術之一般技術人員將能夠結合所包含描述實施適當功能性。
括弧內之文字及具有虛線邊界之區塊(例如,粗虛線、細虛線、點虛線及點)在本文中用於繪示將額外特徵添加至本發明之實施例之選用操作。然而,此等標記不應被解釋為意謂著此等操作為唯一選項或唯一選用操作,及/或具有實線邊界之區塊在本發明之某些實施例中並非選用的。
本說明書中對「一項實施例」、「一實施例」、「一例示性實施例」等之引用指示所描述實施例可包含一特定特徵、結構或特性,但每一實施例未必包含該特定特徵、結構或特性。此外,此等片語未必指代相同實施例。此外,當結合一實施例描述一特定特徵、結構或特性時,認為其在熟習此項技術者結合其他實施例(無論是否經明確描述)實現此特徵、結構或特性之認知範圍內。
在下文描述及申請專利範圍中,可使用術語「耦合」及「連接」連同其衍生詞。應瞭解,此等術語並非意欲為彼此之同義詞。「耦合」用於指示兩個或更多個元件,其等可或可不彼此直接實體接觸或電接觸,彼此協作或互動。「連接」用於指示彼此耦合之兩個或更多個元件之間的通信之建立。
一電子器件使用機器可讀媒體(亦稱為電腦可讀媒體)(諸如機器可讀儲存媒體(例如,磁碟、光碟、唯讀記憶體(ROM)、快閃記憶體器件、相變記憶體)及機器可讀傳輸媒體(亦稱為載體)(例如,電信號、光學信號、無線電信號、聲學信號或其他形式之傳播信號-諸如 載波、紅外信號)來儲存及傳輸(內部地及/或藉由其他電子器件透過一網路)程式碼(其由軟體指令組成且有時稱為電腦程式碼或電腦程式)及/或資料。因此,一電子器件(例如,一電腦)包含硬體及軟體,諸如一組一或多個處理器,其耦合至一或多個機器可讀儲存媒體以儲存程式碼以供在該組處理器上執行及/或儲存資料。例如,一電子器件可包含內含該程式碼之非揮發性記憶體,此係因為該非揮發性記憶體甚至可在該電子器件關閉時及在該電子器件開啟時存留該程式碼,其中待由該電子器件之處理器執行之該程式碼之部分從該較慢非揮發性記憶體複製至該電子器件之揮發性記憶體(例如,動態隨機存取記憶體(DRAM)、靜態隨機存取記憶體(SRAM))。典型電子器件亦包含一組一或多個實體網路介面以與其他電子器件建立網路連接(以使用傳播信號來傳輸及/或接收程式碼及/或資料)。本發明之一實施例之一或多個部分可使用軟體、韌體及/或硬體之不同組合來實施。
本文描述用於客製化使用者介面及應用程式之動態執行時間產生之方法、裝置及系統。本發明之實施例介紹一種容易界定及構造一應用程式之使用者介面而不要求具備該應用程式之基本編碼之專門知識之框架。在本發明之實施例中,一應用程式開發者(例如,一IPTV操作者)可藉由在一單個UI定義檔案內修改可表達、人類可讀定義來構造客製化應用程式。此UI定義檔案可靈活地被UE器件用於在執行時間動態地產生該應用程式,或被一伺服器終端站用於構造即用型應用程式碼(例如,HTML、CSS及/或JavaScript碼)。應用程式開發者亦可藉由構造替代UI定義檔案(其等包含將致使隨後產生之應用程式之外觀、結構及行為不同之不同定義)來快速而容易地構造該應用程式之變體。例如,可針對以下項產生不同UI定義檔案:容許不同使用者存取之不同類型之存取(例如,允許一些使用者存取某一類型之內容,且因此該UI定義檔案將包含對用於存取該內容之客製UI元件之定 義)、不同類型之UE器件(例如,對於較大或較小顯示器)、由使用者使用之不同類型之操作系統或支援應用程式。
在一實施例中,連同提供可在執行時間實例化之組件定義之一組組件定義檔案使用UI定義檔案。該等組件定義之各者可包含可透過各自UI定義檔案中之定義覆寫/變更之一組預設視覺樣式及/或行為。
在一些實施例中,該系統可經組態以使一UE裝置存取一UI定義檔案連同該組組件定義檔案以在執行時間動態地產生該應用程式。在一些實施例中,此動態產生包含將HTML元件、CSS規則及/或JavaScript碼注入至該應用程式之一基於網頁之顯示器中。
在一些實施例中,該系統可經組態以使一伺服器終端站存取一UI定義檔案連同該組組件定義檔案以產生一應用程式。在一實施例中,此產生包含產生在一使用者之UE器件處執行該應用程式必需之HTML、CSS及/或JavaScript。在另一實施例中,此產生包括基於該UI定義檔案及該組組件定義檔案產生樣式產生碼。該樣式產生碼在使用一組一或多個輸入變數之由一組調用來執行時,產生一樣式標準之一組一有效樣式規則且將該等有效樣式規則動態地注入至該應用程式中。
因此,本發明之實施例允許應用程式開發者藉由依賴於一組共用組件定義簡單而容易地修改一應用程式之外觀及功能性來產生、維持及修改客製化應用程式。此外,在本發明之實施例中,該UI定義檔案從呈現及邏輯碼(例如,超文本標示語言(HTML)碼、級聯樣式表單(CSS)規則、JavaScript碼)抽象出來,從而允許應用程式開發者替代地專注於產生該應用程式自身而非該呈現及邏輯碼及該應用程式背後之概念(例如,文件對象模型(DOM))。本發明之一些實施例使用參數化樣式規則來提供此等益處,該等參數化樣式規則可透過使用強大且可表達的調用針對多個環境及/或使用者容易地最終化成標準CSS規則。 在一些實施例中,基於該系統之特定需要,可由一中央伺服器或由對一使用者呈現該應用程式之UE器件靈活地執行最終化標準CSS規則之產生。
在一些實施例中,本文所描述之方法、裝置及系統可用於產生各種基於網路技術之應用程式,諸如由IPTV系統之使用者使用之應用程式。在一些IPTV系統中,一使用者與應用程式碼(例如,在一STB、平板電腦、智慧型電話、個人電腦等上執行之應用程式)互動以便存取IPTV內容。通常由IPTV操作者大量客製化此等應用程式,該等應用程式通常最初由一IPTV技術提供者產生。使用本發明之實施例,一IPTV操作者僅需要與一或多個UI定義檔案互動以對於其使用者產生一或多個客製化應用程式。
圖1繪示根據本發明之實施例之在一系統100中用於在執行時間在一定義檔案之控制下進行一應用程式之動態執行時間產生之階段。系統100包含三個單獨但相關的階段:一應用程式產生及執行102階段、一應用程式編輯104階段、及一組件生命週期管理108階段。
應用程式編輯104階段係由一操作者/應用程式開發者執行,該操作者/應用程式開發者可利用一基於文字或圖形之介面來輸入「設計模式」124以產生或更新一UI定義檔案。在一實施例中,此涉及啟動顯示一可編輯樣本UI定義檔案之另一UI定義編輯器網頁。該操作者接著可隨一半連續程序126開始編輯,其中在可對操作者表現一編輯之結果/影響的情況下發生互動編輯106。此互動編輯106可包含以下項之一或多者:組件選擇128(例如,選擇該等組件包含在該應用程式之客製化版本中)、定位130(例如,界定將該組件放置於UI上之何處)、參數編輯(例如,變更或設定影響其顯示或使用之一應用程式值,諸如一顏色、大小、文字等)、及/或組件實例化134(例如,載入一經界定組件供該操作者觀察一組件之當前定義版本及/或與該版本 互動)。在修改UI定義檔案之時或之後,將其保存至一伺服器終端站或一UE器件120。一UE器件為被一使用者用於經由提供對一媒體系統(諸如一IPTV系統)之存取之一應用程式存取視訊資源之一電子器件。該UE器件可為一視訊轉換盒(STB)、智慧型電話、平板電腦、膝上型電腦或桌上型電腦、可穿戴式計算器件等。
應用程式產生及執行102階段包含從一伺服器終端站或用戶端(即,UE器件)120自身擷取114一UI定義檔案122。在本發明之實施例中,該UI定義檔案包含一網頁應用程式定義語言(「WADL」)之指令。WADL為一種容許對網頁應用程式組件集合、其連接(例如,行為及互動)、及用於自動網頁應用程式產生之客製器特有參數組之描述之語言。在一實施例中,WADL用作用於程式化網頁應用程式產生之一較大系統之「外部定義」部分。在一實施例中,WADL之別名為JSON,且因此容易作為XMLHttpRequest(XHR)有效負載來輸送,容易機器寫入及機器讀取,且人類可寫入及人類可讀。WADL所使用類型之定義進一步容許內部一致性檢查及對內部可計算類型之一有效映射。此外,WADL使用之變數容許共同引用一定義,使人類寫入定義更舒適,且JavaScript透通容許在最小「費用」實現很大程度上之可表達性(對該語言之實施者或學習者)。
該UI定義檔案可包含詳述包含在該應用程式中之組件之區段(即,網頁應用程式之結構)、該應用程式之外觀、及該應用程式內之組件之行為。在一實施例中,該UI定義檔案亦包含以下項之一或多者:一版本識別符、一組「應用程式範圍」預設屬性值、及一組組件聲明。一例示性UI定義檔案之一部分在下文作為表A予以提供:
重新參考圖1,除使用UI定義檔案122外,應用程式產生及執行102階段亦包含剖析該UI定義檔案以識別所需組件,並向一框架116註冊此等組件。此時,組件生命週期管理108階段在118開始。
對於可由該UI定義檔案定義之各組件及每一子組件136,組件生命週期管理階段108包含一組件實例化子階段112,在一實施例中組件實例化子階段112可在該應用程式開始啟動時(例如,在一瀏覽器首次 載入該應用程式之一頁時)開始。在此組件實例化子階段112中,預設屬性值(如由經界定組件之定義檔案提供,其亦可包含程式碼-HTML及/或JavaScript-以提供組件功能性)將基於一組規則與來自該UI定義檔案之經定義屬性值協調(或「混合」)。在一些實施例中,該UI定義檔案之組件特有屬性值將優先於該UI定義檔案之「預設值」部分之衝突屬性值,且該UI定義檔案之「預設值」部分之屬性值將優先於由組件定義檔案設定之衝突屬性值;然而,可取決於特定組態實例之要求定義其他優先規則。
在經判定「經混合」組件預設值之情況下,組件實例化子階段112接著執行CSS參數映射140以將樣式規則應用於待放置於頁中之組件而不產生衝突。接著,將樣式規則(例如,CSS)注入至頁中。本文將隨後更詳細描述CSS參數映射。
組件實例化子階段112亦包含將UI定義參數(例如,與組件行為相關)混合144成預設組件參數。此亦可根據一優先規則發生;在一實施例中,UI定義參數優先於來自組件定義檔案之預設組件參數。
接著,(基於來自組件定義檔案之程式碼)獲得146用於必需組件之必需參數化顯示碼(例如,HTML)且將必需HTML注入至應用程式中。類似地,聚集參數化腳本碼組件定義150且分配所有必需腳本碼(例如,JavaScript)以支援組件及UI 152。因此,每一經產生組件作為一直播組件(live component)參與在框架中154。
在一實施例中,組件生命週期管理108階段亦可包含在必要時運作以消除應用程式組件之一組件破壞子階段110。例如,若一組件之一行為係移除另一組件,則可藉由以下步驟移除該另一組件:從主動使用移除任何組件特有樣式規則(例如,CSS)156;從主動使用移除158該組件之任何顯示碼(例如,HTML);及移除160對於該組件產生之任何腳本碼(例如,JavaScript)對象。
圖2繪示根據本發明之實施例之在一使用者設備器件中用於在執行時間基於一UI定義檔案動態地產生一應用程式之一流程200。將參考其他圖之例示性實施例描述此流程圖及其他流程圖之操作。然而,應瞭解,可由除參考此等其他圖所論述外之本發明實施例來執行該等流程圖之操作,且參考此等其他圖所論述之本發明實施例可執行不同於參考該等流程圖所論述之操作。
流程200包含在方塊205處,接收由操作者產生之一使用者介面(UI)定義檔案。該UI定義檔案包含複數個定義,其等指示一應用程式之部分之視覺外觀屬性、在該應用程式內出現之一組組件、及可由該等組件執行之一組行為。視需要,在方塊210處發生從一伺服器終端站跨一網路210接收該UI定義檔案,且視需要在方塊215處,發生接收該UI定義檔案作為應用程式封包之部分。
在一些實施例中,操作者透過一簡單的基於文字之介面、一拖放介面(用於將組件添加至一UI中)或兩者之一組合來產生該UI定義檔案。
流程圖200亦包含:在方塊220處,接收包含用於實施複數個組件之程式碼之一組一或多個組件定義檔案。該複數個組件包含由該UI定義檔案指示之組件組(即,該組組件之全部及可能的額外組件具有該組組件定義檔案中之定義)。
在於該方塊225處開始啟動該應用程式之後,在方塊230處讀取/剖析該UI定義檔案以識別視覺外觀屬性、該組組件及該組行為。視需要,方塊230處之剖析包含在方塊235處向應用程式之一組件框架註冊該經識別組件組作為一登錄表。
流程200亦包含:在方塊240處,基於該UI定義檔案及該組組件定義檔案動態地實例化該組組件。在一實施例中,此包含:在方塊245處,基於該UI定義檔案中定義之識別參數動態地產生表示該組組 件之HTML、CSS及JavaScript對象。
在一實施例中,此動態實例化係由一UI產生模組基於該經剖析UI定義檔案(其定義實例化哪些組件,何時實例化,及運用哪些參數)及該登錄表來執行。在一實施例中,組件可具有固有預設參數、如在該UI定義檔案中定義之每一組件之預設參數(在其「預設值」區段中-參見上文表A)、及以根據該UI定義檔案之具體實例化位準定義之參數(在其「組件」區段中)。組件參數(如在該UI定義檔案中定義且如與UI組件類別相關聯之預設值)通知動態HTML及CSS產生,其等為組件實例化之一部分。其等亦通知表示組件框架內之組件之JavaScript對象之組態。在一實施例中,此UI組件框架提供原始(尚未組態)組件且管理組件生命週期(且暗指可見度)。在一些實施例中,一部署平台為任何基於網頁之呈現應用程式,且在一實施例中,一部署平台為HTML5且因此支援可執行HTML5之任何器件,包含但不限於智慧型電話、平板電腦及傳統電腦。
據此,本發明之實施例容許在一UI定義檔案之控制下在一組有限UI建置區塊(即,組件)及其相關聯組之有限組態參數之限制範圍內進行網頁應用程式流形之執行時間構造。
圖3繪示根據本發明之一實施例之一系統300之一方塊圖,系統300包含基於參數化程式碼利用動態執行時間應用程式產生之一IPTV系統306。系統300包含一或多個內容提供者310A至310M,其將視訊資源提供給IPTV系統306(或直接提供給UE器件328),該等視訊資源最終經由一通信網路304分配/傳達給UE器件328(視需要在一使用者端308處)。通信網路304可包含促進傳達呈任何格式之資料及媒體內容之任何類型之資料網路、語音網路、廣播網路、基於IP之網路、及/或無線網路。通信網路304可使用任何熟知類型之網路拓撲及/或通信協定來實施,且可表示為或以其他方式實施為兩個或更多個網路之一 組合。
UE器件328(或檢視系統、消費者器件、用戶端器件等)為被使用者302A至302N用於經由提供對IPTV系統306之存取之一應用程式326A至326E存取視訊資源之電子器件。一組非完備UE器件328在本文予以示出且包含連接至一顯示器324A(通常為一電視,但亦可為另一類型之監控器、投影儀等)之一視訊轉換盒(STB)322。其他UE器件328包含一智慧型電話330、一平板電腦332及一膝上型或桌上型電腦334,其各者可包含一處理器、電腦可讀儲存裝置、一顯示器324B至324D、及(視需要)執行其以允許與IPTV系統306連接/互動之一應用程式326A至326E。然而,其他UE器件可實施為有線器件及/或無線器件之任一組合或任何組合,實施為任何形式之電視用戶端器件(例如,STB 322、數位視訊錄影機(DVR)、遊戲器件、電腦器件、可攜式電腦器件、消費者器件、媒體器件、通信器件、視訊處理及/或呈現器件)、器具器件、行動電話(例如,蜂巢式、IP語音(VoIP)、Wi-Fi等)、一可攜式媒體器件(例如,一個人/可攜式媒體播放器、手持型媒體播放器等)、可穿戴式器件,及/或實施為經實施以接收呈音訊、視訊及/或影像資料之任何形式之媒體內容之任何其他類型的器件。一UE器件(例如,STB 333)亦可與操作該器件之一使用者302A(即,一人員)及/或一實體相關聯。
系統300中所展示之各種UE器件(322、330、332、334)可或可不包含一各自顯示器件(例如,324A至324D)。一UE器件及顯示器件一起呈現並播放音訊、視訊及/或影像資料。一顯示器件(例如,顯示器324A)可實施為任何類型之電視、高清晰度電視(HDTV)、液晶顯示器(LCD)、發光二極體(LED)顯示器、或類似顯示系統。各種用戶端器件(例如,電視器件、遊戲器件或電腦器件)亦可與一或多個輸入器件相關聯,諸如用於接收至電視用戶端器件之使用者可選擇輸入及選擇 之一遠端控制器件、用於至遊戲器件之使用者可選擇輸入之一遊戲控制器、及/或用於至UE器件之使用者可選擇輸入之一鍵盤及/或滑鼠輸入器件。本文所描述之UE器件亦可運用其他組件之任何不同組合來實施,諸如一或多個處理器、通信組件(例如,網路介面)、記憶體組件、及/或處理及控制電路。例如,一UE器件可包含用於從IPTV系統306及/或內容提供者310A至310M接收視訊資源之網路介面、用於接收廣播及/或空中輸入且經由其可在空中接收視訊資源之介面。UE器件亦可包含用於調諧電視頻道及/或資料串流以供顯示及檢視之一或多個調諧器。
UE器件及/或顯示器可視需要包含用於協助提供至IPTV系統306之連接之IPTV應用程式(或「應用程式(app)」)326A至326E。此等IPTV應用程式326在由各自器件之處理器執行時可經組態以致使該等各自器件連接至IPTV系統306(例如,使用一組一網路介面),將請求發送至IPTV系統306(例如,對於視訊資源清單、對於視訊資源自身),從IPTV系統306接收回應(例如,來自IPTV系統306之使用者介面(UI)元件、視訊資源),在顯示器上對使用者呈現IPTV系統306之使用者介面,及/或顯示視訊資源及任何(選用)對應使用者介面(例如,播放控制、額外視訊資源、廣告等)。在本發明之一些實施例中,使用基於網頁之技術(包含HTML碼、CSS規則、JavaScript碼等之一或多者)來建置應用程式326A至326E。
在圖3之所描繪實施例中,IPTV系統306包含一或多個計算器件330,該一或多個計算器件330包含處理器334、網路介面336(用於連接至內容提供者310A至310M及/或社交網路系統320及/或UE器件328)、及電腦可讀儲存媒體332。在一些實施例中,電腦可讀儲存媒體332可儲存可由內容提供者310A至310M提供之視訊資源之副本。術語「視訊資源」通常用於指代可或可不包含音訊之視訊或影像集合; 然而,術語「視訊資源」一般亦可用於指代一多媒體內容塊,包含但不限於從任何媒體內容及/或資料源接收之任何類型之音訊、視訊及/或影像資料。如本文所描述,一視訊資源可包含所記錄視訊內容、視訊隨選(VOD)內容、OTT視訊內容、電視內容(例如,「直播」電視、「廣播」電視)、廣告、商業廣告、音樂視訊、電影、視訊剪輯、及其他媒體內容。取決於組態,IPTV系統306可經由網路304將視訊資源提供給UE器件328,但在一些組態中,UE器件328使用網路304來直接從內容提供者310A至310M存取視訊資源。
電腦可讀儲存媒體332亦可儲存其他媒體內容、後設資料、互動遊戲、基於網路之應用程式、及/或任何其他內容或資料(例如,節目指南應用程式資料、使用者介面資料、廣告內容、隱藏字幕資料、內容後設資料、搜尋結果及/或推薦等)以供IPTV系統306使用及/或供UE器件328在與IPTV系統306及/或視訊資源互動時使用。
在所描繪實施例中,一或多個計算器件330之處理器334組執行一客製化樣式模組實例340B,客製化樣式模組實例340B可使用由電腦可讀儲存媒體332儲存之客製化樣式模組碼340A來啟動。客製化樣式模組實例340B用作用於透過使用由電腦可讀儲存媒體332儲存之擴充樣式碼342及樣式產生碼344來動態地產生應用程式之系統之部分。在一實施例中,擴充樣式碼342包含遵循一樣式標準(例如,CSS)且已經修改或擴充以包含內含參數之表達式之樣式規則之部分。因此,擴充樣式碼342從總體上看不嚴格遵循該樣式標準且因此根據該樣式標準將被視為無效。客製化樣式模組實例340B可將擴充樣式碼342轉譯成樣式產生碼344。在一實施例中,樣式產生碼344為可(由計算器件330或由在UE器件324上執行之應用程式326)產生有效樣式規則348以供應用程式326使用之可執行碼。在一些實施例中,此樣式產生碼344包括JavaScript碼,但在其他實施例中,其可包含任何其他電腦可執行 碼(例如,依Python、Lua、C++、C、ML、Fortran、PHP、Ruby、VBScript、Scheme、Shell scripts、XSLT、Tcl、Java、Smalltalk、Objective C、C#、Visual Basic等寫入之程式碼)。
在一實施例中,樣式產生碼344透過一組樣式產生調用346來執行,其可視需要存在(且由計算器件330執行或直接由一UE器件324在執行時間執行)。在一實施例中,該組樣式產生調用346致使樣式產生碼344使用一組輸入變數來執行,其致使產生客製產生之樣式規則組348。現於圖4、圖5A及圖5B中更詳細呈現擴充樣式碼342、樣式產生碼344、樣式產生調用碼346及所產生之有效規則碼組348之實例。
圖4繪示根據本發明之一實施例之擴充樣式碼342及樣式產生碼344。擴充樣式碼342及樣式產生碼344用作用於動態地提供所產生之應用程式之總體解決方案之部分;特定言之,該解決方案之此等部分允許該應用程式之使用者介面之動態樣式化。
據此,在一實施例中,擴充樣式碼342包括可在經延緩可評估變換系統中使用以達到高效能、動態執行時間參數化最終化之參數化CSS檔案。在一實施例中,擴充樣式碼342經提供為包含已運用基於額外表達式之語法擴充之經修改CSS規則之一或多個輸入檔案。在一些實施例中,擴充樣式碼342係由一技術提供者產生且有目的地經構造以「曝露」透過使用包含變數415之表達式410修改之一UI之某些方面。
在一實施例中,值得注意的是,擴充樣式碼342輸入檔案自身可為其他CSS預處理軟體之輸出,諸如Less.js動態樣式表單語言。
如圖4中所描繪,所繪示擴充樣式碼342A包含兩個規則-或樣式聲明-各規則包含由表達式分隔符405隔開之樣式語法420及表達式410(使用變數415)。在此實例中,表達式分隔符405包括一開分隔符(包括一美元符號,後接一開波形括弧)及一閉分隔符(包括一閉波形括 弧),但在其他實施例中,可使用其他開閉分隔符,前提條件是其等可被一剖析器清楚地識別。在此實例中,一第一規則(對於具有匹配「.rule1」之選擇器之一類別之對象)包含三個聲明(或「子規則」),其中一「width」屬性具有一相關聯值,該相關聯值包含將該值定義為一「itemWidth」變數加上數目30之一總和之一表達式410。一第二聲明亦包含一表達式410,該表達式410指示屬性「border-style」具有由名為「borderPattern」之一變數之值表示之一相關聯屬性值。最後,第一規則亦包含一第三聲明,該第三聲明指示一「color」屬性具有由名為「defaultColor」之變數之值表示之一相關聯屬性值。一第二規則(對於具有匹配「.rule2」之選擇器之一類別之對象)類似於第一規則,此係因為其亦包含「width」、「border-style」及「color」屬性之三個聲明。然而,「width」及「color」之表達式410不同,在此,「width」之屬性值經組態以表示itemWidth變數之值的1.5倍,且「color」之屬性值經組態為來自將一變數「defaultColor」作為其引數(argument)之一「lighten()」函數之一應用程式之一結果。此lighten()函數可為作為後來產生之樣式產生碼344A之一語言之部分、由技術提供者定義或依一些其他方式實現之一函數。
擴充碼內之表達式410之格式可依各種方式來組態,在一實施例中,技術提供者僅定義將由一剖析器辨識且用於產生樣式產生碼344A之此等表達式410之一語法/語法。然而,在其他實施例中,表達式410之格式遵循一共同程式化語言之一經定義語言語法/語法。
運用表示擴充樣式碼342A之一或多個檔案,經客製化樣式模組實例340B將剖析擴充樣式碼342A並將其編譯成樣式產生碼344A。在一實施例中,樣式產生碼344A為JavaScript碼,其在被執行時將CSS規則注入至一應用程式負載中(例如,在一瀏覽器中)。在其他實施例中,樣式產生碼344A為另一語言之程式碼,其經組態以在運用經轉 譯表達式455之適當輸入引數執行時產生有效CSS。在圖4之所描繪實施例中,樣式產生碼344A包括接受itmeWidth、borderPattern及defaultColor之一組輸入變數/引數且基於該等引數之值返回一串有效CSS之一組函數。在一實施例中,樣式產生碼344A經具體設計成快速程式碼。作為一實例,在一些實施例中,其不包含任何顯式剖析。在一些實施例中,樣式產生碼344A經設計以在一特定類型之應用程式326(例如,一網路瀏覽器)內執行,經設計以在一伺服器上執行,或可靈活地藉由上述任一者來執行。
例如,在圖4之所描繪實施例中,所產生之樣式產生碼344A為有效JavaScript碼,其中各參數化CSS檔案(即,擴充樣式碼342A)經變換成樣式產生碼344A,樣式產生碼344A包括採取若干參數作為其輸入之一JavaScript函數,該等參數之一者為可供在該函數內使用之值之一映射,如在輸入參數化CSS檔案(例如,擴充樣式碼342A)中所定義。經產生之樣式產生碼344A經設計以達到高效能,且主要包含簡單的串連接操作以及在參數化CSS中表達之任何額外操作。在一些部署中,此第一步驟意欲於偶爾發生,此係因為待部署該應用程式之一初始建置步驟。
此方法(其包含使用擴充樣式碼342A來產生樣式產生碼344A)提供若干明顯優勢:以靈活性及效能為中心。此方法係靈活的原因在於其允許參數化樣式規則(例如,CSS規則)容易地「最終化」成標準規則以用於多個環境/組態。此外,此方法係高效能的原因在於此「兩步驟」方法在其「轉譯擴充樣式碼342A以產生樣式產生碼344A」之第一步驟中執行計算昂貴之態樣,其在調用樣式產生碼344A之第二步驟中花費「較少」量之計算費用(例如,在執行時間藉由一相對較不強大的UE器件)同時保留樣式參數化之能力及可表達性。
該解決方案之第二步驟包含使樣式產生碼344A部署在一環境中 且在需要時執行以獲得所期望位準之客製化。該步驟之一項實施方案可為在產生該步驟之後立即執行該步驟,以作為相同建置程序之部分。此將主要用於其中在建置時間已知有限數目之參數之一情況,此係因為匹配樣式檔案(例如,CSS檔案)接著可經產生有效地用於各組參數。因此,在一些實施例中,伺服器終端站(即,計算器件330)可直接使用樣式產生碼344A來執行「第二步驟」以藉由使用一組樣式產生調用346呼叫樣式產生碼344A來產生多組有效樣式規則348。例如,在電腦可讀儲存媒體332中,計算器件330可儲存一組樣式產生調用以用於各使用者及/或使用者介面及/或需要針對該應用程式產生之部署案例。此第二步驟之另一實施方案可為將所產生之樣式產生碼344A部署至提供該應用程式之態樣之網頁伺服器,且基於可隨各請求變化之一組參數使該等網頁伺服器「最終化」樣式規則(例如,CSS)。
該第二步驟之又一實施方案可為將所產生之樣式產生碼344A部署為伺服於瀏覽器之用戶端JavaScript檔案之部分,且使用由該用戶端應用程式擷取之參數使此樣式最終化程式碼在各使用者之瀏覽器內執行。因此,在一些實施例中,伺服器終端站(即,計算器件330)可替代地將樣式產生碼344A(直接地或間接地透過其他計算器件及/或程序)傳輸至一UE器件328,其自身將藉由使用一組樣式產生調用346呼叫樣式產生碼344A來產生多組有效樣式規則348。該組樣式產生調用346可本端儲存在UE器件328,從伺服器終端站擷取,或從另一計算器件擷取。在一實施例中,儘管相同版本之樣式產生碼344A可經傳輸至可能不同服務協定(指示該應用程式呈現何內容)之可能不同使用者之諸多不同UE器件,但該組樣式產生調用346可專用於各使用者、使用者群組、共用一共同特性之器件群組等,以允許產生完全不同的應用程式。
在本發明之此等實施例中,擴充樣式碼342(例如,參數化CSS)之剖析與最終樣式規則之產生之分離(例如,藉由調用樣式產生碼344A)係依實現樣式產生快速化且能夠在多個環境中完成之一方式來完成,該多個環境包含一瀏覽器,其中既有CSS預處理器工具不支援依此一方式使用其等或係不實用,此歸因於依此一方式使用其等帶來之效能代償。
圖5A繪示根據本發明之一實施例之樣式產生調用碼346A,其在用於調用圖4之樣式產生碼344A時導致產生所繪示之有效樣式規則348A組及客製化使用者介面525A。在此所描繪實施例中,樣式產生調用碼346A包括具有對應於樣式產生碼344A之變數/參數之複數個輸入變數525之程式碼(例如,JavaScript碼,諸如jQuery碼)。樣式產生調用碼346A包含此等輸入變數525,輸入變數525包括匹配樣式產生碼344A之經轉譯表達式455之變數之一屬性505及用作引數以調用樣式產生碼344A以便產生有效樣式規則348A組之值510。在此所描繪實例中,輸入引數包含屬性itemWidth之「50」之值510、屬性border-style之值「solid」及屬性defaultColor之值「#567A3C」。在使用此等值調用時,樣式產生碼344A將產生所繪示之有效樣式規則348A組,該有效樣式規則348A組根據樣式標準其等係有效的。作為一實例,itemWidth「50」經傳遞至樣式產生碼344A,其致使第一類別選擇器「.rule1」具有一值「80px」(基於與「px」連接之「30+itemWidth」之經轉譯表達式455),且致使第二類別選擇器「.rule2」具有一值「75px」(基於與「px」連接之「1.5*itemWidth」之經轉譯表達式455)。類似地,border-style「solid」及defaultColor「#567A3C」之輸入引數值致使第一類別選擇器具有值「solid」及「#567A3C」(正如所傳入)且致使第二類別選擇器具有值「solid dashed」及「#6A8E50」。
據此,在此實施例中,樣式產生碼344A之調用致使樣式規則應用於客製化UI 525A,客製化UI 525A包含第一組使用者識別符545A(例如,使用者「登錄」或「被偵測到使用」該應用程式)、允許使用者執行該應用程式中之功能之一組集線器選擇UI元件530組、以及一第一UI元件535A及第二UI元件540A。出於此闡釋目的,第一UI元件535A(例如,一<div>、<span>等)具有一類別「rule1」且將根據所產生之樣式規則348A組之第一規則來呈現,且第二UI元件540A具有一類別「rule2」且將根據所產生之樣式規則348A組之第二規則來呈現。在此實例中,第一UI元件535A具有長於第二UI元件540A長度(75px)之一水平長度(80px),如由所產生之樣式規則348A組指示。類似地,所產生之樣式規則348A組之「rule1」border-style致使第一UI元件535A具有四個實線邊界,且所產生之樣式規則348A組之「rule2」border-style致使第二UI元件535A具有一「solid」頂部及底部邊界、及一「dashed」左側及右側邊界。此外,所產生之樣式規則348A組之「rule1」色彩致使第一UI元件535A具有一深綠色邊界,且所產生之樣式規則348A組之「rule2」色彩致使第二UI元件535A具有一相對淡綠色的邊界。
同樣地,圖5B繪示根據本發明之一實施例之額外樣式產生調用碼346B,其在用於調用圖4之樣式產生碼344A時導致產生所繪示之有效樣式規則348B之額外組及額外客製化使用者介面525B。此額外樣式產生調用碼346B可例如被相同應用程式之另一使用者(例如,由第二使用者識別符545B表示)或相同(例如,一不同)使用者之另一器件用於產生一(不同)客製化UI 525B。在此所描繪實例中,樣式產生調用碼346B替代地包含一itemWidth「70」、一border-style「dotted」及一defaultColor「#333333」。藉由運用此等參數來調用樣式產生碼344A,所產生之有效樣式規則348B組將不同於所產生之有效樣式規 則348A組,而不管兩者皆源於相同樣式產生碼344A之使用。因此,在此實例中,第一UI元件535B現將短於第二UI元件540B,具有四個點線深灰色邊界。類似地,第二UI元件540B現將長於第一UI元件535B,具有一淡灰色點線頂部邊界及底部邊界以及淡灰色虛線右邊界及左邊界。
圖6繪示根據本發明之實施例之在一伺服器終端站(例如,計算器件330)中用於利用參數化樣式規則(即,擴充樣式碼342A)以允許一應用程式之使用者介面之動態執行時間產生之一流程600。
流程600包含:在方塊605處,將一組一或多個擴充樣式規則變換成樣式產生碼。該組擴充樣式碼規則包含樣式語法(例如,CSS規則之部分)及一組一或多個表達式兩者,包含一組一或多個變數。然而,根據該樣式語法之一樣式標準(例如,CSS),該組擴充樣式碼規則係無效的。此樣式產生碼在使用對應於該組變數之一組一或多個輸入變數由一組一或多個調用執行時根據該樣式標準產生一組一或多個有效樣式規則。
該流程亦包含:在方塊610處,使用該組輸入變數執行樣式產生碼以產生該組有效樣式規則。在一實施例中,該組輸入變數為該組調用之部分,其可為依與該樣式產生碼共用之一語言寫入之程式碼。在一實施例中,該共同語言為JavaScript,且在一實施例中,該組有效樣式規則為CSS規則。
在方塊615處,該流程進一步包含將該組有效樣式規則傳輸至一使用者之一UE器件,從而致使對該使用者呈現一客製化使用者介面。在一實施例中,該組有效樣式規則為一CSS檔案之部分,其藉由在該UE器件上執行之一瀏覽器應用程式呈現。
視需要,該流程繼續藉由使用另一組輸入變數執行該樣式產生碼以產生另一組有效樣式規則(在方塊620處)及將該另一組有效樣式 規則傳輸至另一使用者之另一UE器件,其致使對該另一使用者呈現另一客製化使用者介面(在方塊625處)。方塊620及625可視需要執行一或多次,以容易而有效地對該應用程式/系統之不同使用者提供客製化使用者介面。在一實施例中,該等使用者介面具有允許使用者存取由一IPTV系統提供之內容之一IPTV應用程式。
如上文所描述,該樣式產生碼可由各種不同器件在各種位置中執行。例如,該樣式產生碼可在一UE器件處執行。
圖7繪示根據本發明之實施例之在一伺服器終端站(例如,計算器件330)中用於利用參數化樣式規則(即,擴充樣式碼342A)以允許一應用程式之使用者介面之動態執行時間產生之一流程700。圖7之操作類似於圖6之操作,惟該伺服器終端站將該樣式產生碼傳輸至一UE器件除外,該UE器件接著經組態以執行該樣式產生碼。
流程700包含:在方塊705處,將一組一或多個擴充樣式規則變換成樣式產生碼。該組擴充樣式碼規則包含樣式語法(例如,CSS規則之部分)及一組一或多個表達式兩者,包含一組一或多個變數。然而,根據該樣式語法之一樣式標準(例如,CSS),該擴充樣式碼規則組係無效的。此樣式產生碼在使用對應於該組變數之一組一或多個輸入變數由一組一或多個調用執行時根據該樣式標準產生一組一或多個有效樣式規則。該流程亦包含:在方塊710處,將該樣式產生碼傳輸至一使用者之一UE器件。
圖8繪示根據本發明之實施例之在一使用者設備器件中用於將由一伺服器終端站產生之樣式產生碼用於一應用程式之使用者介面之動態執行時間產生之一流程800。流程800包含:在方塊805處,在該UE器件之一組網路介面處從一伺服器終端站接收樣式產生碼。該樣式產生碼在使用對應於該組變數之一組一或多個輸入變數由一組一或多個調用執行時,產生一樣式標準之一組一或多個有效樣式規則並將該等 有效樣式規則動態地注入至一應用程式中。在一實施例中,該等樣式規則為CSS規則,且在各項實施例中,該應用程式可為在一瀏覽器中執行之一網頁應用程式或一專用應用程式。
視需要,流程800包含:在方塊810處,使用該組輸入變數從該伺服器終端站接收該組調用。然而,在其他實施例中,該組調用產生於該UE器件處(例如,提供一使用者介面以請求該等調用之引數/值)或擷取自一不同伺服器終端站或不同UE器件。
在方塊815處,該流程進一步包含由於根據該組調用執行該樣式產生碼而致使對使用者呈現客製化使用者介面。該使用者介面包含根據該組有效樣式規則樣式化之一組一或多個使用者介面元件。
儘管圖4至圖8專注於樣式規則之動態產生,但本發明之實施例亦能夠使用類似系統動態地產生一應用程式之其他部分,包含但不限於組件及行為。雖然實施例已關於一IPTV系統予以描述,但替代實施例可替代地用於使用可客製化應用程式之其他系統。例如,本發明之實施例可用於幾乎任何類型之網頁應用程式/網站,其可從將客製化「視圖」提供至顯現不同介面、樣式、功能、組件及/或行為之一應用程式中獲益。
雖然本文所揭示之實施例將CSS描述為用作一樣式標準及樣式表單語言,但本發明之範疇不限於將CSS用作該唯一樣式表單語言,此係因為可使用其他樣式表單語言。
此外,雖然本文所揭示之諸多實施例專注於樣式規則(例如,CSS)之參數化,但本發明之範疇不如此受限。替代地,在本發明之各項實施例中,其他類型之電腦程式碼可依此方式參數化,包含但不限於可形成一應用程式之部分之結構及/或行為組件碼(例如,JavaScript)、顯示碼(例如,HTML)、及幾乎任何其他類型之程式碼,而不管其是一網頁應用程式還是其他類型之應用程式。
雖然圖中之流程圖展示由本發明之某些實施例執行之一特定次序操作,但應瞭解,此次序為例示性(例如,替代實施例可依一不同次序執行該等操作,組合某些操作,重疊某些操作等)。
此外,雖然本發明已關於若干實施例予以描述,但熟習此項技術者將認知,本發明不限於所描述實施例,可在隨附申請專利範圍之精神及範疇內作出修改及更改。本發明描述因此應被視為闡釋性而非限制性。
100‧‧‧系統
102‧‧‧應用程式(APP)產生及執行階段
104‧‧‧應用程式(APP)編輯階段
106‧‧‧互動編輯
108‧‧‧組件生存週期管理階段
110‧‧‧組件破壞子階段
112‧‧‧組件實例化子階段
114‧‧‧獲取使用者介面(UI)定義檔案
116‧‧‧向框架註冊組件
118‧‧‧連續管理組件生命週期/可見度
120‧‧‧伺服器終端站/使用者設備(UE)器件/用戶端
122‧‧‧使用者介面(UI)定義檔案
124‧‧‧設計模式
126‧‧‧半連續程序
128‧‧‧組件選擇
130‧‧‧定位
132‧‧‧參數編輯
134‧‧‧組件實例化
136‧‧‧子階段
138‧‧‧混合組件預設值與使用者介面(UI)定義
140‧‧‧執行級聯樣式表單(CSS)參數映射
142‧‧‧注入級聯樣式表單(CSS)
144‧‧‧將UI定義參數混合成組件參數
146‧‧‧獲得參數HTML
148‧‧‧注入HTML
150‧‧‧參數化JS組件定義
152‧‧‧分配JS OBJ
154‧‧‧作為框架中之直播組件參與
156‧‧‧移除CSS
158‧‧‧移除HTML
160‧‧‧解除分配JS對象

Claims (20)

  1. 一種在一伺服器終端站(130)中用於對一應用程式(126)有效地提供客製化使用者介面(325A)之方法,該方法包括:將一組一或多個擴充樣式規則(142A)變換成樣式產生碼(144A),其中該組擴充樣式規則(142A)包含樣式語法(220)及一組一或多個表達式(210)兩者,包含一組一或多個變數(215),其中根據該樣式語法(220)之一樣式標準,該組擴充樣式規則(142A)係無效的,且其中該樣式產生碼(144A)在使用對應於該組變數(215)之一組一或多個輸入變數(315)由一組一或多個調用(146A)執行時,根據該樣式標準產生一組一或多個有效樣式規則(148A);及將該樣式產生碼(144A)傳輸至一使用者(102A)之一使用者設備(UE)器件(128A),該樣式產生碼(144A)在由該使用者設備器件(128A)執行時致使對該使用者(102A)呈現一客製化使用者介面(325A)。
  2. 如請求項1之方法,其中該樣式標準為一級聯樣式表單(CSS)標準。
  3. 如請求項1之方法,其中該樣式產生碼(144A)包括JavaScript碼。
  4. 如請求項1之方法,其進一步包括:使用該組輸入變數(315)來將該組調用(146A)傳輸至該UE器件(128A)。
  5. 如請求項1之方法,其中該應用程式(126)之該客製化使用者介面(325A)為一網際網路協定電視(IPTV)應用程式之部分。
  6. 一種在一使用者設備(UE)器件(128A)中用於對一應用程式(126)產生一客製化使用者介面(325A)之方法,其包括: 在該UE器件(128A)之一組網路介面處,從一伺服器終端站(130)接收樣式產生碼(144A),其中該樣式產生碼(144A)在使用一組一或多個輸入變數(315)由一組一或多個調用(146A)執行時,產生一樣式標準之一組一或多個有效樣式規則(148A)並將該等有效樣式規則(148A)動態地注入至該應用程式(126)中;及由於根據該組調用(146A)執行該樣式產生碼(144A)而致使對該使用者(102A)呈現該客製化使用者介面(325A),其中該使用者介面(325A)包含根據該組有效樣式規則(148A)樣式化之一組一或多個使用者介面元件(335A、340A)。
  7. 如請求項6之方法,其進一步包括:根據該組調用(146A)一執行該樣式產生碼(144A)以產生該組有效樣式規則(148A)。
  8. 如請求項6之方法,其進一步包括:使用該組輸入變數(315),從該伺服器終端站(130)接收該組調用(146A)。
  9. 如請求項6之方法,其中該樣式標準為一級聯樣式表單(CSS)標準。
  10. 如請求項6之方法,其中該樣式產生碼(144A)包括JavaScript碼。
  11. 一種儲存指令之非暫時性電腦可讀儲存媒體(132),該等指令在由一計算器件(130)之一組一或多個處理器(134)執行時,致使該計算器件(130)藉由執行以下操作對一應用程式(126)有效地提供客製化使用者介面(325A),該等操作包括:將一組一或多個擴充樣式規則(142A)變換成樣式產生碼(144A),其中該組擴充樣式規則(142A)包含樣式語法(220)及一組一或多個表達式(210)兩者,包含一組一或多個變數(215),其中根據該樣式語法(220)之一樣式標準,該組擴充樣式規則 (142A)係無效的,且其中該樣式產生碼(144A)在使用對應於該組變數(215)之一組一或多個輸入變數(315)由一組一或多個調用(146A)執行時,根據該樣式標準產生一組一或多個有效樣式規則(148A);及將該樣式產生碼(144A)傳輸至一使用者(102A)之一使用者設備(UE)器件(128A),該樣式產生碼(144A)在由該使用者設備器件(128A)執行時致使對該使用者(102A)呈現一客製化使用者介面(325A)。
  12. 如請求項11之非暫時性電腦可讀儲存媒體(132),其中該樣式標準為一級聯樣式表單(CSS)標準。
  13. 如請求項11之非暫時性電腦可讀儲存媒體(132),其中該樣式產生碼(144A)包括JavaScript碼。
  14. 如請求項11之非暫時性電腦可讀儲存媒體(132),其中該等操作進一步包括:使用該組輸入變數(315)來將該組調用(146A)傳輸至該UE器件(128A)。
  15. 如請求項11之非暫時性電腦可讀儲存媒體(132),其中該應用程式之該客製化使用者介面(325A)為一網際網路協定電視(IPTV)應用程式之部分。
  16. 一種儲存指令之非暫時性電腦可讀儲存媒體(132),該等指令在由一計算器件(130)之一組一或多個處理器(134)執行時,致使該計算器件(130)藉由執行以下操作而產生用於一應用程式(126)之一客製化使用者介面(325A),該等操作包括:在該計算器件(130)之一組網路介面處,從一伺服器終端站(130)接收樣式產生碼(144A),其中該樣式產生碼(144A)在使用一組一或多個輸入變數(315)由一組一或多個調用(146A)執行 時,產生一樣式標準之一組一或多個有效樣式規則(148A)並將該等有效樣式規則(148A)動態地注入至該應用程式(126)中;及由於根據該組調用(146A)執行該樣式產生碼(144A)而致使對該使用者(102A)呈現該客製化使用者介面(325A),其中該使用者介面(325A)包含根據該組有效樣式規則(148A)樣式化之一組一或多個使用者介面元件(335A、340A)。
  17. 如請求項16之非暫時性電腦可讀儲存媒體(132),其中該等操作進一步包括:根據該組調用(146A)執行該樣式產生碼(144A)以產生該組有效樣式規則(148A)。
  18. 如請求項16之非暫時性電腦可讀儲存媒體(132),其中該等操作進一步包括:使用該組輸入變數(315),從該伺服器終端站(130)接收該組調用(146A)。
  19. 如請求項16之非暫時性電腦可讀儲存媒體(132),其中該樣式標準為一級聯樣式表單(CSS)標準。
  20. 如請求項16之非暫時性電腦可讀儲存媒體(132),其中該樣式產生碼(144A)包括JavaScript碼。
TW104107653A 2014-03-11 2015-03-10 用於客製化應用程式之動態執行時間產生之方法與系統 TWI515583B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201461951514P 2014-03-11 2014-03-11
US14/287,882 US20150264423A1 (en) 2014-03-11 2014-05-27 Methods and systems for dynamic runtime generation of customized applications

Publications (2)

Publication Number Publication Date
TW201546631A TW201546631A (zh) 2015-12-16
TWI515583B true TWI515583B (zh) 2016-01-01

Family

ID=54068956

Family Applications (1)

Application Number Title Priority Date Filing Date
TW104107653A TWI515583B (zh) 2014-03-11 2015-03-10 用於客製化應用程式之動態執行時間產生之方法與系統

Country Status (7)

Country Link
US (2) US9189207B2 (zh)
EP (1) EP3117304B1 (zh)
CN (1) CN106233250A (zh)
BR (1) BR112016020142B1 (zh)
CA (1) CA2942206C (zh)
TW (1) TWI515583B (zh)
WO (2) WO2015136447A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI648682B (zh) * 2017-05-05 2019-01-21 如如研創股份有限公司 軟體的自動化產生系統

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2463329B (en) 2008-09-10 2013-02-20 Echostar Advanced Technologies L L C Set-top box emulation system
CN104063415B (zh) * 2014-02-27 2018-07-10 优视科技有限公司 显示网页自定义内容的方法及系统
ES2545974B1 (es) * 2014-03-17 2016-04-27 Bankinter, S.A. Sistema de protección automático y personalizado para aplicaciones móviles
CN104238746B (zh) * 2014-08-25 2019-02-05 联想(北京)有限公司 信息处理方法及电子设备
US9432734B2 (en) 2014-09-10 2016-08-30 Telefonaktiebolaget L M Ericsson (Publ) Multi-person and multi-device content personalization
US10963539B2 (en) 2014-09-10 2021-03-30 Mk Systems Usa Inc. Interactive web application editor
US9632991B2 (en) 2014-09-15 2017-04-25 Oracle International Corporation High performant and high fidelity previews for CSS preprocessing frameworks
US9996230B2 (en) * 2014-11-13 2018-06-12 Microsoft Technology Licensing, Llc Using sections for customization of applications across platforms
CN105786924B (zh) * 2014-12-25 2020-03-31 广州市动景计算机科技有限公司 网页夜间模式处理方法、装置及移动终端
EP3281391B1 (en) 2015-04-09 2022-07-27 OMRON Corporation Web enabled interface for an embedded server
KR102529142B1 (ko) * 2015-05-12 2023-05-03 미네우스 )( 에스.알.오. 소프트웨어 애플리케이션의 테스트 프로세스를 자동화하기 위한 방법 및 시스템
US11016646B1 (en) * 2016-03-22 2021-05-25 Open Text Corporation Method and mechanism for context driven alteration of UI artifacts instances behavior using expression based pluggable UI aspects
US9824075B1 (en) * 2016-03-31 2017-11-21 Google Inc. System and method for interaction coverage
CN106020808A (zh) * 2016-05-13 2016-10-12 北京金山安全软件有限公司 一种锁屏界面的开发方法、装置及电子设备
US10409565B2 (en) * 2017-03-30 2019-09-10 Ice Tea Group Llc Pixel perfect real-time web application framework
CN107133035A (zh) * 2017-04-25 2017-09-05 东莞中国科学院云计算产业技术创新与育成中心 响应式网页生成方法和装置
CN107278290A (zh) * 2017-05-16 2017-10-20 深圳市创客工场科技有限公司 积木式编程转换成程序代码的方法及装置
US10268657B2 (en) 2017-06-06 2019-04-23 Tealium Inc. Configuration of content site user interaction monitoring in data networks
CN108965930B (zh) * 2017-12-29 2021-05-28 视联动力信息技术股份有限公司 一种视频数据处理的方法和装置
CN108399088B (zh) * 2018-01-19 2022-02-15 北京奇艺世纪科技有限公司 页面展示方法、用户终端、页面服务器及样式配置服务器
CN110727482B (zh) * 2018-07-16 2023-05-12 阿里巴巴集团控股有限公司 一种界面的更新方法和装置
US11380031B2 (en) * 2018-11-16 2022-07-05 Cimpress Schweiz Gmbh Technology for enabling elastic graphic design
CN111324347B (zh) * 2020-02-06 2023-08-18 北京字节跳动网络技术有限公司 组件构造方法、装置、系统、页面生成方法、设备及介质
US11650831B2 (en) * 2020-04-30 2023-05-16 Salesforce, Inc. Enhancement of application service engagement based on user behavior
KR20210156523A (ko) * 2020-06-18 2021-12-27 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피. 사용자 인터페이스 정의 파일을 이용한 사용자 인터페이스 표시
JP7552307B2 (ja) * 2020-11-30 2024-09-18 ブラザー工業株式会社 情報処理装置およびプログラム

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020049867A1 (en) * 2000-08-29 2002-04-25 Yoshitomo Kumagai Application transfer method, application transfer system and storage medium therefore
US20020085033A1 (en) * 2000-12-27 2002-07-04 G.E. Information Services, Inc. Process for generating a user interface in a data processing system
CA2364628A1 (en) * 2001-12-04 2003-06-04 Kevin W. Jameson Collection role changing gui
US20030160822A1 (en) * 2002-02-22 2003-08-28 Eastman Kodak Company System and method for creating graphical user interfaces
AU2004244637B2 (en) 2003-05-29 2008-04-17 Eat.Tv,Inc. System for presentation of multimedia content
US7562131B2 (en) * 2004-06-25 2009-07-14 Intel Corporation UPnP user interface system and method
US20060041879A1 (en) 2004-08-19 2006-02-23 Bower Shelley K System and method for changing defined user interface elements in a previously compiled program
US20070168872A1 (en) * 2006-01-19 2007-07-19 Raytheon Company Multi-monitor, multi-JVM java GUI infrastructure with layout via XML
CN101444089B (zh) * 2006-05-19 2011-08-03 诺基亚西门子通信有限责任两合公司 利用非实时传输记录电视节目的方法和系统
US7908551B2 (en) * 2006-06-29 2011-03-15 Google Inc. Dynamically generating customized user interfaces
US7685168B2 (en) * 2007-08-31 2010-03-23 International Business Machines Corporation Removing web application flicker using AJAX and page templates
US8281287B2 (en) * 2007-11-12 2012-10-02 Finocchio Mark J Compact, portable, and efficient representation of a user interface control tree
CN101202665B (zh) * 2007-12-06 2011-04-13 中兴通讯股份有限公司 图形用户界面的生成方法
CN101216838B (zh) * 2008-01-15 2011-08-10 中兴通讯股份有限公司 基于web标记的xml界面配置文件分发系统及方法
US9081591B2 (en) * 2008-06-27 2015-07-14 Kyocera Corporation User interface generation apparatus
US9292307B2 (en) * 2008-07-30 2016-03-22 Kyocera Corporation User interface generation apparatus
WO2010024357A1 (ja) * 2008-08-28 2010-03-04 京セラ株式会社 ユーザインタフェース生成装置
JP5518716B2 (ja) * 2008-08-28 2014-06-11 京セラ株式会社 ユーザインタフェース生成装置
GB2463329B (en) * 2008-09-10 2013-02-20 Echostar Advanced Technologies L L C Set-top box emulation system
EP2530583B1 (en) * 2011-05-31 2019-11-27 Accenture Global Services Limited Computer-implemented method, system and computer program product for displaying a user interface component
CN102693323B (zh) 2012-06-06 2015-01-28 新浪网技术(中国)有限公司 级联样式表解析方法及解析器、网页展示方法及服务器

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI648682B (zh) * 2017-05-05 2019-01-21 如如研創股份有限公司 軟體的自動化產生系統

Also Published As

Publication number Publication date
WO2015136445A1 (en) 2015-09-17
BR112016020142B1 (pt) 2022-11-22
US20150261506A1 (en) 2015-09-17
BR112016020142A2 (zh) 2017-08-15
EP3117304B1 (en) 2018-07-25
TW201546631A (zh) 2015-12-16
US9189207B2 (en) 2015-11-17
CN106233250A (zh) 2016-12-14
CA2942206A1 (en) 2015-09-17
CA2942206C (en) 2022-11-08
EP3117304A1 (en) 2017-01-18
US20150264423A1 (en) 2015-09-17
WO2015136447A1 (en) 2015-09-17

Similar Documents

Publication Publication Date Title
TWI515583B (zh) 用於客製化應用程式之動態執行時間產生之方法與系統
US11693915B2 (en) Interactive web application editor
Soares et al. Ginga-NCL: Declarative middleware for multimedia IPTV services
CN111026396B (zh) 页面渲染方法、装置、电子设备及存储介质
CN110308908B (zh) 应用的配置文件的生成和应用页面的展示方法、装置及存储介质
US11706331B2 (en) Information processing method and apparatus, storage medium, and electronic device
CN108170430B (zh) 一种界面展示的方法及系统
CN110874217A (zh) 快应用的界面显示方法、装置及存储介质
CN113778419B (zh) 多媒体数据的生成方法、装置、可读介质及电子设备
CN110865863B (zh) 快应用的界面显示方法、装置及存储介质
Guedes et al. Extending multimedia languages to support multimodal user interactions
Pequeno et al. FrameIDTV: a framework for developing interactive applications on digital television environments
CN115994517A (zh) 信息处理方法、装置、存储介质、设备及程序产品
CN111338961B (zh) 应用调试方法及装置、电子设备及存储介质
CN114500731A (zh) 一种广告显示方法及电子设备
CN111857782A (zh) 界面更新方法、装置、计算机设备和存储介质
Kudumakis et al. MPEG-M: A digital media ecosystem for interoperable applications
Honkala et al. A device independent xml user agent for multimedia terminals
CN118069137B (zh) 页面渲染方法、装置、计算机设备及计算机可读存储介质
Rodriguez-Alsina et al. Analysis of the TV interactive content convergence and cross-platform adaptation
KR20220012031A (ko) 인터랙티브 미디어 제작용 api를 이용하여 미디어를 제작하고 이를 재생하는 방법 및 장치
CN116932391A (zh) 一种嵌入html5的第三方应用程序调试方法及系统
Mlakar et al. A NEW DISTRIBUTED PLATFORM FOR CLIENT-SIDE FUSION OF WEB APPLICATIONS AND NATURAL MODALITIES—A MULTIMODAL WEB PLATFORM
CN118057305A (zh) 交互数据处理方法、装置、电子设备和存储介质
Epelde Unanue User Interface Abstraction for enabling TV set based Inclusive Access to the Information Society