亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種應(yīng)用程序開發(fā)的方法和裝置的制作方法

文檔序號:6353844閱讀:295來源:國知局
專利名稱:一種應(yīng)用程序開發(fā)的方法和裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及計算機領(lǐng)域,特別涉及一種應(yīng)用程序開發(fā)的方法和裝置。
背景技術(shù)
隨著計算機技術(shù)的快速發(fā)展,計算機領(lǐng)域出現(xiàn)了很多應(yīng)用程序開發(fā)的方法,如原生應(yīng)用程序或web應(yīng)用程序等。原生應(yīng)用程序是指基于移動平臺開發(fā)的應(yīng)用程序。原生應(yīng)用程序開發(fā)時需要使用移動平臺限定的開發(fā)語言、工具集、編譯器、甚至開發(fā)平臺。以ios移動平臺為例,開發(fā)基于ios移動平臺的原生應(yīng)用程序需要使用objective-c開發(fā)語言,使用apple發(fā)布的xcodesdk進行編譯調(diào)試,并且只能在mac系統(tǒng)上進行開發(fā)、編譯、模擬測試、打包部署等工作。這種開發(fā)方式可以使用現(xiàn)有sdk(SoftwareDevelopment Kit,軟件開發(fā)工具包)所提供的一些工具和組件,性能比較好,接口比較豐富,但是會被移動平臺限制所能使用的技術(shù)和工具,而且每次開發(fā)只能針對特定平臺,不具有跨平臺能力。web應(yīng)用程序是指基于web技術(shù),如javascript、css、或html等,開發(fā)的應(yīng)用程序。web應(yīng)用程序開發(fā)時,開發(fā)者可以使用自己熟悉的web技術(shù)、開發(fā)工具(如Dreamweaver> Aptana、或 Notepad++)、和系統(tǒng)平臺(如 windows 或 Iinux)等進行開發(fā),還可以使用PC (Personal Computer,個人計算機)上常用的瀏覽器直接進行調(diào)試,無需受移動平臺所指定的開發(fā)工具的限制。這種開發(fā)方式簡單便捷,但是只能運行在瀏覽器上,受瀏覽器安全沙箱機制的限制,只能給開發(fā)者提供有限的接口,可能無法滿足所有項目需求,并且圖形渲染性能和數(shù)據(jù)計算能力也不如原生應(yīng)用程序,可能會給項目引入性能問題。綜合上述,現(xiàn)有的原始應(yīng)用程序開發(fā)方法受限于特定的平臺,現(xiàn)有的web應(yīng)用程序開發(fā)方法接觸的系統(tǒng)原生API (Application Programming Interface,應(yīng)用程序接口)有限,因此,如何擺脫平臺限制,同時能夠接觸更多的系統(tǒng)原生API,現(xiàn)有技術(shù)還沒有相關(guān)的解決方案。

