桌面應(yīng)用程序的實(shí)現(xiàn)方法和裝置制造方法
【專利摘要】本發(fā)明公開了一種桌面應(yīng)用程序的實(shí)現(xiàn)方法和裝置,所述桌面應(yīng)用程序的實(shí)現(xiàn)方法包括步驟:Web模塊開發(fā)并顯示應(yīng)用界面;Web模塊根據(jù)用戶通過所述應(yīng)用界面發(fā)送的操作指令,向Web服務(wù)器模塊發(fā)送Http或/和Websocket請(qǐng)求;Web服務(wù)器模塊處理所述Http或/和Websocket請(qǐng)求,將處理結(jié)果返回所述Web模塊;Web模塊將所述處理結(jié)果顯示于所述應(yīng)用界面。從而滿足標(biāo)準(zhǔn)的Web規(guī)范的桌面應(yīng)用程序得以實(shí)現(xiàn),既具有業(yè)務(wù)邏輯和界面分離的特性,以及業(yè)務(wù)邏輯和界面復(fù)用的效果,有利于提高開發(fā)效率;又不局限于單一操作系統(tǒng),可在Windows、Mac、Linux等操作系統(tǒng)上實(shí)現(xiàn),輕松實(shí)現(xiàn)了跨平臺(tái)開發(fā),提高了開發(fā)效率;同時(shí)學(xué)習(xí)成本低,在開發(fā)人員方面有更多的選擇,降低了開發(fā)成本。
【專利說明】桌面應(yīng)用程序的實(shí)現(xiàn)方法和裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及信息【技術(shù)領(lǐng)域】,尤其是涉及一種桌面應(yīng)用程序的實(shí)現(xiàn)方法和裝置。
【背景技術(shù)】
[0002]傳統(tǒng)的桌面應(yīng)用程序的實(shí)現(xiàn)方法,不能將業(yè)務(wù)邏輯和應(yīng)用界面進(jìn)行分離,同時(shí)業(yè)務(wù)邏輯和應(yīng)用界面也不能復(fù)用。例如傳統(tǒng)的Windows架構(gòu),其類似于MVC (Model ViewControlle,模型一視圖一控制器)的架構(gòu)模型,應(yīng)用界面用WTL (Windows TemplateLibrary)來搭建,在Controller (控制器)中塞入業(yè)務(wù)邏輯。在需要向桌面應(yīng)用程序中加入動(dòng)畫效果時(shí),往往需要花費(fèi)很長(zhǎng)時(shí)間來開發(fā)。因此,這種實(shí)現(xiàn)方法的開發(fā)效率較低。
[0003]另外一種比較流行的解決方案是Directn,其利用XML作為配置文件來描述應(yīng)用界面,使用C++等高效本地語言來實(shí)現(xiàn)業(yè)務(wù)邏輯,用Lua、Python這樣的腳本來做粘合。從而能夠在保持高性能的同時(shí),提供更漂亮的界面效果。但這種方案是封閉的而非開源的,學(xué)習(xí)成本比較高,從而提高了開發(fā)成本。
【發(fā)明內(nèi)容】
[0004]本發(fā)明的主要目的在于提供一種桌面應(yīng)用程序的實(shí)現(xiàn)方法和裝置,旨在提高開發(fā)效率,降低開發(fā)成本。
[0005]為達(dá)以上目的,本發(fā)明提出一種桌面應(yīng)用程序的實(shí)現(xiàn)方法,包括步驟:
[0006]Web模塊開發(fā)并顯示應(yīng)用界面;
[0007]Web模塊根據(jù)用戶通過所述應(yīng)用界面發(fā)送的操作指令,向Web服務(wù)器模塊發(fā)送Http 或 / 和 Websocket 請(qǐng)求;
[0008]Web服務(wù)器模塊處理所述Http或/和Websocket請(qǐng)求,將處理結(jié)果返回所述Web模塊;
[0009]Web模塊將所述處理結(jié)果顯示于所述應(yīng)用界面。
[0010]優(yōu)選地,所述Web模塊開發(fā)并顯示應(yīng)用界面包括:
[0011]Web模塊通過HTML超文本標(biāo)記語言和CSS層疊樣式表開發(fā)應(yīng)用界面,通過Webkit顯示所述應(yīng)用界面。
[0012]優(yōu)選地,所述Web服務(wù)器模塊處理所述Http或/和Websocket請(qǐng)求包括:
[0013]Web服務(wù)器模塊解析所述Http或/和Websocket請(qǐng)求;
[0014]Web服務(wù)器模塊根據(jù)解析結(jié)果,調(diào)用對(duì)應(yīng)的業(yè)務(wù)邏輯處理所述Http或/和Websocket 請(qǐng)求。
[0015]優(yōu)選地,所述Web服務(wù)器模塊包括Http服務(wù)器或/和Websocket服務(wù)器。
[0016]優(yōu)選地,所述Web服務(wù)器模塊的運(yùn)行方式包括:作為系統(tǒng)服務(wù)器獨(dú)立運(yùn)行、以可執(zhí)行程序運(yùn)行或與應(yīng)用界面關(guān)聯(lián)運(yùn)行。
[0017]本發(fā)明同時(shí)提出一種桌面應(yīng)用程序的實(shí)現(xiàn)裝置,包括Web模塊和Web服務(wù)器模塊,其中:[0018]Web模塊,用于開發(fā)并顯示應(yīng)用界面,根據(jù)用戶通過所述應(yīng)用界面發(fā)送的操作指令,向Web服務(wù)器模塊發(fā)送Http或/和Websocket請(qǐng)求,并將所述Web服務(wù)器模塊返回的處理結(jié)果顯示于所述應(yīng)用界面;
[0019]Web服務(wù)器模塊,用于處理所述Http或/和Websocket請(qǐng)求,并將處理結(jié)果返回所述Web模塊。
[0020]優(yōu)選地,所述Web模塊用于:通過HTML超文本標(biāo)記語言和CSS層疊樣式表開發(fā)應(yīng)用界面,通過Webkit顯示所述應(yīng)用界面。
[0021]優(yōu)選地,所述Web服務(wù)器模塊用于:解析所述Http或/和Websocket請(qǐng)求,根據(jù)解析結(jié)果,調(diào)用對(duì)應(yīng)的業(yè)務(wù)邏輯處理所述Http或/和Websocket請(qǐng)求。
[0022]本發(fā)明所提供的一種桌面應(yīng)用程序的實(shí)現(xiàn)方法,由前端的Web模塊基于開源的瀏覽器引擎開發(fā)并顯示應(yīng)用界面,并采用基于Http和Websocket的Web技術(shù)與后端的Web服務(wù)器模塊進(jìn)行實(shí)時(shí)交互,使得滿足標(biāo)準(zhǔn)的Web規(guī)范的桌面應(yīng)用程序得以實(shí)現(xiàn)。既具有業(yè)務(wù)邏輯和界面分離的特性,以及業(yè)務(wù)邏輯和界面復(fù)用的效果,有利于提高開發(fā)效率;又不局限于單一操作系統(tǒng),可在Windows、Mac、Linux等操作系統(tǒng)上實(shí)現(xiàn),輕松實(shí)現(xiàn)了跨平臺(tái)開發(fā),提高了開發(fā)效率;同時(shí)學(xué)習(xí)成本低,在開發(fā)人員方面有更多的選擇,降低了開發(fā)成本。
【專利附圖】
【附圖說明】
[0023]圖1是本發(fā)明的桌面應(yīng)用程序的實(shí)現(xiàn)方法一實(shí)施例的流程圖;
[0024]圖2是本發(fā)明的桌面應(yīng)用程序的實(shí)現(xiàn)裝置一實(shí)施例的結(jié)構(gòu)框圖。
[0025]本發(fā)明目的的實(shí)現(xiàn)、功能特點(diǎn)及優(yōu)點(diǎn)將結(jié)合實(shí)施例,參照附圖做進(jìn)一步說明。
【具體實(shí)施方式】
[0026]應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0027]本發(fā)明提出的一種桌面應(yīng)用程序的實(shí)現(xiàn)方法,使用基于Web的方式來開發(fā)桌面應(yīng)用程序,由前端和后端共同完成。后端與前端運(yùn)行在同一臺(tái)PC上,后端可以有三種不同的運(yùn)行方式:(I)作為系統(tǒng)服務(wù)器獨(dú)立運(yùn)行;(2)以可執(zhí)行程序運(yùn)行;(3)與應(yīng)用界面捆綁在一起,關(guān)聯(lián)運(yùn)行。所謂基于Web的方式,就是在整個(gè)桌面應(yīng)用程序內(nèi)部,絕大部分的應(yīng)用界面設(shè)計(jì)和通信模式都和Web應(yīng)用程序類似,用HTML (Hypertext Markup Language,超文本標(biāo)記語言)以及CSS (Cascading Style Sheets,層疊樣式表)、JS (JavaScript)來開發(fā)界面,通過Ajax等調(diào)用來獲取數(shù)據(jù)。為了提高整個(gè)Web體驗(yàn),內(nèi)嵌一個(gè)Webkit內(nèi)核,來保證前端開發(fā)的簡(jiǎn)易性。
[0028]其中,HTML是用于描述網(wǎng)頁文檔的一種標(biāo)記語言,是標(biāo)準(zhǔn)通用標(biāo)記語言下的一個(gè)應(yīng)用;CSS是一種用來表現(xiàn)HTML或XML等文件樣式的計(jì)算機(jī)語言;JS是一種基于對(duì)象和事件驅(qū)動(dòng)并具有相對(duì)安全性的客戶端腳本語言,同時(shí)也是一種廣泛用于客戶端Web開發(fā)的腳本語言,常用來給HTML網(wǎng)頁添加動(dòng)態(tài)功能,比如響應(yīng)用戶的各種操作;WebKit是一個(gè)開源的瀏覽器引擎,包含WebCore排版引擎和JSCore引擎,均是從KDE的KHTML及KJS引擎衍生而來,它們都是自由軟件,在GPL條約下授權(quán),同時(shí)支持BSD系統(tǒng)的開發(fā)。
[0029]參見圖1,提出本發(fā)明的桌面應(yīng)用程序的實(shí)現(xiàn)方法一實(shí)施例,所述桌面應(yīng)用程序的實(shí)現(xiàn)方法包括以下步驟:[0030]步驟SlOUWeb模塊開發(fā)并顯示應(yīng)用界面
[0031]本實(shí)施例中,前端為Web模塊,后端為Web服務(wù)器模塊。Web模塊內(nèi)嵌Webkit內(nèi)核,通過HTML、CSS及JS開發(fā)應(yīng)用界面,通過Webkit顯示應(yīng)用界面。用戶通過操作應(yīng)用界面來向Web模塊發(fā)送操作指令。
[0032]步驟S102、Web模塊根據(jù)用戶的操作指令,向Web服務(wù)器模塊發(fā)送Http或/和Websocket 請(qǐng)求
[0033]Web模塊收到用戶的操作指令后,可以采用兩種調(diào)用方式。一種是同步調(diào)用,將調(diào)用封裝成Http (Hypertext Transfer Protocol,超文本傳輸協(xié)議)請(qǐng)求發(fā)送至Web服務(wù)器模塊;另一種是異步調(diào)用,將調(diào)用封裝成Websocket請(qǐng)求發(fā)送至Web服務(wù)器模塊。所述Http是超文本在互聯(lián)網(wǎng)上的傳輸協(xié)議。所述WebSocket是HTML5 —種新的協(xié)議,WebSocket規(guī)范的目標(biāo)是在瀏覽器中實(shí)現(xiàn)和服務(wù)器端雙向通信,從而可以拓展應(yīng)用類型,例如實(shí)時(shí)的數(shù)據(jù)推送(股票行情)、游戲、聊天等。
[0034]步驟S103、Web服務(wù)器模塊處理Http或/和Websocket請(qǐng)求,將處理結(jié)果返回Web模塊
[0035]Web服務(wù)器模塊收到Http或/和Websocket請(qǐng)求后,按照一定的規(guī)則對(duì)請(qǐng)求進(jìn)行解析,然后根據(jù)解析結(jié)果,調(diào)用對(duì)應(yīng)的業(yè)務(wù)邏輯處理Http或/和Websocket請(qǐng)求。Web服務(wù)器模塊對(duì)業(yè)務(wù)邏輯進(jìn)行了封裝,可以封裝成DLL (Dynamic Link Library,動(dòng)態(tài)鏈接庫),用任意語言來實(shí)現(xiàn)。Web服務(wù)器模塊包括Http服務(wù)器或/和Websocket服務(wù)器,Http服務(wù)器用于解析和處理Http請(qǐng)求,Websocket服務(wù)器用于解析和處理Websocket請(qǐng)求。
[0036]步驟S104、Web模塊將處理結(jié)果顯示于應(yīng)用界面
[0037]從而基于Web的桌面應(yīng)用程序得以實(shí)現(xiàn),完成對(duì)該桌面應(yīng)用程序的操作。
[0038]據(jù)此,本發(fā)明的桌面應(yīng)用程序的實(shí)現(xiàn)方法,前端基于Webkit內(nèi)核,用Html、CSS、JS技術(shù)開發(fā)應(yīng)用界面,并采用基于Http和Websocket的Web技術(shù)與后端進(jìn)行實(shí)時(shí)交互,使得滿足標(biāo)準(zhǔn)的Web規(guī)范的桌面應(yīng)用程序得以實(shí)現(xiàn),因此具有以下優(yōu)點(diǎn):
[0039](I)由前端與后端分離協(xié)作,采用了 B/S (Browser/Server,瀏覽器/服務(wù)器)結(jié)構(gòu),具有業(yè)務(wù)邏輯和界面分離的特性,以及業(yè)務(wù)邏輯和界面復(fù)用的效果。有利于提高開發(fā)效率。
[0040](2)采用CSS技術(shù)開發(fā)的應(yīng)用界面,美觀且易于換膚,使得開發(fā)人員可以高效的完成很炫的界面效果。
[0041](3)采用Html、CSS等Web技術(shù)開發(fā)應(yīng)用界面,不局限于單一操作系統(tǒng),可在Windows, Mac、Linux等操作系統(tǒng)上實(shí)現(xiàn)。輕松實(shí)現(xiàn)了跨平臺(tái)開發(fā),提高了應(yīng)用界面的開發(fā)效率。
[0042](4)采用了開源的瀏覽器引擎,學(xué)習(xí)成本低,在開發(fā)人員方面有更多的選擇,降低了開發(fā)成本。
[0043]參見圖2,提出本發(fā)明的桌面應(yīng)用程序的實(shí)現(xiàn)裝置一實(shí)施例,所述桌面應(yīng)用程序的實(shí)現(xiàn)裝置包括前端的Web模塊110和后端的Web服務(wù)器模塊120,前端的Web模塊110采用基于Http和Websocket的Web技術(shù)與后端進(jìn)行實(shí)時(shí)交互。后端的Web服務(wù)器模塊120與前端的Web模塊110運(yùn)行在同一臺(tái)PC上,后端的Web服務(wù)器模塊120可以有三種不同的運(yùn)行方式:(1)作為系統(tǒng)服務(wù)器獨(dú)立運(yùn)行;(2)以可執(zhí)行程序運(yùn)行;(3)與應(yīng)用界面捆綁在一起,關(guān)聯(lián)運(yùn)行。其中,
[0044]Web模塊110:用于開發(fā)并顯示應(yīng)用界面,根據(jù)用戶通過應(yīng)用界面發(fā)送的操作指令,向Web服務(wù)器模塊120發(fā)送Http或/和Websocket請(qǐng)求,并將所述Web服務(wù)器模塊120返回的處理結(jié)果顯示于應(yīng)用界面。
[0045]具體的,所述Web模塊110內(nèi)嵌Webkit內(nèi)核,通過HTML、CSS及JS開發(fā)應(yīng)用界面,通過Webkit顯示應(yīng)用界面。Web模塊110根據(jù)用戶對(duì)應(yīng)用界面的操作來檢測(cè)用戶的操作指令,收到用戶的操作指令后,可以采用兩種調(diào)用方式。一種是同步調(diào)用,將調(diào)用封裝成Http請(qǐng)求發(fā)送至Web服務(wù)器模塊120 ;另一種是異步調(diào)用,將調(diào)用封裝成Websocket請(qǐng)求發(fā)送至Web服務(wù)器模塊120。所述Http是超文本在互聯(lián)網(wǎng)上的傳輸協(xié)議。所述WebSocket是HTML5一種新的協(xié)議,WebSocket規(guī)范的目標(biāo)是在瀏覽器中實(shí)現(xiàn)和服務(wù)器端雙向通信,從而可以拓展應(yīng)用類型,例如實(shí)時(shí)的數(shù)據(jù)推送(股票行情)、游戲、聊天等。
[0046]Web服務(wù)器模塊120:用于處理所述Http或/和Websocket請(qǐng)求,并將處理結(jié)果返回所述Web模塊110。具體的,Web服務(wù)器模塊120收到Http或/和Websocket請(qǐng)求后,按照一定的規(guī)則對(duì)請(qǐng)求進(jìn)行解析,然后根據(jù)解析結(jié)果,調(diào)用對(duì)應(yīng)的業(yè)務(wù)邏輯處理Http或/和Websocket請(qǐng)求。Web服務(wù)器模塊120對(duì)業(yè)務(wù)邏輯進(jìn)行了封裝,可以封裝成DLL (DynamicLink Library,動(dòng)態(tài)鏈接庫),用任意語言來實(shí)現(xiàn)。Web服務(wù)器模塊120包括Http服務(wù)器或/和Websocket服務(wù)器,Http服務(wù)器用于解析和處理Http請(qǐng)求,Websocket服務(wù)器用于解析和處理Websocket請(qǐng)求。
[0047]據(jù)此,本發(fā)明的桌面應(yīng)用程序的實(shí)現(xiàn)裝置,前端的Web模塊110基于Webkit內(nèi)核,用Html、CSS、JS技術(shù)開發(fā)應(yīng)用界面,并采用基于Http和Websocket的Web技術(shù)與后端的Web服務(wù)器模塊120進(jìn)行實(shí)時(shí)交互,使得滿足標(biāo)準(zhǔn)的Web規(guī)范的桌面應(yīng)用程序得以實(shí)現(xiàn),因此具有以下優(yōu)點(diǎn):
[0048](I)由前端與后端分離協(xié)作,采用了 B/S (Browser/Server,瀏覽器/服務(wù)器)結(jié)構(gòu),具有業(yè)務(wù)邏輯和界面分離的特性,以及業(yè)務(wù)邏輯和界面復(fù)用的效果。有利于提高開發(fā)效率。
[0049](2)采用CSS技術(shù)開發(fā)的應(yīng)用界面,美觀且易于換膚,使得開發(fā)人員可以高效的完成很炫的界面效果。
[0050](3)采用Html、CSS等Web技術(shù)開發(fā)應(yīng)用界面,不局限于單一操作系統(tǒng),可在Windows, Mac、Linux等操作系統(tǒng)上實(shí)現(xiàn)。輕松實(shí)現(xiàn)了跨平臺(tái)開發(fā),提高了應(yīng)用界面的開發(fā)效率。
[0051](4)采用了開源的瀏覽器引擎,學(xué)習(xí)成本低,在開發(fā)人員方面有更多的選擇,降低了開發(fā)成本。
[0052]應(yīng)當(dāng)理解的是,以上僅為本發(fā)明的優(yōu)選實(shí)施例,不能因此限制本發(fā)明的專利范圍,凡是通過本發(fā)明說明書及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,或直接或間接運(yùn)用在其他相關(guān)的【技術(shù)領(lǐng)域】,均同理包括在本發(fā)明的專利保護(hù)范圍內(nèi)。
【權(quán)利要求】
1.一種桌面應(yīng)用程序的實(shí)現(xiàn)方法,其特征在于,包括步驟: Web模塊開發(fā)并顯示應(yīng)用界面; Web模塊根據(jù)用戶通過所述應(yīng)用界面發(fā)送的操作指令,向Web服務(wù)器模塊發(fā)送Http或/ 和 Websocket 請(qǐng)求; Web服務(wù)器模塊處理所述Http或/和Websocket請(qǐng)求,將處理結(jié)果返回所述Web模塊; Web模塊將所述處理結(jié)果顯示于所述應(yīng)用界面。
2.根據(jù)權(quán)利要求1所述的桌面應(yīng)用程序的實(shí)現(xiàn)方法,其特征在于,所述Web模塊開發(fā)并顯示應(yīng)用界面包括: Web模塊通過HTML超文本標(biāo)記語言和CSS層疊樣式表開發(fā)應(yīng)用界面,通過Webkit顯示所述應(yīng)用界面。
3.根據(jù)權(quán)利要求1所述的桌面應(yīng)用程序的實(shí)現(xiàn)方法,其特征在于,所述Web服務(wù)器模塊處理所述Http或/和Websocket請(qǐng)求包括: Web服務(wù)器模塊解析所述Http或/和Websocket請(qǐng)求; Web服務(wù)器模塊根據(jù)解析結(jié)果,調(diào)用對(duì)應(yīng)的業(yè)務(wù)邏輯處理所述Http或/和Websocket請(qǐng)求。
4.根據(jù)權(quán)利要求1-3任一項(xiàng)所述的桌面應(yīng)用程序的實(shí)現(xiàn)方法,其特征在于,所述Web服務(wù)器模塊包括Http服務(wù)器或/和Websocket服務(wù)器。
5.根據(jù)權(quán)利要求1-3任一項(xiàng)所述的桌面應(yīng)用程序的實(shí)現(xiàn)方法,其特征在于,所述Web服務(wù)器模塊的運(yùn)行方式包括:作為系統(tǒng)服務(wù)器獨(dú)立運(yùn)行、以可執(zhí)行程序運(yùn)行或與應(yīng)用界面關(guān)聯(lián)運(yùn)行。
6.一種桌面應(yīng)用程序的實(shí)現(xiàn)裝置,其特征在于,包括Web模塊和Web服務(wù)器模塊,其中: Web模塊,用于開發(fā)并顯示應(yīng)用界面,根據(jù)用戶通過所述應(yīng)用界面發(fā)送的操作指令,向Web服務(wù)器模塊發(fā)送Http或/和Websocket請(qǐng)求,并將所述Web服務(wù)器模塊返回的處理結(jié)果顯示于所述應(yīng)用界面; Web服務(wù)器模塊,用于處理所述Http或/和Websocket請(qǐng)求,并將處理結(jié)果返回所述Web模塊。
7.根據(jù)權(quán)利要求6所述的桌面應(yīng)用程序的實(shí)現(xiàn)裝置,其特征在于,所述Web模塊用于:通過HTML超文本標(biāo)記語言和CSS層疊樣式表開發(fā)應(yīng)用界面,通過Webkit顯示所述應(yīng)用界面。
8.根據(jù)權(quán)利要求6所述的桌面應(yīng)用程序的實(shí)現(xiàn)裝置,其特征在于,所述Web服務(wù)器模塊用于:解析所述Http或/和Websocket請(qǐng)求,根據(jù)解析結(jié)果,調(diào)用對(duì)應(yīng)的業(yè)務(wù)邏輯處理所述Http 或 / 和 Websocket 請(qǐng)求。
9.根據(jù)權(quán)利要求6-8任一項(xiàng)所述的桌面應(yīng)用程序的實(shí)現(xiàn)裝置,其特征在于,所述Web服務(wù)器模塊包括Http服務(wù)器或/和Websocket服務(wù)器。
10.根據(jù)權(quán)利要求6-8任一項(xiàng)所述的桌面應(yīng)用程序的實(shí)現(xiàn)裝置,其特征在于,所述Web服務(wù)器模塊的運(yùn)行方式包括:作為系統(tǒng)服務(wù)器獨(dú)立運(yùn)行、以可執(zhí)行程序運(yùn)行或與應(yīng)用界面關(guān)聯(lián)運(yùn)行。
【文檔編號(hào)】H04L29/06GK103605525SQ201310628410
【公開日】2014年2月26日 申請(qǐng)日期:2013年11月29日 優(yōu)先權(quán)日:2013年11月29日
【發(fā)明者】陳集 申請(qǐng)人:深圳市中興移動(dòng)通信有限公司