腳本編寫方法及相應(yīng)的腳本編寫系統(tǒng)的制作方法
【專利摘要】本發(fā)明涉及本發(fā)明提供一種腳本程序編寫方法及相應(yīng)的腳本程序編寫系統(tǒng)。其中,本發(fā)明的腳本程序編寫方法包括預先設(shè)定腳本程序框架,其中,所述腳本程序框架包括多個應(yīng)用程序編程接口(ApplicationProgrammingInterface,API)函數(shù);根據(jù)需要選擇調(diào)用相應(yīng)的API函數(shù),并進行進一步的編寫以編寫出所需的腳本程序。本發(fā)明的腳本程序編寫方法與相應(yīng)的腳本程序編寫系統(tǒng),其可以降低腳本開發(fā)成本,降低腳本的bug數(shù)量和排錯時間,兼容性更好。
【專利說明】腳本編寫方法及相應(yīng)的腳本編寫系統(tǒng)【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計算機領(lǐng)域,特別是涉及一種腳本程序編寫方法及相應(yīng)的腳本編寫系統(tǒng)。
【背景技術(shù)】
[0002]隨著科技的發(fā)展,計算機已經(jīng)成為人們?nèi)粘I罨蚬ぷ髦斜夭豢缮俚墓ぞ?。如計算機領(lǐng)域技術(shù)人員所知的,編程語言或者計算機語言是一種標準化通信工具,用于向計算機表達指令,從而使計算機能夠執(zhí)行指令以完成特定的動作。編程語言有各種樣式,一些是程序語言,例如C ;一些是面向?qū)ο蟮?,例如C++或者Java 些是函數(shù)性的,例如Haskell。
[0003]腳本語言傾向于是一種為便于編程并執(zhí)行特定或限制任務(wù)而設(shè)計的簡單編程語言。例如,目前常用的JavaScript通常用于為Web應(yīng)用程序提供額外的功能性和/或交互性。而Visual Basic Script、Perl或者TCL是其他類型的腳本語言。一般而言,腳本語言比起上述C、C++或者Java之類的傳統(tǒng)編程語言,具有更簡單的句法和更少的編程構(gòu)成。此外,腳本語言不需要編譯,并且雖然可在運行時解釋,但是也可被立即執(zhí)行。
[0004]腳本是使用腳本語言創(chuàng)建一組指令以使用腳本語言來完成特定功能的過程。與使用上述C、C++或者Java之類的操控計算機各進程的傳統(tǒng)編程語言不通,腳本傾向于包含快速且更小的一組簡單指令。腳本傾向于實現(xiàn)某一特定目的,例如控制將一計算機經(jīng)由調(diào)制解調(diào)器連接至另一計算機的進程,或者控制如何根據(jù)用戶輸入改變網(wǎng)頁內(nèi)容。在萬維網(wǎng)上,腳本語言用于創(chuàng)建為Web頁面和Web應(yīng)用程序定制或添加交互性的腳本。例如,當被插入到Web頁面中時,腳本能夠控制Web頁面的各個元素,例如Web頁面的用戶界面、樣式和HTML標記。
[0005]目前,隨著Web頁面和Web應(yīng)用程序的內(nèi)容越來越豐富,需要的腳本量越來越大,因此其一般會分成多個不同的腳本任務(wù),分給團隊中的不同成員分別進行編寫,每個成員分別需要根據(jù)自身的JavaScript的水準,從頭至尾地編寫出原生的各自的JavaScript的腳本。但是由于各個成員的JavaScript水準不同,各自所交付的代碼量也各不相同,再考慮需要與其他腳本無沖突,瀏覽器腳本兼容性的問題,因此其給腳本的編寫帶來一定的困難,如遇高級功能性需求,則會提高腳本開發(fā)成本。此外,在基于CMS發(fā)布新聞頁面的產(chǎn)品模式下,在頁面周期內(nèi),會有涉及多方部分角色的介入,多個功能點腳本添加入頁面后,出現(xiàn)腳本沖突、報錯的可能性較大,且定位錯誤非常麻煩。另外,編寫出來的腳本只能使用一次,其后便會棄用,腳本服用率較低,其增加了團隊成員的學習成本,更談不上團隊的協(xié)作開發(fā)。
【發(fā)明內(nèi)容】
[0006]本發(fā)明的目的在于,克服現(xiàn)有的腳本程序編寫方式所存在的缺陷,而提供一種新的腳本程序編寫方法與相應(yīng)的腳本程序編寫系統(tǒng),其可以降低腳本開發(fā)成本,降低腳本的bug數(shù)量和排錯時間,兼容性更好。[0007]本發(fā)明的目的及解決其技術(shù)問題是采用以下技術(shù)方案來實現(xiàn)的。
[0008]本發(fā)明提供一種腳本程序編寫方法,其包括預先設(shè)定腳本程序框架,其中,所述腳本程序框架包括多個應(yīng)用程序編程接口(Application Programming Interface, API)函數(shù);根據(jù)需要選擇調(diào)用相應(yīng)的API函數(shù),并進行進一步的編寫以編寫出所需的腳本程序。
[0009]本發(fā)明還提供一種腳本程序編寫系統(tǒng),其包括腳本程序框架、調(diào)用模塊和編寫模塊。所述腳本程序框架包括多個預先設(shè)定的應(yīng)用程序編程接口(Application ProgrammingInterface, API)函數(shù)。所述調(diào)用模塊用以供使用者根據(jù)需要在所述腳本程序框架中選擇調(diào)用相應(yīng)的API函數(shù)。所述編寫模塊用以供使用者在所述調(diào)用的API函數(shù)的基礎(chǔ)上進行進一步的編寫以編寫出所需的腳本程序。
[0010]本發(fā)明的腳本程序編寫方法及相應(yīng)的腳本程序編寫系統(tǒng)會預先開發(fā)出由多個可供調(diào)用的API函數(shù)組成的腳本程序框架,使用者可根據(jù)需要調(diào)取出相應(yīng)的API函數(shù),并在調(diào)取的API函數(shù)的基礎(chǔ)上進行進一步的編寫,因此本發(fā)明的腳本程序編寫方法及腳本程序編寫系統(tǒng)可以降低腳本開發(fā)成本,提高程序開發(fā)部門的生產(chǎn)力,降低上線腳本的bug數(shù)量和排錯時間,兼容性更好,且有利于沉淀優(yōu)秀的腳本程序代碼,更加有利于團隊協(xié)作。
[0011]上述說明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段,而可依照說明書的內(nèi)容予以實施,并且為了讓本發(fā)明的上述和其他目的、特征和優(yōu)點能夠更明顯易懂,以下特舉較佳實施例,并配合附圖,詳細說明如下。
【專利附圖】
【附圖說明】
[0012]圖1為本發(fā)明實施例的腳本程序編寫方法的流程圖。
[0013]圖2為Koala腳本程序框架的示意圖。
[0014]圖3為圖2所示的Koala腳本程序框架的各個子類樹保留程序擴展接口的示意圖。
[0015]圖4為本發(fā)明一實施例所示應(yīng)用本發(fā)明的腳本程序編寫方法所顯示頁面的效果示意圖。
[0016]圖5為本發(fā)明實施例的腳本程序編寫系統(tǒng)的示意圖。
【具體實施方式】
[0017]為更進一步闡述本發(fā)明為達成預定發(fā)明目的所采取的技術(shù)手段及功效,以下結(jié)合附圖及較佳實施例,對依據(jù)本發(fā)明提出的腳本編寫方法其【具體實施方式】、方法、步驟、結(jié)構(gòu)、特征及其功效,詳細說明如下。
[0018]有關(guān)本發(fā)明的前述及其他技術(shù)內(nèi)容、特點及功效,在以下配合參考圖式的較佳實施例的詳細說明中將可清楚呈現(xiàn)。通過【具體實施方式】的說明,當可對本發(fā)明為達成預定目的所采取的技術(shù)手段及功效得以更加深入且具體的了解,然而所附圖式僅是提供參考與說明之用,并非用來對本發(fā)明加以限制。
[0019]圖1為本發(fā)明實施例的腳本編寫方法的流程圖。如圖1所示,本發(fā)明實施例的腳本編寫方法包括:
步驟S1:預先設(shè)定腳本程序框架;
在本發(fā)明中,預先設(shè)定的腳本程序框架可為Koala腳本程序框架,其是由多個應(yīng)用程序編程接口(Application Programming Interface, API)函數(shù)而組成。API 函數(shù)是一種用來控制操作系統(tǒng)(例如Windows操作系統(tǒng))的各個部件(例如從桌面的外觀到為一個新進程分配的內(nèi)存)的外觀和行為的一套預先定義的函數(shù),其中,用戶的每個動作都可能會引發(fā)一個或者幾個函數(shù)的運行以告訴操作系統(tǒng)發(fā)生了什么事情。
[0020]圖2為Koala腳本程序框架的示意圖。如圖2所示,Koala腳本程序框架中的這些API函數(shù)可分為10個大類,如選擇器、DOM操作、事件對象、客戶端代理、定義類和對象、核心、自定義類型判斷、自定義對象操作、自定義數(shù)組方法、和插件編寫機制。而每個大類下分別包括若干個子類,每個子類分別包括若干個API函數(shù)。整個Koala腳本程序框架中一共包含167個API函數(shù),其分別包含在各個子類樹之下。
[0021]這些API函數(shù)完全可以滿足程序人員前端開發(fā)的需要。此外,每個子類樹之下保留有程序擴展接口,即每個子類進一步包括程序擴展接口,其可以根據(jù)實際應(yīng)用的需要和業(yè)界前端技術(shù)的發(fā)展進行對應(yīng)的API函數(shù)的擴展,即添加用戶編寫的所需API函數(shù)從而擴展該子類下的API函數(shù),并與該子類下的API函數(shù)整合在一起以供后續(xù)調(diào)用,從而保證腳本程序框架的與時俱進,其截圖如圖3所示。此外,在進行擴展時,可以分為類級別擴展和對象級別擴展,擴展之后,則新擴展的API函數(shù)可以原來的API函數(shù)整合在一起形成一個整體以供后續(xù)地調(diào)用,因此,本發(fā)明預留的程序擴展接口可以隨時根據(jù)業(yè)務(wù)的發(fā)展和項目的需求而進行有針對性的擴充API函數(shù)。
[0022]步驟S2:根據(jù)需要選擇調(diào)用相應(yīng)的API函數(shù),并進行進一步的編寫以編寫出對應(yīng)的腳本程序。
[0023]在本發(fā)明中,步驟S2可以進一步包括:進行需求分析,以確定需要編寫的腳本的各種需求;然后,根據(jù)需求而調(diào)取相應(yīng)的API函數(shù);在調(diào)取的API函數(shù)中配置相關(guān)的參數(shù)從而編寫出所需的腳本程序。其中,所述的需求主要包括功能需求和視覺效果需求。
[0024]具體地,在開發(fā)設(shè)計腳本程序時,開發(fā)人員先進行需求的調(diào)研,從而確定需要編寫的腳本的各種需求,例如功能上的需求和/或視覺效果上的需求,然后再根據(jù)確定的各種需求而在預先設(shè)定的腳本程序框架中調(diào)取相應(yīng)的API函數(shù),例如用于實現(xiàn)功能上需求的相應(yīng)的API函數(shù)和/或用于實現(xiàn)視覺效果需求的相應(yīng)的API函數(shù);再在調(diào)取的API函數(shù)中配置相關(guān)的參數(shù)從而編寫出所需的腳本程序。
[0025]因此,在開發(fā)設(shè)計腳本程序時,開發(fā)人員只需要根據(jù)需求調(diào)取預先設(shè)計好的API函數(shù),然后配置相關(guān)的參數(shù)即可,而并不需要重新開發(fā)設(shè)計編寫API函數(shù),從而避免了開發(fā)人員由于腳本編水平參差不齊的問題,改善了生產(chǎn)力和效率,并降低了實際操作成本。
[0026]也就是說,本發(fā)明的腳本程序編寫方法預先開發(fā)出一套腳本程序框架,其在腳本程序框架內(nèi)部解決瀏覽器的各種已知的兼容性問題,暴露可供調(diào)用、有無返回值的API函數(shù),因此程序人員在編寫腳本程序時,可只需要專注于業(yè)務(wù)需求功能的邏輯,而不需要關(guān)心負責的腳本兼容性問題,降低了腳本業(yè)務(wù)的開發(fā)成本。另,本發(fā)明的腳本程序編寫方法可以按照腳本程序框架提供的API函數(shù)而編寫出所需的腳本程序,其完全不會出現(xiàn)與頁面已存在腳本,未來可能會添加的腳本在編程語言上,或者相同功能函數(shù)名,global作用域覆蓋,底層對象原型(prototype)覆蓋的沖突。此外,預先開發(fā)的腳本程序框架提供插件編寫的功能,使用插件編寫的功能API函數(shù)即可進行編寫,且各種功能插件一次開發(fā)可以多次使用,并當作團隊的代碼資源沉淀下來。由于事先采用約定好插件開發(fā)的模式,不需要因為代碼風格的不同增加學習的成本,因此其更加有利于團隊協(xié)作。
[0027]舉例來說,當需要設(shè)計如圖4所示的顯示頁面的腳本程序時,開發(fā)人員首先進行需求分析,例如其顯示效果包括3D切換、平滑滾動、定時切換和動態(tài)修改內(nèi)容。然后在Koala腳本程序框架內(nèi)調(diào)取相關(guān)的效果API函數(shù),再配置相關(guān)的參數(shù),如下所示:
K.focus3d({R:"btnRight", L:"btnLeft", Pic:"#wrap li", Time:2000 })從而迅速地構(gòu)建所需的腳本程序。因此在本發(fā)明中,開發(fā)人員不需要關(guān)心插件的內(nèi)部邏輯,只需要清楚如何配置參數(shù)即可。
[0028]此外,本發(fā)明還進一步提供一種腳本程序編寫系統(tǒng),如圖5所示。本發(fā)明的腳本程序編寫系統(tǒng)包括預先開發(fā)的腳本程序框架110、調(diào)用模塊120及編寫模塊130。其中,腳本程序框架110包括多個API函數(shù),而調(diào)用模塊120用以供使用者根據(jù)需要選擇調(diào)用相應(yīng)的API函數(shù),而編寫模塊130用以供使用者在調(diào)用的API函數(shù)的基礎(chǔ)上進行進一步的編寫以編寫出所需的腳本程序。
[0029]因此本發(fā)明的腳本程序編寫方法及相應(yīng)的腳本程序編寫系統(tǒng)會預先開發(fā)出由多個可供調(diào)用的API函數(shù)組成的腳本程序框架,使用者可根據(jù)需要調(diào)取出相應(yīng)的API函數(shù),并在調(diào)取的API函數(shù)的基礎(chǔ)上進行進一步的編寫,因此本發(fā)明的腳本程序編寫方法及腳本程序編寫系統(tǒng)可以降低腳本開發(fā)成本,提高程序開發(fā)部門的生產(chǎn)力,降低上線腳本的bug數(shù)量和排錯時間,兼容性更好,且有利于沉淀優(yōu)秀的腳本程序代碼,更加有利于團隊協(xié)作。 [0030]以上所述,僅是本發(fā)明的較佳實施例而已,并非對本發(fā)明作任何形式上的限制,雖然本發(fā)明已以較佳實施例揭露如上,然而并非用以限定本發(fā)明,任何熟悉本專業(yè)的技術(shù)人員,在不脫離本發(fā)明技術(shù)方案范圍內(nèi),當可利用上述揭示的技術(shù)內(nèi)容作出些許更動或修飾為等同變化的等效實施例,但凡是未脫離本發(fā)明技術(shù)方案內(nèi)容,依據(jù)本發(fā)明的技術(shù)實質(zhì)對以上實施例所作的任何簡單修改、等同變化與修飾,均仍屬于本發(fā)明技術(shù)方案的范圍內(nèi)。
【權(quán)利要求】
1.一種腳本程序編寫方法,其特征在于,所述腳本程序編寫方法包括: 預先設(shè)定腳本程序框架,其中,所述腳本程序框架包括多個預先設(shè)定的應(yīng)用程序編程接口 (Application Programming Interface, API)函數(shù); 根據(jù)需要選擇調(diào)用相應(yīng)的API函數(shù),并進行進一步的編寫以編寫出所需的腳本程序。
2.根據(jù)權(quán)利要求1所述的腳本程序編寫方法,其特征在于,所述腳本程序框架為Koala腳本程序框架。
3.根據(jù)權(quán)利要求1所述的腳本程序編寫方法,其特征在于,所述根據(jù)需要選擇調(diào)用相應(yīng)的API函數(shù)并進行進一步的編寫以編寫出所需的腳本程序的步驟,進一步包括: 進行需求分析,以確定需要編寫的腳本的各種需求; 根據(jù)所述需求調(diào)取相應(yīng)的API函數(shù); 在調(diào)取的API函數(shù)中配置參數(shù)以編寫出所需的腳本程序。
4.根據(jù)權(quán)利要求3所述的腳本程序編寫方法,其特征在于,所述需求包括功能需求和/或視覺效果需求,并根據(jù)所述功能需求和/或所述視覺效果需求而調(diào)取用于實現(xiàn)所述功能需求的相應(yīng)的API函數(shù)和/或用于實現(xiàn)所述視覺效果需求的相應(yīng)的API函數(shù)。
5.根據(jù)權(quán)利要求1所述的腳本程序編寫方法,其特征在于,所述多個API函數(shù)被劃分為多個大類,每個大類下分別包括多個子類,而每個子類分別包括多個API函數(shù)。
6.根據(jù)權(quán)利要求5所述的腳本程序編寫方法,其特征在于,所述多個大類包括選擇器、DOM操作、事件對象、客戶端代理、定義類和對象、核心、自定義類型判斷、自定義對象操作、自定義數(shù)組方法、和插件編寫機制中的至少之一。
7.根據(jù)權(quán)利要求5所述的腳本程序編寫方法,其特征在于,每個子類除了包括預先設(shè)定的API函數(shù)外,還進一步包括程序擴展接口,以供編寫所需的API函數(shù)從而擴展所述子類下的API函數(shù),并與所述子類下的API函數(shù)整合在一起以供后續(xù)調(diào)用。
8.一種腳本程序編寫系統(tǒng),其特征在于,所述腳本程序編寫系統(tǒng)包括: 腳本程序框架,其包括多個預先設(shè)定的應(yīng)用程序編程接口(Application ProgrammingInterface, API)函數(shù); 調(diào)用模塊,用以根據(jù)需要在所述腳本程序框架中選擇調(diào)用相應(yīng)的API函數(shù); 編寫模塊,用以在所述調(diào)用的API函數(shù)的基礎(chǔ)上進行進一步的編寫以編寫出所需的腳本程序。
9.根據(jù)權(quán)利要求8所述的腳本程序編寫系統(tǒng),其特征在于,在所述腳本程序框架中,所述多個API函數(shù)被劃分為多個大類,每個大類下分別包括多個子類,而每個子類分別包括多個API函數(shù)。
10.根據(jù)權(quán)利要求9所述的腳本程序編寫系統(tǒng),其特征在于,所述多個大類包括選擇器、DOM操作、事件對象、客戶端代理、定義類和對象、核心、自定義類型判斷、自定義對象操作、自定義數(shù)組方法、和插件編寫機制中的至少之一。
11.根據(jù)權(quán)利要求9所述的腳本程序編寫系統(tǒng),其特征在于,每個子類除了包括預先設(shè)定的API函數(shù)外,還進一步包括程序擴展接口,以供編寫所需的API函數(shù)從而擴展所述子類下的API函數(shù),并與所述子類下的API函數(shù)整合在一起以供后續(xù)調(diào)用。
【文檔編號】G06F9/44GK103677772SQ201210330225
【公開日】2014年3月26日 申請日期:2012年9月7日 優(yōu)先權(quán)日:2012年9月7日
【發(fā)明者】邱波 申請人:騰訊科技(深圳)有限公司