CN103677772A - 脚本编写方法及相应的脚本编写系统 - Google Patents
脚本编写方法及相应的脚本编写系统 Download PDFInfo
- Publication number
- CN103677772A CN103677772A CN201210330225.4A CN201210330225A CN103677772A CN 103677772 A CN103677772 A CN 103677772A CN 201210330225 A CN201210330225 A CN 201210330225A CN 103677772 A CN103677772 A CN 103677772A
- Authority
- CN
- China
- Prior art keywords
- shell script
- write
- script
- api function
- api
- Prior art date
- Legal status (The legal status 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 status listed.)
- Granted
Links
Images
Abstract
本发明涉及本发明提供一种脚本程序编写方法及相应的脚本程序编写系统。其中,本发明的脚本程序编写方法包括预先设定脚本程序框架,其中,所述脚本程序框架包括多个应用程序编程接口(ApplicationProgrammingInterface,API)函数;根据需要选择调用相应的API函数,并进行进一步的编写以编写出所需的脚本程序。本发明的脚本程序编写方法与相应的脚本程序编写系统,其可以降低脚本开发成本,降低脚本的bug数量和排错时间,兼容性更好。
Description
技术领域
本发明涉及计算机领域,特别是涉及一种脚本程序编写方法及相应的脚本编写系统。
背景技术
随着科技的发展,计算机已经成为人们日常生活或工作中必不可少的工具。如计算机领域技术人员所知的,编程语言或者计算机语言是一种标准化通信工具,用于向计算机表达指令,从而使计算机能够执行指令以完成特定的动作。编程语言有各种样式,一些是程序语言,例如C;一些是面向对象的,例如C++或者Java;一些是函数性的,例如Haskell。
脚本语言倾向于是一种为便于编程并执行特定或限制任务而设计的简单编程语言。例如,目前常用的JavaScript通常用于为Web应用程序提供额外的功能性和/或交互性。而Visual Basic Script、Perl或者TCL是其他类型的脚本语言。一般而言,脚本语言比起上述C、C++或者Java之类的传统编程语言,具有更简单的句法和更少的编程构成。此外,脚本语言不需要编译,并且虽然可在运行时解释,但是也可被立即执行。
脚本是使用脚本语言创建一组指令以使用脚本语言来完成特定功能的过程。与使用上述C、C++或者Java之类的操控计算机各进程的传统编程语言不通,脚本倾向于包含快速且更小的一组简单指令。脚本倾向于实现某一特定目的,例如控制将一计算机经由调制解调器连接至另一计算机的进程,或者控制如何根据用户输入改变网页内容。在万维网上,脚本语言用于创建为Web页面和Web应用程序定制或添加交互性的脚本。例如,当被插入到Web页面中时,脚本能够控制Web页面的各个元素,例如Web页面的用户界面、样式和HTML标记。
目前,随着Web页面和Web应用程序的内容越来越丰富,需要的脚本量越来越大,因此其一般会分成多个不同的脚本任务,分给团队中的不同成员分别进行编写,每个成员分别需要根据自身的JavaScript的水准,从头至尾地编写出原生的各自的JavaScript的脚本。但是由于各个成员的JavaScript水准不同,各自所交付的代码量也各不相同,再考虑需要与其他脚本无冲突,浏览器脚本兼容性的问题,因此其给脚本的编写带来一定的困难,如遇高级功能性需求,则会提高脚本开发成本。此外,在基于CMS发布新闻页面的产品模式下,在页面周期内,会有涉及多方部分角色的介入,多个功能点脚本添加入页面后,出现脚本冲突、报错的可能性较大,且定位错误非常麻烦。另外,编写出来的脚本只能使用一次,其后便会弃用,脚本服用率较低,其增加了团队成员的学习成本,更谈不上团队的协作开发。
发明内容
本发明的目的在于,克服现有的脚本程序编写方式所存在的缺陷,而提供一种新的脚本程序编写方法与相应的脚本程序编写系统,其可以降低脚本开发成本,降低脚本的bug数量和排错时间,兼容性更好。
本发明的目的及解决其技术问题是采用以下技术方案来实现的。
本发明提供一种脚本程序编写方法,其包括预先设定脚本程序框架,其中,所述脚本程序框架包括多个应用程序编程接口(Application Programming Interface, API)函数;根据需要选择调用相应的API函数,并进行进一步的编写以编写出所需的脚本程序。
本发明还提供一种脚本程序编写系统,其包括脚本程序框架、调用模块和编写模块。所述脚本程序框架包括多个预先设定的应用程序编程接口(Application Programming Interface, API)函数。所述调用模块用以供使用者根据需要在所述脚本程序框架中选择调用相应的API函数。所述编写模块用以供使用者在所述调用的API函数的基础上进行进一步的编写以编写出所需的脚本程序。
本发明的脚本程序编写方法及相应的脚本程序编写系统会预先开发出由多个可供调用的API函数组成的脚本程序框架,使用者可根据需要调取出相应的API函数,并在调取的API函数的基础上进行进一步的编写,因此本发明的脚本程序编写方法及脚本程序编写系统可以降低脚本开发成本,提高程序开发部门的生产力,降低上线脚本的bug数量和排错时间,兼容性更好,且有利于沉淀优秀的脚本程序代码,更加有利于团队协作。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其他目的、特征和优点能够更明显易懂,以下特举较佳实施例,并配合附图,详细说明如下。
附图说明
图1为本发明实施例的脚本程序编写方法的流程图。
图2为Koala脚本程序框架的示意图。
图3为图2所示的Koala脚本程序框架的各个子类树保留程序扩展接口的示意图。
图4为本发明一实施例所示应用本发明的脚本程序编写方法所显示页面的效果示意图。
图5为本发明实施例的脚本程序编写系统的示意图。
具体实施方式
为更进一步阐述本发明为达成预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明提出的脚本编写方法其具体实施方式、方法、步骤、结构、特征及其功效,详细说明如下。
有关本发明的前述及其他技术内容、特点及功效,在以下配合参考图式的较佳实施例的详细说明中将可清楚呈现。通过具体实施方式的说明,当可对本发明为达成预定目的所采取的技术手段及功效得以更加深入且具体的了解,然而所附图式仅是提供参考与说明之用,并非用来对本发明加以限制。
图1为本发明实施例的脚本编写方法的流程图。如图1所示,本发明实施例的脚本编写方法包括:
步骤S1:预先设定脚本程序框架;
在本发明中,预先设定的脚本程序框架可为Koala脚本程序框架,其是由多个应用程序编程接口(Application Programming Interface, API)函数而组成。API函数是一种用来控制操作系统(例如Windows操作系统)的各个部件(例如从桌面的外观到为一个新进程分配的内存)的外观和行为的一套预先定义的函数,其中,用户的每个动作都可能会引发一个或者几个函数的运行以告诉操作系统发生了什么事情。
图2为Koala脚本程序框架的示意图。如图2所示,Koala脚本程序框架中的这些API函数可分为10个大类,如选择器、DOM操作、事件对象、客户端代理、定义类和对象、核心、自定义类型判断、自定义对象操作、自定义数组方法、和插件编写机制。而每个大类下分别包括若干个子类,每个子类分别包括若干个API函数。整个Koala脚本程序框架中一共包含167个API函数,其分别包含在各个子类树之下。
这些API函数完全可以满足程序人员前端开发的需要。此外,每个子类树之下保留有程序扩展接口,即每个子类进一步包括程序扩展接口,其可以根据实际应用的需要和业界前端技术的发展进行对应的API函数的扩展,即添加用户编写的所需API函数从而扩展该子类下的API函数,并与该子类下的API函数整合在一起以供后续调用,从而保证脚本程序框架的与时俱进,其截图如图3所示。此外,在进行扩展时,可以分为类级别扩展和对象级别扩展,扩展之后,则新扩展的API函数可以原来的API函数整合在一起形成一个整体以供后续地调用,因此,本发明预留的程序扩展接口可以随时根据业务的发展和项目的需求而进行有针对性的扩充API函数。
步骤S2:根据需要选择调用相应的API函数,并进行进一步的编写以编写出对应的脚本程序。
在本发明中,步骤S2可以进一步包括:进行需求分析,以确定需要编写的脚本的各种需求;然后,根据需求而调取相应的API函数;在调取的API函数中配置相关的参数从而编写出所需的脚本程序。其中,所述的需求主要包括功能需求和视觉效果需求。
具体地,在开发设计脚本程序时,开发人员先进行需求的调研,从而确定需要编写的脚本的各种需求,例如功能上的需求和/或视觉效果上的需求,然后再根据确定的各种需求而在预先设定的脚本程序框架中调取相应的API函数,例如用于实现功能上需求的相应的API函数和/或用于实现视觉效果需求的相应的API函数;再在调取的API函数中配置相关的参数从而编写出所需的脚本程序。
因此,在开发设计脚本程序时,开发人员只需要根据需求调取预先设计好的API函数,然后配置相关的参数即可,而并不需要重新开发设计编写API函数,从而避免了开发人员由于脚本编水平参差不齐的问题,改善了生产力和效率,并降低了实际操作成本。
也就是说,本发明的脚本程序编写方法预先开发出一套脚本程序框架,其在脚本程序框架内部解决浏览器的各种已知的兼容性问题,暴露可供调用、有无返回值的API函数,因此程序人员在编写脚本程序时,可只需要专注于业务需求功能的逻辑,而不需要关心负责的脚本兼容性问题,降低了脚本业务的开发成本。另,本发明的脚本程序编写方法可以按照脚本程序框架提供的API函数而编写出所需的脚本程序,其完全不会出现与页面已存在脚本,未来可能会添加的脚本在编程语言上,或者相同功能函数名,global作用域覆盖,底层对象原型(prototype)覆盖的冲突。此外,预先开发的脚本程序框架提供插件编写的功能,使用插件编写的功能API函数即可进行编写,且各种功能插件一次开发可以多次使用,并当作团队的代码资源沉淀下来。由于事先采用约定好插件开发的模式,不需要因为代码风格的不同增加学习的成本,因此其更加有利于团队协作。
举例来说,当需要设计如图4所示的显示页面的脚本程序时,开发人员首先进行需求分析,例如其显示效果包括3D切换、平滑滚动、定时切换和动态修改内容。然后在Koala脚本程序框架内调取相关的效果API函数,再配置相关的参数,如下所示:
K.focus3d({R:"btnRight", L:"btnLeft", Pic:"#wrap li", Time:2000 })
从而迅速地构建所需的脚本程序。因此在本发明中,开发人员不需要关心插件的内部逻辑,只需要清楚如何配置参数即可。
此外,本发明还进一步提供一种脚本程序编写系统,如图5所示。本发明的脚本程序编写系统包括预先开发的脚本程序框架110、调用模块120及编写模块130。其中,脚本程序框架110包括多个API函数,而调用模块120用以供使用者根据需要选择调用相应的API函数,而编写模块130用以供使用者在调用的API函数的基础上进行进一步的编写以编写出所需的脚本程序。
因此本发明的脚本程序编写方法及相应的脚本程序编写系统会预先开发出由多个可供调用的API函数组成的脚本程序框架,使用者可根据需要调取出相应的API函数,并在调取的API函数的基础上进行进一步的编写,因此本发明的脚本程序编写方法及脚本程序编写系统可以降低脚本开发成本,提高程序开发部门的生产力,降低上线脚本的bug数量和排错时间,兼容性更好,且有利于沉淀优秀的脚本程序代码,更加有利于团队协作。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容作出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。
Claims (11)
1.一种脚本程序编写方法,其特征在于,所述脚本程序编写方法包括:
预先设定脚本程序框架,其中,所述脚本程序框架包括多个预先设定的应用程序编程接口(Application Programming Interface, API)函数;
根据需要选择调用相应的API函数,并进行进一步的编写以编写出所需的脚本程序。
2.根据权利要求1所述的脚本程序编写方法,其特征在于,所述脚本程序框架为Koala脚本程序框架。
3.根据权利要求1所述的脚本程序编写方法,其特征在于,所述根据需要选择调用相应的API函数并进行进一步的编写以编写出所需的脚本程序的步骤,进一步包括:
进行需求分析,以确定需要编写的脚本的各种需求;
根据所述需求调取相应的API函数;
在调取的API函数中配置参数以编写出所需的脚本程序。
4.根据权利要求3所述的脚本程序编写方法,其特征在于,所述需求包括功能需求和/或视觉效果需求,并根据所述功能需求和/或所述视觉效果需求而调取用于实现所述功能需求的相应的API函数和/或用于实现所述视觉效果需求的相应的API函数。
5.根据权利要求1所述的脚本程序编写方法,其特征在于,所述多个API函数被划分为多个大类,每个大类下分别包括多个子类,而每个子类分别包括多个API函数。
6.根据权利要求5所述的脚本程序编写方法,其特征在于,所述多个大类包括选择器、DOM操作、事件对象、客户端代理、定义类和对象、核心、自定义类型判断、自定义对象操作、自定义数组方法、和插件编写机制中的至少之一。
7.根据权利要求5所述的脚本程序编写方法,其特征在于,每个子类除了包括预先设定的API函数外,还进一步包括程序扩展接口,以供编写所需的API函数从而扩展所述子类下的API函数,并与所述子类下的API函数整合在一起以供后续调用。
8.一种脚本程序编写系统,其特征在于,所述脚本程序编写系统包括:
脚本程序框架,其包括多个预先设定的应用程序编程接口(Application Programming Interface, API)函数;
调用模块,用以根据需要在所述脚本程序框架中选择调用相应的API函数;
编写模块,用以在所述调用的API函数的基础上进行进一步的编写以编写出所需的脚本程序。
9.根据权利要求8所述的脚本程序编写系统,其特征在于,在所述脚本程序框架中,所述多个API函数被划分为多个大类,每个大类下分别包括多个子类,而每个子类分别包括多个API函数。
10.根据权利要求9所述的脚本程序编写系统,其特征在于,所述多个大类包括选择器、DOM操作、事件对象、客户端代理、定义类和对象、核心、自定义类型判断、自定义对象操作、自定义数组方法、和插件编写机制中的至少之一。
11.根据权利要求9所述的脚本程序编写系统,其特征在于,每个子类除了包括预先设定的API函数外,还进一步包括程序扩展接口,以供编写所需的API函数从而扩展所述子类下的API函数,并与所述子类下的API函数整合在一起以供后续调用。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210330225.4A CN103677772B (zh) | 2012-09-07 | 2012-09-07 | 脚本编写方法及相应的脚本编写系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210330225.4A CN103677772B (zh) | 2012-09-07 | 2012-09-07 | 脚本编写方法及相应的脚本编写系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103677772A true CN103677772A (zh) | 2014-03-26 |
CN103677772B CN103677772B (zh) | 2019-01-11 |
Family
ID=50315450
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210330225.4A Active CN103677772B (zh) | 2012-09-07 | 2012-09-07 | 脚本编写方法及相应的脚本编写系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103677772B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105069164A (zh) * | 2015-08-27 | 2015-11-18 | 上海斐讯数据通信技术有限公司 | 数据加载的优化方法、系统及数据库和页面数据加载系统 |
CN105739983A (zh) * | 2016-01-29 | 2016-07-06 | 腾讯科技(深圳)有限公司 | 脚本程序编辑装置及其实现方法 |
CN107704757A (zh) * | 2017-09-22 | 2018-02-16 | 成都知道创宇信息技术有限公司 | 利用pypy沙箱模式实现安全的开放式Python用户编程接口的方法 |
CN108415692A (zh) * | 2018-02-06 | 2018-08-17 | 上海易联网络技术有限公司 | 一键生成前端ui脚本框架插件的方法和系统 |
CN108572312A (zh) * | 2018-04-12 | 2018-09-25 | 中国电子产品可靠性与环境试验研究所((工业和信息化部电子第五研究所)(中国赛宝实验室)) | SoC芯片测试方法、装置、系统和SoC芯片测试验证板 |
CN110647328A (zh) * | 2019-08-21 | 2020-01-03 | 珠海国津软件科技有限公司 | 一种it服务脚本系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050149910A1 (en) * | 2003-10-31 | 2005-07-07 | Prisament Raymond J. | Portable and simplified scripting language parser |
CN101071372A (zh) * | 2007-03-30 | 2007-11-14 | 腾讯科技(深圳)有限公司 | 一种脚本内核管理方法及系统 |
CN102646035A (zh) * | 2012-02-17 | 2012-08-22 | 南京南瑞继保电气有限公司 | 基于api接口和脚本定义相结合的可视化代码生成方法 |
-
2012
- 2012-09-07 CN CN201210330225.4A patent/CN103677772B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050149910A1 (en) * | 2003-10-31 | 2005-07-07 | Prisament Raymond J. | Portable and simplified scripting language parser |
CN101071372A (zh) * | 2007-03-30 | 2007-11-14 | 腾讯科技(深圳)有限公司 | 一种脚本内核管理方法及系统 |
CN102646035A (zh) * | 2012-02-17 | 2012-08-22 | 南京南瑞继保电气有限公司 | 基于api接口和脚本定义相结合的可视化代码生成方法 |
Non-Patent Citations (3)
Title |
---|
JOE LENNON: "JavaScript 框架比较", 《HTTPS://WWW.IBM.COM/DEVELOPERWORKS/CN/WEB/WA-JSFRAMEWORKS/》 * |
周爱武等: "《数据库课程设计》", 30 April 2012 * |
陈印等: "基于jQuery脚本库技术的插件开发方法研究", 《四川职业技术学院学报》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105069164A (zh) * | 2015-08-27 | 2015-11-18 | 上海斐讯数据通信技术有限公司 | 数据加载的优化方法、系统及数据库和页面数据加载系统 |
CN105739983A (zh) * | 2016-01-29 | 2016-07-06 | 腾讯科技(深圳)有限公司 | 脚本程序编辑装置及其实现方法 |
CN105739983B (zh) * | 2016-01-29 | 2019-03-15 | 腾讯科技(深圳)有限公司 | 脚本程序编辑装置及其实现方法 |
CN107704757A (zh) * | 2017-09-22 | 2018-02-16 | 成都知道创宇信息技术有限公司 | 利用pypy沙箱模式实现安全的开放式Python用户编程接口的方法 |
CN108415692A (zh) * | 2018-02-06 | 2018-08-17 | 上海易联网络技术有限公司 | 一键生成前端ui脚本框架插件的方法和系统 |
CN108572312A (zh) * | 2018-04-12 | 2018-09-25 | 中国电子产品可靠性与环境试验研究所((工业和信息化部电子第五研究所)(中国赛宝实验室)) | SoC芯片测试方法、装置、系统和SoC芯片测试验证板 |
CN110647328A (zh) * | 2019-08-21 | 2020-01-03 | 珠海国津软件科技有限公司 | 一种it服务脚本系统 |
Also Published As
Publication number | Publication date |
---|---|
CN103677772B (zh) | 2019-01-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103677772A (zh) | 脚本编写方法及相应的脚本编写系统 | |
CN108664245B (zh) | 一种基于json自描述结构的网页界面生成方法及装置 | |
CN104731584B (zh) | 一种开放式数控系统人机界面可定制的组态设计方法 | |
CN102096593B (zh) | 基于Flex技术的Web端业务流程图形化编辑框架系统及方法 | |
CN103279373B (zh) | 浏览器外壳功能的更新方法及装置 | |
KR101416089B1 (ko) | 웹 어플리케이션 저작을 위한 통합 플랫폼 및 그 저작 방법 | |
CN105630939B (zh) | 一种通用画布输入接口设计方法及装置 | |
CN112711408A (zh) | 基于Vue组件化的可视化配置渲染方法、系统、终端 | |
US20170286068A1 (en) | Development support system | |
CN106445497A (zh) | 应用程序开发方法及系统 | |
CN106802804B (zh) | 一种人机界面的可视化变量关联组件的方法及系统 | |
CN101226479A (zh) | 一种实现手机菜单动态配置的方法 | |
CN103150198B (zh) | 一种组态软件的显示方法 | |
CN113064593B (zh) | 移动app动态化的方法、装置、计算机设备及存储介质 | |
CN102129369B (zh) | 在Android手机上整合TinxX图形界面的方法 | |
CN109213485A (zh) | 一种文本折行实现方法、终端设备及存储介质 | |
CN115220709A (zh) | 一种vue页面编辑方法、系统以及计算机可读存储介质 | |
CN108228139B (zh) | 基于html5浏览器框架的单片机开发系统及装置 | |
CN101776997A (zh) | 一种界面处理方法及装置 | |
CN101149700B (zh) | 通过配置文件实现命令显示的方法 | |
CN116909553A (zh) | 一种页面在线开发及本地编译运行系统 | |
CN103902274A (zh) | 智能电视ui开发的平台 | |
CN104267954A (zh) | 一种用户界面中所包含的部件的生成方法和装置 | |
CN114281335A (zh) | 视图生成方法和相关设备 | |
CN106815003A (zh) | 一种计算机语言的交互系统及交互方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |