CN102779031A - 一种生成JavaScript脚本程序的方法 - Google Patents
一种生成JavaScript脚本程序的方法 Download PDFInfo
- Publication number
- CN102779031A CN102779031A CN2011101212600A CN201110121260A CN102779031A CN 102779031 A CN102779031 A CN 102779031A CN 2011101212600 A CN2011101212600 A CN 2011101212600A CN 201110121260 A CN201110121260 A CN 201110121260A CN 102779031 A CN102779031 A CN 102779031A
- Authority
- CN
- China
- Prior art keywords
- javascript
- class
- handled
- program
- developer
- 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.)
- Pending
Links
Images
Landscapes
- Stored Programmes (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本发明提供一种生成JavaScript脚本程序的方法,其中该方法包括以下步骤:提供JavaScript包;生成JavaScript脚本程序,其中,通过调用所述JavaScript包以实现所述JavaScript脚本程序运行时的图形绘制处理、本地数据存取处理以及操作管理处理。本发明的优点是,通过提供具有和Java类相同功能的JavaScript类,使开发人员无论是开发新的WEB程序,还是对现有的Java程序进行二次开发,将其转化为WEB程序,都可以直接调用所述JavaScript类以实现相应的功能,从而在很短的时间内生成出数量可观的、适用于兼容HTML5的浏览器的JavaScript脚本程序,不但有效地节约了开发人员的时间、提高了开发人员的工作效率,还可以降低开发过程中出现错误的可能。
Description
技术领域
本发明涉及计算机技术,尤其涉及一种生成JavaScript脚本程序的方法。
背景技术
随着HTML5的问世,作为下一代WEB开发的标准,HTML5在先前HTML4的基础上增加了很多新的特性,例如,绘图功能、音频/视频播放、本地存取、离线应用等,这些新特性可以在WEB端实现精美的画面以及流畅的体验。HTML5的上述新特性,使WEB程序所具有的跨平台性的优势体现得更为突出,即,很多适用于移动终端的应用,例如多媒体应用、游戏等,可以直接在支持HTML5的移动终端上通过浏览器进行显示,而无需根据移动终端的型号或者操作系统下载相应的Java程序包然后再进行安装。
为了实现HTML5下WEB端的应用,可以对现有的Java程序进行二次开发,将其转化为JavaScript脚本程序,也可以利用JavaScript语言生成JavaScript脚本程序实现新的应用(JavaScript是一种功能强大的客户端脚本语言,因此通常被开发人员用来进行WEB程序的开发)。在对现有的Java程序进行二次开发的过程中,开发人员需要通过JavaScript语句实现Java程序中所使用类的功能,而很多Java程序往往会使用相同的Java类以实现相同的功能,例如,绘制图像、音/视频播放等,所以,开发人员在对Java程序进行转化的时候,通常需要重复编写大量相同的JavaScript代码;而在生成新的JavaScript脚本程序的过程中,开发人员也会遇到类似的情况,即,为了在不同的WEB程序中实现相同的功能而重复性进行JavaScript代码的编写,如此一来,不但浪费了开发人员的时间,导致开发人员工作效率低下,而且一旦出现错误,还不容易进行排查。
因此,亟需提供一种快速、准确生成JavaScript脚本程序的方法,可以让开发人员在短时间内生成出数量可观的、适用于兼容HTML5的浏览器的JavaScript脚本程序。
发明内容
本发明的目的是提供一种解决上述问题的快速、准确生成JavaScript脚本程序的方法。
根据本发明的一个方面,提供了一种生成JavaScript脚本程序的方法,该方法包括以下步骤:
提供JavaScript包;
生成JavaScript脚本程序,其中,通过调用所述JavaScript包以实现所述JavaScript脚本程序运行时的图形绘制处理、本地数据存取处理以及操作管理处理。
与现有技术相比,本发明具有以下优点:通过提供具有和Java类相同功能的JavaScript类,使开发人员无论是开发新的WEB程序,还是对现有的Java程序进行二次开发,将其转化为WEB程序,都可以直接调用所述JavaScript类以实现相应的功能,从而在很短的时间内开发出数量可观的、适用于兼容HTML5的浏览器的JavaScript脚本程序,不但有效地节约了开发人员的时间、提高了开发人员的工作效率,还可以降低开发过程中出现错误的可能。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为根据本发明一个方面的生成JavaScript脚本程序的方法流程图;以及
图2为根据本发明一个优选实施例的提供JavaScript包的方法流程图。
具体实施方式
下面结合附图对本发明作进一步详细描述。
首先参考图1,图1为根据本发明一个方面的生成JavaScript脚本程序的方法流程图,如图所示,在步骤S101中,提供JavaScript包,其中,提供所述JavaScript包的具体步骤请参考图2。
图2为提供JavaScript包的方法流程图,如图所示,在步骤S201中,提供JavaScript类,该JavaScript类实现对应Java类相同的功能。具体地,随着HTML5的推出,利用HTML5的新特性,可以在移动终端上通过WEB的形式实现诸多应用,例如,可以满足用户视听需求以及娱乐需求的多媒体应用。目前,上述应用很多是通过Java程序来实现的,其中,所述Java程序主要包括游戏或者应用程序。为了实现HTML5下WEB端的应用,可以利用JavaScript语言(开发WEB程序的常用语言)生成JavaScript脚本程序实现新的应用,也可以对现有的Java程序进行二次开发,将其转化为JavaScript脚本程序。
无论上述哪种情况,在生成的过程中,开发人员通常都会需要实现相同的功能,如果在多个JavaScript脚本程序的生成过程中,都使用JavaScript语句重复实现这些相同的功能,会浪费开发人员的时间,导致开发人员工作效率低下,且容易出错。以对Java程序进行二次开发为例说明,在很多Java程序中都会存在绘图功能的实现,该绘图功能可以通过简单地调用Java中的绘图类进行实现,而开发人员如果想将这些Java程序中的绘图功能转化为JavaScript语句,则需要在每一个Java程序的转化过程中编写大量相同的JavaScript代码,如此一来,不但效率非常低下,而且一旦出现错误,也不便于进行排查。
为了使开发人员可以快速、正确地进行JavaScript脚本程序的生成,可以使用JavaScript语言对Java类进行模拟,即,提供与Java类具有相同功能的JavaScript代码,并将该JavaScript代码封装成为JavaScript类。当开发人员在进行新的JavaScript脚本程序生成的时候,如果需要实现某一功能,可以直接调用具有相应功能的JavaScript类;当开发人员在进行Java程序的二次开发,将其转化为JavaScript脚本程序的时候,由于Java类是Java语言的核心和本质,Java程序都是通过Java类(包括属性和方法)以及符合Java语法的简单语句的来实现的,所以开发人员只需将Java程序中使用Java类所实现的功能,直接用JavaScript类进行实现,另外再通过JavaScript语言中的一些基本语句,即可完成Java程序的二次转化,快捷且准确地实现JavaScript脚本程序的生成。由于对提供JavaScript类的代码进行了封装,仅将接口提供给开发人员,所以开发人员在进行生成时可以直接使用所述接口,从而大大降低了出现错误的概率。
目前应用于移动终端上的Java程序主要是基于J2ME平台开发的的J2ME程序,该J2ME程序包括J2ME游戏以及J2ME应用程序,其中,J2ME游戏在J2ME程序中占了较大的比例,广泛受到移动终端用户的欢迎和喜爱。当移动终端开始兼容HTML5后,WEB网页游戏将仍是WEB应用的主流。在本实施例中,将以实现WEB网页游戏为例,对提供JavaScript类进行说明。
实现WEB网页游戏,通常都需要实现图形绘制处理、本地数据存取处理以及操作管理处理,其中,所述图形绘制处理包括图形的生成以及颜色的填充,例如,游戏人物的绘制、游戏场景的着色等;所述本地数据存取包括数据的本地永久存取以及本地会话存取,所述本地永久存取可以实现在关闭WEB网页游戏后,将与WEB网页游戏相关的数据保存至移动终端内,在下次运行该WEB网页游戏时,可以通过加载存取在移动终端内的数据继续该WEB网页游戏的进程,所述本地会话存取可以实现在WEB网页游戏运行过程中,对当前运行页面的相关数据进行临时保存;所述操作管理处理包括键盘的操作控制和触屏操作控制,使得移动终端的用户可以通过键盘、触屏或者重力感应来对游戏进行操控。在J2ME中,存在相应的J2ME类可以实现上述图形绘制处理、本地数据存取处理以及操作管理处理,例如,J2ME中的Graphics类可以用来实现图形绘制处理。所以,需要通过JavaScript代码去模拟相应的J2ME类,以实现上述图形绘制处理、本地数据存取处理以及操作管理处理。在提供JavaScript代码以实现J2ME类的功能后,将该JavaScript代码进行封装,即可提供具有和J2ME类相同功能的JavaScript类。
可选地,JavaScript类中除了包括图形绘制处理、本地数据存取处理以及操作管理处理的JavaScript类,还可以进一步包括用于实现音效控制处理、离线应用处理和/或套接字网络连接处理的JavaScript类,其中,所述音效控制处理包括音效的播放、音效的停止以及音量的控制,可以使WEB网页游戏具有背景音与特效声音;所述离线应用处理包括离线数据缓存,可以实现移动终端用户在离线的情况下仍可以正常运行WEB网页游戏;所述套接字网络连接处理包括网络的检测以及网络连接的建立,可以实现移动终端用户通过底层网络与其他用户进行交互。
上述仅以实现WEB网页游戏为例,当生成JavaScript脚本程序实现其他应用的WEB程序时,可根据该应用所实现的功能,提供相应的JavaScript类。
然后,执行步骤S202,根据JavaScript类所实现功能的类型,将所述JavaScript类封装成一个或者多个JavaScript包。具体地,在提供JavaScript类之后,对所述JavaScript类进行分类,并将分类后的JavaScript类分别进行封装,提供一个或者多个JavaScript包,利于开发人员根据JavaScript包的类型即可快速找到其所需要的类,而无需在众多JavaScript类中逐一查找。其中,可以根据JavaScript类所实现功能的类型对JavaScript类进行分类,仍以上述实现WEB网页游戏,提供JavaScript类为例进行说明,可以将所有实现图形绘制处理的JavaScript类封装成图形绘制处理包,将所有实现本地数据存取处理的JavaScript类封装成本地数据存取包,而将所有实现操作管理处理的JavaScript类封装成操作管理处理包。此外,还可以根据开发人员的特定需求对JavaScript类进行分类,例如,当开发人员主要是进行音视频相关应用的开发时,可以将音视频相关应用开发中常用到的JavaScript类封装成包,使得开发人员只需要利用这一个包就可以完成音视频相关应用的开发,非常便利。当然,根据实际应用的情况,还存在其他对JavaScript类进行分类的方法,在此不再一一说明。封装后的每个JavaScript包中包括至少一个JavaScript类。提供JavaScript包后,将其导入JavaScript脚本编辑器中,便于开发人员在生成JavaScript脚本程序时,根据需要加载JavaScript包中一个或者多个JavaScript类,以实现相应的功能。
在提供JavaScript包之后,可选地,还可以建立信息表,用于记录JavaScript类与Java类之间的对应关系。具体地,由于JavaScript类是根据Java类生成的,即,每个JavaScript类都会与至少一个Java类相对应,而每个JavaScript类是由一个或者多个方法所构成,所以,每个JavaScript类下的方法也都会与相应的Java类下的方法相对应。记录JavaScript类与Java类之间的对应关系生成信息表,开发人员可以借助该信息表快速进行JavaScript脚本程序的生成工作,特别是在对现有的Java程序进行二次开发,将其转化为JavaScript脚本程序的时候,开发人员只需根据Java程序中所出现的Java类,在所述信息表内找到相应的JavaScript类直接进行调用,就可以完成JavaScript脚本程序的生成。以提供JavaScript类模拟J2ME类为例说明,使用JavaScript语言生成jsGraphics类,以实现J2ME语言中Graphics类的功能,其中,jsGraphics类下的jsfillrect方法,可以用来实现与J2ME语言中Graphics类下fillrect方法相同的功能,即对矩形进行颜色填充。将上述jsfillrect方法和fillrect方法之间的对应关系记录至信息表,当开发人员在进行JavaScript脚本程序的生成过程中,需要将对矩形进行颜色填充的J2ME语句转化为JavaScript语句,他只需在信息表内查找到J2ME类中的fillrect方法,然后根据对应关系找到相应的jsfillrect方法进行调用。此外,所述信息表中进一步还可以包括JavaScript类的调用方法,例如,参数的类型、返回值的类型等,开发人员可以根据调用方法的使用说明,正确使用所述JavaScript类,使得JavaScript脚本程序的生成变得更加简单、快捷。
接着,返回参考图1,执行步骤S102,生成JavaScript脚本程序,其中,通过调用所述JavaScript包以实现所述JavaScript脚本程序运行时的图形绘制处理、本地数据存取处理以及操作管理处理。
具体地,在提供JavaScript包后,无论开发人员是对现有的Java程序进行二次开发,将所述Java程序转化为JavaScript脚本程序,还是直接使用JavaScript语言生成新的脚本程序,开发人员都可以利用所述JavaScript包,快速进行JavaScript脚本程序的生成,即,在编写JavaScript脚本程序的过程中直接使用JavaScript类,以实现相应的功能。当完成JavaScript脚本程序后,将该JavaScript脚本嵌入至HTML(超文本标记语言)中,或者在HTML中对JavaScript脚本进行外部调用,然后由移动终端的浏览器对所述JavaScript脚本进行解析和运行,在解析和运行的过程中通过调用相应的JavaScript包,可以实现所述JavaScript脚本程序运行时例如图形绘制处理、本地数据存取处理以及操作管理处理。
实施上述具体实施方式,有效地解决了现有技术中出现的问题。通过提供具有和Java类相同功能的JavaScript类,使开发人员无论是开发新的WEB程序,还是对现有的Java程序进行二次开发,将其转化为WEB程序,都可以直接调用所述JavaScript类以实现相应的功能,从而在很短的时间内生成出数量可观的、适用于兼容HTML5的浏览器的JavaScript脚本程序,不但有效地节约了开发人员的时间、提高了开发人员的工作效率,还可以降低开发过程中出现错误的可能。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
Claims (12)
1.一种生成JavaScript脚本程序的方法,该方法包括以下步骤:
提供JavaScript包;
生成JavaScript脚本程序,其中,通过调用所述JavaScript包以实现所述JavaScript脚本程序运行时的图形绘制处理、本地数据存取处理以及操作管理处理。
2.根据权利要求1所述的方法,其中,所述提供JavaScript包的步骤包括:
提供JavaScript类,该JavaScript类实现对应Java类相同的功能;
根据JavaScript类所实现功能的类型,将所述JavaScript类封装成一个或者多个JavaScript包。
3.根据权利要求2所述的方法,其中,所述Java类是J2ME类。
4.根据权利要求1至3中任一项所述的方法,其中:
建立信息表,记录所述JavaScript类和Java类之间的对应关系。
5.根据权利要求4所述的方法,其中:
所述信息表还记录所述JavaScript类的调用方法。
6.根据权利要求1至3中任一项所述的方法,其中:
所述图形绘制处理包括图形的生成以及颜色的填充。
7.根据权利要求1至3中任一项所述的方法,其中:
本地数据存取处理包括数据的本地永久存取以及本地会话存取。
8.根据权利要求1至3中任一项所述的方法,其中,操作管理处理包括键盘操作控制、触屏操作控制、重力感应控制中的一种或者多种。
9.根据权利要求1至3中任一项所述的方法,其中:
运行所述JavaScript脚本程序时调用所述JavaScript包,还实现所述JavaScript脚本程序运行时的音效控制处理、离线应用处理和/或套接字网络连接处理。
10.根据权利要求9所述的方法,其中:
所述音效控制处理包括音效的播放、音效的停止以及音量的控制。
11.根据权利要求9所述的方法,其中,所述离线应用处理包括离线数据缓存。
12.根据权利要求9所述的方法,其中:
所述套接字网络连接处理包括网络的检测以及网络连接的建立。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011101212600A CN102779031A (zh) | 2011-05-10 | 2011-05-10 | 一种生成JavaScript脚本程序的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011101212600A CN102779031A (zh) | 2011-05-10 | 2011-05-10 | 一种生成JavaScript脚本程序的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102779031A true CN102779031A (zh) | 2012-11-14 |
Family
ID=47123953
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011101212600A Pending CN102779031A (zh) | 2011-05-10 | 2011-05-10 | 一种生成JavaScript脚本程序的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102779031A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104536751A (zh) * | 2014-12-26 | 2015-04-22 | 小米科技有限责任公司 | 网页源码迁移方法和装置 |
WO2016000171A1 (zh) * | 2014-06-30 | 2016-01-07 | 华为技术有限公司 | 指令序列确定的方法和相关设备及系统 |
CN107851069A (zh) * | 2014-12-08 | 2018-03-27 | 株式会社理光 | 图像管理系统、图像管理方法及程序 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101697139A (zh) * | 2009-11-06 | 2010-04-21 | 金蝶软件(中国)有限公司 | 一种远程过程调用方法、装置和注册库 |
CN101895582A (zh) * | 2010-07-15 | 2010-11-24 | 北京邮电大学 | 一种支持web业务和多浏览器的sip软终端及其工作方法 |
CN101996077A (zh) * | 2010-09-08 | 2011-03-30 | 海皮士(北京)网络技术有限公司 | 一种在三维客户端中嵌入浏览器的方法和系统 |
-
2011
- 2011-05-10 CN CN2011101212600A patent/CN102779031A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101697139A (zh) * | 2009-11-06 | 2010-04-21 | 金蝶软件(中国)有限公司 | 一种远程过程调用方法、装置和注册库 |
CN101895582A (zh) * | 2010-07-15 | 2010-11-24 | 北京邮电大学 | 一种支持web业务和多浏览器的sip软终端及其工作方法 |
CN101996077A (zh) * | 2010-09-08 | 2011-03-30 | 海皮士(北京)网络技术有限公司 | 一种在三维客户端中嵌入浏览器的方法和系统 |
Non-Patent Citations (1)
Title |
---|
张栗等: "基于DWR框架的WEB应用的设计与实现", 《计算机技术与发展》, vol. 18, no. 8, 31 August 2008 (2008-08-31) * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016000171A1 (zh) * | 2014-06-30 | 2016-01-07 | 华为技术有限公司 | 指令序列确定的方法和相关设备及系统 |
CN105493037A (zh) * | 2014-06-30 | 2016-04-13 | 华为技术有限公司 | 指令序列确定的方法和相关设备及系统 |
CN107851069A (zh) * | 2014-12-08 | 2018-03-27 | 株式会社理光 | 图像管理系统、图像管理方法及程序 |
CN107851069B (zh) * | 2014-12-08 | 2021-03-09 | 株式会社理光 | 图像管理系统、图像管理方法及程序 |
US11194538B2 (en) | 2014-12-08 | 2021-12-07 | Ricoh Company, Ltd. | Image management system, image management method, and program |
US11740850B2 (en) | 2014-12-08 | 2023-08-29 | Ricoh Company, Ltd. | Image management system, image management method, and program |
CN104536751A (zh) * | 2014-12-26 | 2015-04-22 | 小米科技有限责任公司 | 网页源码迁移方法和装置 |
CN104536751B (zh) * | 2014-12-26 | 2018-04-06 | 小米科技有限责任公司 | 网页源码迁移方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101161083B1 (ko) | 주문형 무선 서비스들에 대한 적응성 스트리밍 | |
CN101697139B (zh) | 一种远程过程调用方法、装置和注册库 | |
CN108984174B (zh) | 跨平台的应用创建方法、装置、服务器和存储介质 | |
CN101627368A (zh) | 计算机图形再现 | |
CN105630459A (zh) | 一种将ppt转换为html页面的方法 | |
CN103425491A (zh) | 一种游戏引擎 | |
CN111158690B (zh) | 桌面应用框架、构建方法、桌面应用运行方法及存储介质 | |
CN104683386A (zh) | 可定制响应的桩服务实现方法及装置 | |
CN102591961A (zh) | 一种制作数据图表的方法及系统 | |
CN103974111B (zh) | 将智能终端上的数据传输至电视终端的方法、装置 | |
CN103414866B (zh) | 播放在线音视频的方法、嵌入式多媒体设备及电视 | |
CN106850650B (zh) | 用于游戏客户端访问数据的方法及客户端游戏系统 | |
JP2023537767A (ja) | 画像処理方法及び装置、並びにコンピュータ可読記憶媒体 | |
CN104965914A (zh) | 一种页面显示方法及装置 | |
CN114244821B (zh) | 数据处理方法、装置、设备、电子设备和存储介质 | |
CN111767229A (zh) | 性能测试方法、装置和设备 | |
CN102779031A (zh) | 一种生成JavaScript脚本程序的方法 | |
CN111475237A (zh) | 菜单处理方法、装置、电子设备及存储介质 | |
CN101267632A (zh) | 移动终端、移动终端功能演示方法和演示文件生成方法 | |
CN101483694B (zh) | 矢量动画播放控制方法及装置 | |
CN114422468A (zh) | 消息处理方法、装置、终端及存储介质 | |
CN104615647A (zh) | 视图模型请求、下发方法及装置 | |
CN105278928A (zh) | Ivr对外接口配置方法及装置 | |
KR20060120638A (ko) | 가상머신에서 연속전달을 위한 방법 및 장치 | |
CN105320499A (zh) | 一种应用程序的适配方法和相关装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C05 | Deemed withdrawal (patent law before 1993) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20121114 |