發(fā)明內(nèi)容
為了擺脫平臺限制,同時能夠接觸更多的系統(tǒng)原生API,本發(fā)明實施例提供了一種應(yīng)用程序開發(fā)的方法和裝置。所述技術(shù)方案如下—種應(yīng)用程序開發(fā)的方法,所述方法包括將系統(tǒng)原生應(yīng)用程序接口 API封裝成不同的接口,由所述不同的接口組成接口層;基于web技術(shù)開發(fā)應(yīng)用程序,所述應(yīng)用程序觸發(fā)瀏覽器相應(yīng)的事件,以通知瀏覽器組件層所需執(zhí)行的操作和執(zhí)行所述操作所需的參數(shù);瀏覽器組件層監(jiān)聽到所述事件發(fā)生改變后,根據(jù)所述操作和執(zhí)行所述操作所需的參數(shù),向所述接口層相應(yīng)的接口進行調(diào)用,并將結(jié)果返回給所述應(yīng)用程序進行處理。一種應(yīng)用程序開發(fā)的裝置,所述裝置包括
接口層模塊,用于將系統(tǒng)原生應(yīng)用程序接口 API封裝成不同的接口,由所述不同的接口組成接口層;Web層模塊,用于基于web技術(shù)開發(fā)應(yīng)用程序,所述應(yīng)用程序觸發(fā)瀏覽器相應(yīng)的事件,以通知瀏覽器組件層所需執(zhí)行的操作和執(zhí)行所述操作所需的參數(shù);瀏覽器組件層模塊,用于瀏覽器組件層監(jiān)聽到所述事件發(fā)生改變后,根據(jù)所述操作和執(zhí)行所述操作所需的參數(shù),向所述接口層相應(yīng)的接口進行調(diào)用,并將結(jié)果返回給所述應(yīng)用程序 進行處理。本發(fā)明實施例提供的技術(shù)方案帶來的有益效果是通過將系統(tǒng)原生API封裝成不同的接口,基于web技術(shù)開發(fā)應(yīng)用程序,由瀏覽器組件層對應(yīng)用程序和接口層的接口進行適配,從而擺脫了平臺限制,開發(fā)者可以使用自己熟悉的web技術(shù)和工具進行開發(fā),簡化了開發(fā)過程,同時通過對系統(tǒng)原生API進行封裝得到的接口層,web應(yīng)用程序能夠接觸更多的系統(tǒng)原生API,提升了 web能力。


圖I是本發(fā)明實施例I中提供的應(yīng)用程序開發(fā)的方法流程圖;圖2是本發(fā)明實施例I中提供的應(yīng)用程序開發(fā)的結(jié)構(gòu)示意圖;圖3是本發(fā)明實施例I中提供的應(yīng)用程序開發(fā)的裝置結(jié)構(gòu)示意圖。
具體實施例方式為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合附圖對本發(fā)明實施方式作進一步地詳細(xì)描述。實施例I參見圖1,本實施例提供了一種應(yīng)用程序開發(fā)的方法,包括101 :將系統(tǒng)原生API封裝成不同的接口,由不同的接口組成接口層;102 :基于web技術(shù)開發(fā)應(yīng)用程序,該應(yīng)用程序觸發(fā)瀏覽器相應(yīng)的事件,以通知瀏覽器組件層所需執(zhí)行的操作和執(zhí)行該操作所需的參數(shù);103:瀏覽器組件層監(jiān)聽到該事件發(fā)生改變后,根據(jù)該操作和執(zhí)行該操作所需的參數(shù),向接口層相應(yīng)的接口進行調(diào)用,并將結(jié)果返回給該應(yīng)用程序進行處理。具體的,應(yīng)用程序可以通過回調(diào)函數(shù)處理返回的結(jié)果。上述方法具體可基于圖2所示的應(yīng)用程序開發(fā)架構(gòu)實現(xiàn)。該架構(gòu)包括系統(tǒng)原生API層201、接口層202、瀏覽器組件層203和web層204。系統(tǒng)原生API層201,由移動平臺底層提供的系統(tǒng)原生API組成,移動平臺如ios或 android 等。接口層202,用于將系統(tǒng)原生API封裝成不同的接口,由不同的接口組成該接口層。接口層至少包括文件接口(File)、傳感器接口(Sensor)、設(shè)備接口(Device)和攝像頭接口(Camera)中的至少一個。文件接口,用于獲取和修改文件和目錄的信息,打開、關(guān)閉、讀取、或?qū)懭胛募?nèi)容,復(fù)制、移動、或刪除文件,實現(xiàn)文件上傳或發(fā)送圖片。由于ios移動平臺上不允許javascript瀏覽文件系統(tǒng),因此通過本實施例的文件接口,則可突破限制,實現(xiàn)文件上傳、發(fā)送圖片等文件相關(guān)功能。傳感器接口,用于提供LBS (Location Based Service,基于位置服務(wù))的接口,包括加速度計(Accelerometer)、羅盤(Compass)、或 GPS (Global PositioningSystem,全球定位系統(tǒng))等位置信息和速度信息的接口。備接口,用于提供獲取設(shè)備相關(guān)信息的接口,設(shè)備相關(guān)信息包括設(shè)備名、設(shè)備版本、或系統(tǒng)版本。設(shè)備接口可以給web技術(shù)提供設(shè)備相關(guān)信息,從而判斷不同版本的系統(tǒng)和平臺以做相應(yīng)兼容。web層204,用于基于各種web技術(shù)開發(fā)應(yīng)用程序,該應(yīng)用程序觸發(fā)瀏覽器相應(yīng)的事件,以通知瀏覽器組件層203所需執(zhí)行的操作和執(zhí)行該操作所需的參數(shù)。Web技術(shù)包括但不限于javascript、css、或html等。開發(fā)者可以像開發(fā)基于桌面瀏覽器的web應(yīng)用程序一樣,使用自己熟悉的web技術(shù)和工具進行開發(fā),也可以直接使用特性相近的瀏覽器,如safari, chrome等進行快速測試,只需與下層的瀏覽器組件層約定好通信協(xié)議即可。具體的,應(yīng)用程序可以通過格式為協(xié)議頭調(diào)用命令參數(shù)的通信協(xié)議格式觸發(fā)瀏覽器相應(yīng)的事件。其中,冒號為字段分隔符,協(xié)議頭,用于通知瀏覽器組件層本請求是調(diào)用接口層相應(yīng)的接口的請求;調(diào)用命令,用于通知瀏覽器組件層所需執(zhí)行的操作;參數(shù),用于通知瀏覽器組件層執(zhí)行操作所需的參數(shù),參數(shù)可以有一個或多個。另外,應(yīng)用程序也可以通過其他通信協(xié)議格式觸發(fā)瀏覽器相應(yīng)的事件,只要應(yīng)用程序和瀏覽器雙方能夠互相識別和理解即可。以QQ桌面項目所使用的javascript與瀏覽器組件層之間的通信協(xié)議格式QQDesk: open_urI: web2. qq. com為例,QQDesk為協(xié)議頭,通知瀏覽器組件層這是一個由web層javascript技術(shù)調(diào)用接口層相應(yīng)接口的請求,同時該協(xié)議頭可以讓瀏覽器區(qū)分開地址跳轉(zhuǎn)等其他協(xié)議請求,open_url為調(diào)用命令,通知瀏覽器組件層本請求需要打開一個瀏覽器窗口,web2. qq. com為頁面地址參數(shù),通知瀏覽器組件層需要打開的頁面地址。瀏覽器組件層203,用于適配接口層和web層。瀏覽器組件層監(jiān)聽到事件發(fā)生改變后,根據(jù)該操作和執(zhí)行該操作所需的參數(shù),向接口層相應(yīng)的接口進行調(diào)用,并將結(jié)果返回給該應(yīng)用程序進行處理,該應(yīng)用程序可以通過回調(diào)函數(shù)處理返回的結(jié)果。以瀏覽器的location事件為例,基于web層的javascript開發(fā)的應(yīng)用進程需要調(diào)用下層接口時,通過修改window. Location通知瀏覽器組件層,瀏覽器組件層相應(yīng)的瀏覽器組件監(jiān)聽到Location事件發(fā)生改變后,分析Location字符串,判斷javascript需要調(diào)用的接口和傳入的參數(shù),并向接口層相應(yīng)的接口進行調(diào)用,然后將結(jié)果返回給該應(yīng)用進程,該應(yīng)用進程可以通過回調(diào)函數(shù)處理返回的結(jié)果。另外,瀏覽器組件層203的各個瀏覽器組件可以由平臺SDK提供,也可以是開發(fā)人員自己實現(xiàn)的web瀏覽器組件或第三方提供的瀏覽器組件,能夠為上層web層提供運行環(huán)境的組件皆可。進一步的,本實施例中的接口層和瀏覽器組件層都是平臺相關(guān)的,即跨平臺移植時需要實現(xiàn)利用新平臺的開發(fā)技術(shù)重新實現(xiàn)接口層和瀏覽器組件層。以ios平臺為例,接口層和瀏覽器組件層需要使用objective-c開發(fā)語言在xcode sdk上進行開發(fā),瀏覽器組件可使用xcode sdk上提供的瀏覽器組件。但對web層而言接口沒有任何變化,所以web層可以在多個平臺重用,提高代碼的復(fù)用率,無須再次開發(fā),節(jié)省平臺間移植成本。
另外,本實施例還可以通過加殼方式將web應(yīng)用程序打包成原生應(yīng)用程序,即將接口層和瀏覽器組件層作為客戶端殼,將客戶端殼和基于各種web技術(shù)開發(fā)的應(yīng)用程序打包成原生應(yīng)用程序。 本實施例通過將系統(tǒng)原生API封裝成不同的接口,基于web技術(shù)開發(fā)應(yīng)用程序,由瀏覽器組件層對應(yīng)用程序和接口層的接口進行適配,從而擺脫了平臺限制,開發(fā)者可以使用自己熟悉的web技術(shù)和工具進行開發(fā),簡化了開發(fā)過程,同時通過對系統(tǒng)原生API進行封裝得到的接口層,web應(yīng)用程序能夠接觸更多的系統(tǒng)原生API,提升了 web能力。實施例2參見圖3,本實施例提供了一種應(yīng)用程序開發(fā)的裝置,包括接口層模塊301,用于將系統(tǒng)原生API封裝成不同的接口,由不同的接口組成接口層;Web層模塊302,用于基于web技術(shù)開發(fā)應(yīng)用程序,應(yīng)用程序觸發(fā)瀏覽器相應(yīng)的事件,以通知瀏覽器組件層所需執(zhí)行的操作和執(zhí)行操作所需的參數(shù);瀏覽器組件層模塊303,用于瀏覽器組件層監(jiān)聽到事件發(fā)生改變后,根據(jù)操作和執(zhí)行操作所需的參數(shù),向接口層相應(yīng)的接口進行調(diào)用,并將結(jié)果返回給該應(yīng)用程序進行處理。該應(yīng)用程序可以通過回調(diào)函數(shù)處理返回的結(jié)果。該裝置還包括打包模塊304,用于將接口層和瀏覽器組件層作為客戶端殼,并將客戶端殼和應(yīng)用程序打包成原生應(yīng)用程序。其中,不同的接口包括文件接口、傳感器接口、設(shè)備接口和攝像頭接口中的至少一個。文件接口,用于獲取和修改文件和目錄的信息,打開、關(guān)閉、讀取、或?qū)懭胛募?nèi)容,復(fù)制、移動、或刪除文件,實現(xiàn)文件上傳或發(fā)送圖片; 傳感器接口,用于提供基于位置服務(wù)LBS的接口,包括加速度計、羅盤、或全球定位系統(tǒng);設(shè)備接口,用于提供獲取設(shè)備相關(guān)信息的接口,設(shè)備相關(guān)信息包括設(shè)備名、設(shè)備版本、或系統(tǒng)版本;攝像頭接口,用于提供調(diào)用攝像頭圖形數(shù)據(jù)的接口。其中,Web層模塊302,具體用于基于web技術(shù)開發(fā)應(yīng)用程序,應(yīng)用程序通過格式為協(xié)議頭調(diào)用命令參數(shù)的通信協(xié)議格式觸發(fā)瀏覽器相應(yīng)的事件,其中,協(xié)議頭,用于通知瀏覽器組件層本請求是調(diào)用接口層相應(yīng)的接口的請求;調(diào)用命令,用于通知瀏覽器組件層所需執(zhí)行的操作;參數(shù),用于通知瀏覽器組件層執(zhí)行操作所需的參數(shù)。具體實例參見實施例I。 本實施例的裝置涉及的接口層模塊301,Web層模塊302,瀏覽器組件層模塊303,分別相當(dāng)于方法實施例中的接口層、web層和瀏覽器組件層,與方法實施例屬于同一構(gòu)思,具體實現(xiàn)過程詳見方法實施例,這里不再贅述。本實施例通過將系統(tǒng)原生API封裝成不同的接口,基于web技術(shù)開發(fā)應(yīng)用程序,由瀏覽器組件層對應(yīng)用程序和接口層的接口進行適配,從而擺脫了平臺限制,開發(fā)者可以使用自己熟悉的web技術(shù)和工具進行開發(fā),簡化了開發(fā)過程,同時通過對系統(tǒng)原生API進行封裝得到的接口層,web應(yīng)用程序能夠接觸更多的系統(tǒng)原生API,提升了 web能力。以上實施例提供的技術(shù)方案中的全部或部分內(nèi)容可以通過軟件編程實現(xiàn),其軟件程序存儲在可讀取的存儲介質(zhì)中,存儲介質(zhì)例如計算機中的硬盤、光盤或軟盤。
以上所述僅為本發(fā)明的較佳實施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。
權(quán)利要求
1.一種應(yīng)用程序開發(fā)的方法,其特征在于,所述方法包括 將系統(tǒng)原生應(yīng)用程序接口 API封裝成不同的接口,由所述不同的接口組成接口層; 基于web技術(shù)開發(fā)應(yīng)用程序,所述應(yīng)用程序觸發(fā)瀏覽器相應(yīng)的事件,以通知瀏覽器組件層所需執(zhí)行的操作和執(zhí)行所述操作所需的參數(shù); 瀏覽器組件層監(jiān)聽到所述事件發(fā)生改變后,根據(jù)所述操作和執(zhí)行所述操作所需的參數(shù),向所述接口層相應(yīng)的接口進行調(diào)用,并將結(jié)果返回給所述應(yīng)用程序進行處理。
2.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述方法還包括 將所述接口層和所述瀏覽器組件層作為客戶端殼,并將所述客戶端殼和所述應(yīng)用程序打包成原生應(yīng)用程序。
3.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述不同的接口包括文件接口、傳感器接口、設(shè)備接口和攝像頭接口中的至少一個。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述文件接口,用于獲取和修改文件和目錄的信息,打開、關(guān)閉、讀取、或?qū)懭胛募?nèi)容,復(fù)制、移動、或刪除文件,實現(xiàn)文件上傳或發(fā)送圖片; 所述傳感器接口,用于提供基于位置服務(wù)LBS的接口,包括加速度計、羅盤、或全球定位系統(tǒng); 所述設(shè)備接口,用于提供獲取設(shè)備相關(guān)信息的接口,所述設(shè)備相關(guān)信息包括設(shè)備名、設(shè)備版本、或系統(tǒng)版本; 所述攝像頭接口,用于提供調(diào)用攝像頭圖形數(shù)據(jù)的接口。
5.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述應(yīng)用程序觸發(fā)瀏覽器相應(yīng)的事件,以通知瀏覽器組件層所需執(zhí)行的操作和執(zhí)行所述操作所需的參數(shù),包括 所述應(yīng)用程序通過格式為協(xié)議頭調(diào)用命令參數(shù)的通信協(xié)議格式觸發(fā)瀏覽器相應(yīng)的事件, 其中,所述協(xié)議頭,用于通知所述瀏覽器組件層本請求是調(diào)用所述接口層相應(yīng)的接口的請求; 所述調(diào)用命令,用于通知所述瀏覽器組件層所需執(zhí)行的操作; 所述參數(shù),用于通知所述瀏覽器組件層執(zhí)行所述操作所需的參數(shù)。
6.一種應(yīng)用程序開發(fā)的裝置,其特征在于,所述裝置包括 接口層模塊,用于將系統(tǒng)原生應(yīng)用程序接口 API封裝成不同的接口,由所述不同的接口組成接口層; Web層模塊,用于基于web技術(shù)開發(fā)應(yīng)用程序,所述應(yīng)用程序觸發(fā)瀏覽器相應(yīng)的事件,以通知瀏覽器組件層所需執(zhí)行的操作和執(zhí)行所述操作所需的參數(shù); 瀏覽器組件層模塊,用于瀏覽器組件層監(jiān)聽到所述事件發(fā)生改變后,根據(jù)所述操作和執(zhí)行所述操作所需的參數(shù),向所述接口層相應(yīng)的接口進行調(diào)用,并將結(jié)果返回給所述應(yīng)用程序進行處理。
7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述裝置還包括 打包模塊,用于將所述接口層和所述瀏覽器組件層作為客戶端殼,并將所述客戶端殼和所述應(yīng)用程序打包成原生應(yīng)用程序。
8.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述不同的接口包括文件接口、傳感器接口、設(shè)備接口和攝像頭接口中的至少一個。
9.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述文件接口,用于獲取和修改文件和目錄的信息,打開、關(guān)閉、讀取、或?qū)懭胛募?nèi)容,復(fù)制、移動、或刪除文件,實現(xiàn)文件上傳或發(fā)送圖片; 所述傳感器接口,用于提供基于位置服務(wù)LBS的接口,包括加速度計、羅盤、或全球定位系統(tǒng); 所述設(shè)備接口,用于提供獲取設(shè)備相關(guān)信息的接口,所述設(shè)備相關(guān)信息包括設(shè)備名、設(shè)備版本、或系統(tǒng)版本; 所述攝像頭接口,用于提供調(diào)用攝像頭圖形數(shù)據(jù)的接口。
10.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述Web層模塊,具體用于基于web技術(shù)開發(fā)應(yīng)用程序,所述應(yīng)用程序通過格式為協(xié)議頭調(diào)用命令參數(shù)的通信協(xié)議格式觸發(fā)瀏覽器相應(yīng)的事件, 其中,所述協(xié)議頭,用于通知所述瀏覽器組件層本請求是調(diào)用所述接口層相應(yīng)的接口的請求; 所述調(diào)用命令,用于通知所述瀏覽器組件層所需執(zhí)行的操作; 所述參數(shù),用于通知所述瀏覽器組件層執(zhí)行所述操作所需的參數(shù)。
全文摘要
本發(fā)明公開了一種應(yīng)用程序開發(fā)的方法和裝置,屬于計算機領(lǐng)域。方法包括將系統(tǒng)原生API封裝成不同的接口,由不同的接口組成接口層;基于web技術(shù)開發(fā)應(yīng)用程序,應(yīng)用程序觸發(fā)瀏覽器相應(yīng)的事件,以通知瀏覽器組件層所需執(zhí)行的操作和執(zhí)行操作所需的參數(shù);瀏覽器組件層監(jiān)聽到事件發(fā)生改變后,根據(jù)操作和執(zhí)行操作所需的參數(shù),向接口層相應(yīng)的接口進行調(diào)用,將結(jié)果返回給應(yīng)用程序進行處理。裝置包括接口層模塊、web層模塊和瀏覽器組件層模塊。通過上述方案,擺脫了平臺限制,開發(fā)者可以使用自己熟悉的web技術(shù)和工具進行開發(fā),簡化了開發(fā)過程,同時通過對系統(tǒng)原生API進行封裝得到的接口層,web應(yīng)用程序能夠接觸更多的系統(tǒng)原生API,提升了web能力。
文檔編號G06F9/44GK102622211SQ20111002966
公開日2012年8月1日 申請日期2011年1月27日 優(yōu)先權(quán)日2011年1月27日
發(fā)明者唐啟宏 申請人:騰訊科技(深圳)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1