CN105227608A - 用于开发丰富互联网应用的方法和装置 - Google Patents
用于开发丰富互联网应用的方法和装置 Download PDFInfo
- Publication number
- CN105227608A CN105227608A CN201410301689.1A CN201410301689A CN105227608A CN 105227608 A CN105227608 A CN 105227608A CN 201410301689 A CN201410301689 A CN 201410301689A CN 105227608 A CN105227608 A CN 105227608A
- Authority
- CN
- China
- Prior art keywords
- code
- collection
- view
- space
- another
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/34—Graphical or visual programming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/38—Creation or generation of source code for implementing user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Information Transfer Between Computers (AREA)
- User Interface Of Digital Computer (AREA)
- Stored Programmes (AREA)
Abstract
本发明的实施方式提供了用于开发丰富互联网应用的方法和装置。在本发明的一个实施方式中,提供了一种用于开发丰富互联网应用的方法,包括:定义用于代码集合的代码空间,代码集合与将在丰富互联网应用中显示的视图相关联;以及调整代码空间以使得调整后的代码空间独立于用于另一代码集合的另一代码空间,其中另一代码集合与将在丰富互联网应用中显示的另一视图相关联。在本发明的一个实施方式中,提供了一种用于开发丰富互联网应用的装置。采用本发明的方法和装置,可以隔离与将在丰富互联网应用中显示的各个视图相关联的代码集合之间的冲突。
Description
技术领域
本发明的各实施方式涉及网络应用的开发,更具体地,涉及用于开发丰富互联网应用(RichInternetApplication,RIA)的方法和装置。
背景技术
随着互联网技术的发展,基于web的应用已经能够提供越来越强大的功能。目前已经提出了丰富互联网应用的技术,并且该技术已经开始逐渐取代传统的基于web页面的开发模式。
web应用的传统开发模式是基于页面的,当用户点击当前web页面中的某个web元素(例如,链接)时,则该web应用将转向新的链接地址并加载新的web页面。尽管新的web页面中的大部分内容与当前web页面中的众多内容(例如,web页面顶部的标题栏、页面左侧的导航栏,等等)可能是相同的,然而由于新的web页面对应于新的URL地址,因而在显示新的web页面时还需要重新加载这些相同的内容。
丰富互联网应用可以在不必刷新整个web页面的情况下修改web页面内的部分内容,因而丰富互联网应用在一定程度上改进了基于web页面的应用的不足。采用丰富互联网应用技术,可以仅构造一个web页面,并且可以仅通过控制页面中的显示内容来实现期望的功能。以此方式,可以大大降低构造多个web页面所需的重复劳动,进而提高开发人员的工作效率。
然而,由于丰富互联网应用组合了原来需要由多个web页面实现的功能,丰富互联网应用的代码的复杂性将显著提高。通常,在开发丰富互联网应用时可能会涉及大量代码集合,并且该集合中通常包括多种类型的代码(例如,超文本标记语言(HypertextMarkupLanguage,HTML)代码、JavaScript代码、以及层叠样式表(CascadingStyleSheet,CSS)代码),并且通常还需要多个开发人员来协作开发丰富互联网应用。
在多个开发人员的开发期间,每个开发人员将仅针对代码集合中的部分代码进行编程。在各个开发人员已经完成了各自工作之后,再将各个开发人员的代码集成在一起进行调试。然而,由于开发过程期间各个开发人员并不知晓其他开发人员的代码细节,因而在不同开发人员编写的代码中可能会出现一些冲突。采用现有的开发工具,并不能检测到这些冲突,这将造成在针对整个丰富互联网应用进行测试期间出现诸多问题;并且基于现有的技术方案,并不能快速定位问题的原因。
因而,如何提供更为有效的开发环境以用于开发丰富互联网应用,已经成为一个研究热点。
发明内容
因而,期望开发出一种用于开发丰富互联网应用的技术方案,并且期望该技术方案可以隔离与将在丰富互联网应用中显示的各个视图相关联的代码集合之间的冲突,并且使得各个开发人员可以在无需关心其他开发人员的代码细节的情况下,更加关注于实现自己的编程目标。
在本发明的一个实施方式中,提供了一种用于开发丰富互联网应用的方法,包括:定义用于代码集合的代码空间,代码集合与将在丰富互联网应用中显示的视图相关联;以及调整代码空间以使得调整后的代码空间独立于用于另一代码集合的另一代码空间,其中另一代码集合与将在丰富互联网应用中显示的另一视图相关联。
在本发明的一个实施方式中,代码空间包括代码集合的命名空间,以及调整代码空间以使得调整后的代码空间独立于用于另一代码集合的另一代码空间包括:在命名空间中将代码集合转换至视图代码集合,在运行由视图代码集合生成的可执行代码时视图被显示。
在本发明的一个实施方式中,代码空间进一步包括用于显示代码集合的显示空间,以及调整代码空间以使得调整后的代码空间独立于用于另一代码集合的另一代码空间进一步包括:以独立于用于显示另一代码集合的另一显示空间的方式,显示显示空间。
在本发明的一个实施方式中,提供了一种用于开发丰富互联网应用的装置,包括:定义模块,配置用于定义用于代码集合的代码空间,代码集合与将在丰富互联网应用中显示的视图相关联;以及调整模块,配置用于调整代码空间以使得调整后的代码空间独立于用于另一代码集合的另一代码空间,其中另一代码集合与将在丰富互联网应用中显示的另一视图相关联。
在本发明的一个实施方式中,代码空间包括代码集合的命名空间,以及调整模块包括:转换模块,配置用于在命名空间中将代码集合转换至视图代码集合,在运行由视图代码集合生成的可执行代码时视图被显示。
在本发明的一个实施方式中,代码空间进一步包括用于显示代码集合的显示空间,以及调整模块进一步包括:显示模块,配置用于以独立于用于显示另一代码集合的另一显示空间的方式,显示显示空间。
采用本发明所述的方法和装置,可以在协作开发丰富互联网应用的各个开发人员之间将代码集合进行隔离,以便开发人员在无需关系其他开发人员的代码细节的情况下,更加关注于实现自己的编程目标。
附图说明
通过结合附图对本公开示例性实施方式进行更详细的描述,本公开的上述以及其他目的、特征和优势将变得更加明显,其中,在本公开示例性实施方式中,相同的参考标号通常代表相同部件。
图1示意性示出了适于用来实现本发明实施方式的示例性计算机系统/服务器的框图;
图2示意性示出了一个示例性的云计算环境;
图3示意性示出了云计算环境50(图2)提供的一组功能抽象层;
图4示意性示出了丰富互联网应用的web页面的示意图;
图5示意性示出了根据本发明一个实施方式的用于开发丰富互联网应用的技术方案的框图;
图6示意性示出了根据本发明一个实施方式的用于开发丰富互联网应用的方法的流程图;
图7A和图7B分别示意性示出了根据本发明一个实施方式的用于在命名空间中将代码集合转换至视图代码集合的框图;
图8示意性示出了根据本发明一个实施方式的用于开发丰富互联网应用的界面的示意图;以及
图9示意性示出了根据本发明一个实施方式的用于开发丰富互联网应用的装置的框图。
具体实施方式
下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整的传达给本领域的技术人员。
首先应当理解,尽管本公开包括关于云计算的详细描述,但其中记载的技术方案的实现却不限于云计算环境,而是能够结合现在已知或以后开发的任何其他类型的计算环境而实现。
云计算是一种服务交付模式,用于对共享的可配置计算资源池进行方便、按需的网络访问。可配置计算资源是能够以最小的管理成本或与服务提供者进行最少的交互就能快速部署和释放的资源,例如可以是网络、网络带宽、服务器、处理、内存、存储、应用、虚拟机和服务。这种云模式可以包括至少五个特征、至少三个服务模型和至少四个部署模型。
特征包括:
按需自助式服务:云的消费者在无需与服务提供者进行人为交互的情况下能够单方面自动地按需部署诸如服务器时间和网络存储等的计算能力。
广泛的网络接入:计算能力可以通过标准机制在网络上获取,这种标准机制促进了通过不同种类的瘦客户机平台或厚客户机平台(例如移动电话、膝上型电脑、个人数字助理PDA)对云的使用。
资源池:提供者的计算资源被归入资源池并通过多租户(multi-tenant)模式服务于多重消费者,其中按需将不同的实体资源和虚拟资源动态地分配和再分配。一般情况下,消费者不能控制或甚至并不知晓所提供的资源的确切位置,但可以在较高抽象程度上指定位置(例如国家、州或数据中心),因此具有位置无关性。
迅速弹性:能够迅速、有弹性地(有时是自动地)部署计算能力,以实现快速扩展,并且能迅速释放来快速缩小。在消费者看来,用于部署的可用计算能力往往显得是无限的,并能在任意时候都能获取任意数量的计算能力。
可测量的服务:云系统通过利用适于服务类型(例如存储、处理、带宽和活跃用户账号)的某种抽象程度的计量能力,自动地控制和优化资源效用。可以监测、控制和报告资源使用情况,为服务提供者和消费者双方提供透明度。
服务模型如下:
软件即服务(SaaS):向消费者提供的能力是使用提供者在云基础架构上运行的应用。可以通过诸如网络浏览器的瘦客户机接口(例如基于网络的电子邮件)从各种客户机设备访问应用。除了有限的特定于用户的应用配置设置外,消费者既不管理也不控制包括网络、服务器、操作系统、存储、乃至单个应用能力等的底层云基础架构。
平台即服务(PaaS):向消费者提供的能力是在云基础架构上部署消费者创建或获得的应用,这些应用利用提供者支持的程序设计语言和工具创建。消费者既不管理也不控制包括网络、服务器、操作系统或存储的底层云基础架构,但对其部署的应用具有控制权,对应用托管环境配置可能也具有控制权。
基础架构即服务(IaaS):向消费者提供的能力是消费者能够在其中部署并运行包括操作系统和应用的任意软件的处理、存储、网络和其他基础计算资源。消费者既不管理也不控制底层的云基础架构,但是对操作系统、存储和其部署的应用具有控制权,对选择的网络组件(例如主机防火墙)可能具有有限的控制权。
部署模型如下:
私有云:云基础架构单独为某个组织运行。云基础架构可以由该组织或第三方管理并且可以存在于该组织内部或外部。
共同体云:云基础架构被若干组织共享并支持有共同利害关系(例如任务使命、安全要求、政策和合规考虑)的特定共同体。共同体云可以由共同体内的多个组织或第三方管理并且可以存在于该共同体内部或外部。
公共云:云基础架构向公众或大型产业群提供并由出售云服务的组织拥有。
混合云:云基础架构由两个或更多部署模型的云(私有云、共同体云或公共云)组成,这些云依然是独特的实体,但是通过使数据和应用能够移植的标准化技术或私有技术(例如用于云之间的负载平衡的云突发流量分担技术)绑定在一起。
云计算环境是面向服务的,特点集中在无状态性、低耦合性、模块性和语意的互操作性。云计算的核心是包含互连节点网络的基础架构。
现在参考图1,其中显示了云计算节点的一个例子。图1显示的云计算节点10仅仅是适合的云计算节点的一个示例,不应对本发明实施方式的功能和使用范围带来任何限制。总之,云计算节点10能够被用来实现和/或执行以上所述的任何功能。
云计算节点10具有计算机系统/服务器12,其可与众多其他通用或专用计算系统环境或配置一起操作。众所周知,适于与计算机系统/服务器12一起操作的计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统﹑大型计算机系统和包括上述任意系统的分布式云计算技术环境,等等。
计算机系统/服务器12可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括执行特定的任务或者实现特定的抽象数据类型的例程、程序、目标程序、组件、逻辑、数据结构等。计算机系统/服务器12可以在通过通信网络链接的远程处理设备执行任务的分布式云计算环境中实施。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。
如图1所示,云计算节点10中的计算机系统/服务器12以通用计算设备的形式表现。计算机系统/服务器12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
计算机系统/服务器12典型地包括多种计算机系统可读介质。这些介质可以是能够被计算机系统/服务器12访问的任意可获得的介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。计算机系统/服务器12可以进一步包括其他可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图1未显示,通常称为“硬盘驱动器”)。尽管图1中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其他光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施方式的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在存储器28中,这样的程序模块42包括但不限于操作系统、一个或者多个应用程序、其他程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施方式中的功能和/或方法。
计算机系统/服务器12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机系统/服务器12交互的设备通信,和/或与使得该计算机系统/服务器12能与一个或多个其他计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,计算机系统/服务器12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与计算机系统/服务器12的其他模块通信。应当明白,尽管图中未示出,其他硬件和/或软件模块可以与计算机系统/服务器12一起操作,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
现在参考图2,其中显示了示例性的云计算环境50。如图所示,云计算环境50包括云计算消费者使用的本地计算设备可以与其相通信的一个或者多个云计算节点10,本地计算设备例如可以是个人数字助理(PDA)或移动电话54A,台式电脑54B、笔记本电脑54C和/或汽车计算机系统54N。云计算节点10之间可以相互通信。可以在包括但不限于如上所述的私有云、共同体云、公共云或混合云或者它们的组合的一个或者多个网络中将云计算节点10进行物理或虚拟分组(图中未显示)。这样,云的消费者无需在本地计算设备上维护资源就能请求云计算环境50提供的基础架构即服务(IaaS)、平台即服务(PaaS)和/或软件即服务(SaaS)。应当理解,图2显示的各类计算设备54A-N仅仅是示意性的,云计算节点10以及云计算环境50可以与任意类型网络上和/或网络可寻址连接的任意类型的计算设备(例如使用网络浏览器)通信。
现在参考图3,其中显示了云计算环境50(图2)提供的一组功能抽象层。首先应当理解,图3所示的组件、层以及功能都仅仅是示意性的,本发明的实施方式不限于此。如图3所示,提供下列层和对应功能:
硬件和软件层60包括硬件和软件组件。硬件组件的例子包括:主机,例如系统;基于RISC(精简指令集计算机)体系结构的服务器,例如IBM系统;IBM系统;IBM系统;存储设备;网络和网络组件。软件组件的例子包括:网络应用服务器软件,例如IBM应用服务器软件;数据库软件,例如IBM数据库软件。(IBM,zSeries,pSeries,xSeries,BladeCenter,WebSphere以及DB2是国际商业机器公司在全世界各地的注册商标)。
虚拟层62提供一个抽象层,该层可以提供下列虚拟实体的例子:虚拟服务器、虚拟存储、虚拟网络(包括虚拟私有网络)、虚拟应用和操作系统,以及虚拟客户端。
在一个示例中,管理层64可以提供下述功能:资源供应功能:提供用于在云计算环境中执行任务的计算资源和其他资源的动态获取;计量和定价功能:在云计算环境内对资源的使用进行成本跟踪,并为此提供账单和发票。在一个例子中,该资源可以包括应用软件许可。安全功能:为云的消费者和任务提供身份认证,为数据和其他资源提供保护。用户门户功能:为消费者和系统管理员提供对云计算环境的访问。服务水平管理功能:提供云计算资源的分配和管理,以满足必需的服务水平。服务水平协议(SLA)计划和履行功能:为根据SLA预测的对云计算资源未来需求提供预先安排和供应。
工作负载层66提供云计算环境可能实现的功能的示例。在该层中,可提供的工作负载或功能的示例包括:地图绘制与导航;软件开发及生命周期管理;虚拟教室的教学提供;数据分析处理;交易处理;以及丰富互联网应用的开发。
在本发明的一个实施方式中,可以在工作负载层66处实现根据本发明的各个实施方式的开发丰富互联网应用的技术方案,以便在云计算环境中可以方便地向用户提供用于开发丰富互联网应用的工具。具体地,本发明的各个实施方式可以以web浏览器的插件的方式来实现,使得用户基于web浏览器来开发丰富互联网应用。
应当注意,尽管在上文中以云环境为示例而示意性示出了本发明的应用环境,本领域技术人员应当理解,还可以在集成开发环境(IntegratedDevelopmentEnvironment,IDE)中实现本发明的实施方式,或者还可以结合现在已知或以后开发的任何其他类型的计算环境而实现本发明的各个实施方式。
图4示意性示出了丰富互联网应用的web页面的示意图400。如图4所示,丰富互联网应用的web页面可以包括多个分页签,例如可以包括新闻410、财经420、体育430和其他440。此时,每个分页签可以视为一个视图,并且在每个分页签中还可以包括其他的视图。例如,在财经420中可以包括要闻422和洲际新闻450两个视图。进一步,在洲际新闻450中还可以包括其他视图,例如,亚洲452、欧洲454以及美洲456等。
采用丰富互联网应用,例如当需要从亚洲452切换到欧洲454时,web页面中的其他部分保持不变因而不必再次加载。在开发丰富互联网应用期间,可以由多个开发人员来协作开发如图4中所示的丰富互联网应用。例如,可以由开发人员A来开发与亚洲452相关联的代码,由开发人员B来开发与欧洲454相关联的代码。采用现有的开发方式,不同的开发人员通常并不关心其他人员编写的代码的细节,因而在各个开发人员的代码之间可能会出现冲突的情况。
当出现冲突时,通常很难定位造成冲突的原因,并且需要大量人工操作才能找到该原因。因而,期望开发一种能够将与在丰富互联网应用中显示的不同视图相关联的不同代码集合进行隔离的技术方案。具体地,期望可以消除由相同或者不同人员开发的代码集合之间的冲突(例如,命名冲突),使得各个开发人员的代码在全局范围内是唯一的。进一步,期望可以将一个开发人员编写的代码与其他开发人员的代码相隔离地显示,以便使得开发人员方便地了解与各个视图相关联的代码。
为此,本发明提供了一种用于开发丰富互联网应用的技术方案。如图5所示,其中示意性示出了根据本发明一个实施方式的用于开发丰富互联网应用的技术方案的框图500。Web页面510示意性示出了丰富互联网应用中的两个视图,即,第一视图510和第二视图520。如图5所示,针对代码集合分别定义了第一代码空间522和第二代码空间524,其中代码集合分别与将在丰富互联网应用510中显示的第一视图510和第二视图520相关联。
根据本发明的实施方式,代码空间用于描述在开发期间与编写代码和/或显示代码相关的事务,在此的代码是与将在丰富互联网应用中显示的视图相关联的代码。
在本发明的一个实施方式中,提出了一种用于开发丰富互联网应用的方法,包括:定义用于代码集合的代码空间,代码集合与将在丰富互联网应用中显示的视图相关联;以及调整代码空间以使得调整后的代码空间独立于用于另一代码集合的另一代码空间,其中另一代码集合与将在丰富互联网应用中显示的另一视图相关联。
在下文中将参见图6描述本发明的各个实施方式的具体步骤,图6示意性示出了根据本发明一个实施方式的用于开发丰富互联网应用的方法的流程图600。在步骤S602中,定义用于代码集合的代码空间,该代码集合与将在丰富互联网应用中显示的视图相关联。具体地,可以基于开发人员声明的代码集合(包括已经编写的代码以及将在未开编写的代码)与将在丰富互联网应用中显示的视图的关联关系来定义代码空间。
例如,丰富互联网应用的代码集合可以包括三种类型的代码(HTML代码、JavaScript代码、以及CSS代码),可以基于开发人员定义的关联关系来定义代码空间。假设开发人员针对视图viewA定义了如下文表1所示的关联关系,则例如可以采用如表2所示的数据结构来表示代码空间:
表1关联关系
表2代码空间
如表2所示的代码空间表示,该代码空间对应于视图viewA,包括javascript代码a.js和b.js、CSS代码x.css和y.css、以及HTML代码p.html。表2仅仅示意性示出了用于描述代码空间的一个示例,本领域技术人员还可以定义其他的数据结构来描述代码空间,在此不再赘述。
应当注意,本发明的各个实施方式可以涉及开发丰富互联网应用的整个过程。在开发初期,在需求分析阶段已经定义了需要在丰富互联网应用中显示哪些视图并且已经定义了各个视图的功能,尽管此时还不存在代码(即,代码集合为空),也可以设置代码空间用于描述与在未来的开发期间与编写代码和显示代码相关的事务。例如,对于如表2所示的示例,此时可以仅定义各种类型的文件的名称,例如a.js、b.js、x.css和y.css等,并且此时各个代码文件可以为空。
代码集合在开发期间逐渐丰富,并且此时的代码空间也随着代码集合的变化而变化。另外,当已经基于传统技术开发了一部分代码,并且使用如本发明的技术方案来继续开发丰富互联网应用时,也可以针对已经开发的代码集合来定义代码空间。
在步骤S604中,调整代码空间以使得调整后的代码空间独立于用于另一代码集合的另一代码空间,其中另一代码集合与将在丰富互联网应用中显示的另一视图相关联。在此实施方式中,可以针对不同的视图定义各自的代码空间,继而可以调整代码空间,以使得针对不同代码集合定义的代码空间互相独立。应当注意,在此“独立”的含义是使得两个代码空间内的代码不冲突。具体地,“独立”是指在编写与将在丰富互联网应用中显示的不同视图相关联的代码期间,各项事务(例如,代码的命名和显示)不会冲突。
在下文中,将参见具体示例描述各个实施方式的具体细节。在本发明的一个实施方式中,代码空间包括代码集合的命名空间,以及调整代码空间以使得调整后的代码空间独立于用于另一代码集合的另一代码空间包括:在命名空间中将代码集合转换至视图代码集合,在运行由视图代码集合生成的可执行代码时该视图被显示。
代码集合之间的冲突的一个方面在于命名空间冲突。例如,假设开发人员A正在编写用于视图viewA的代码,而开发人员B正在编写用于视图viewB的代码,并且两个开发人员在各自的代码集合内都定义了函数ViewInitialization()。则在运行整个丰富互联网应用时,可能会由于两个代码集合中的函数名称的重复而造成冲突。因而,需要消除各个代码集合之间的命名的冲突。
在每个开发人员独立编写并调试自己开发的代码时,尽管可以实现视图的相关功能,然而当将各个开发人员的代码集合进行集成并调试时则很可能出现冲突。此时,需要在每个命名空间中将代码集合转换至视图代码集合。视图代码集合是基于原始的代码集合生成的代码的集合,该代码保留了原始代码的功能并且消除了各个代码空间之间的冲突;进而,在运行由视图代码集合生成的可执行代码时可以正常显示视图。
将代码集合转换至视图代码集合可能涉及多方面的内容,在本发明的一个实施方式中,在命名空间中将代码集合转换至视图代码集合包括:转换代码集合中的元素(element)名称,以使得转换后的元素名称在命名空间以及用于另一代码集合的另一命名空间中是唯一的。
代码集合中可以包括多种元素,例如,变量、函数、数据结构等。概括而言,可以通过向各个元素的名称添加前缀、后缀等方法,将各个代码集合中的元素名称转换为与其他元素名称不同的元素名称。由于开发丰富互联网应用期间可能会涉及到HTML、Javascript和CSS等多种代码,因而,针对各种类型的代码可以分别执行不同的转换步骤。
在本发明的一个实施方式中,代码集合至少包括以下任一类型的代码:HTML代码、JavaScript代码、以及CSS代码,以及其中在命名空间中将代码集合转换至视图代码集合包括:针对至少一个类型的代码,在命名空间中将代码集合转换至视图代码集合。
具体地,图7A和图7B分别示意性示出了根据本发明一个实施方式的用于在命名空间中将代码集合转换至视图代码集合的框图700A和700B。图7A示出了根据本发明的一个实施方式的将Javascript代码集合转换至视图代码集合的框图。在本发明的一个实施方式中,可以将原始代码集合中的代码段710A转换至视图代码集合中的代码段720A。例如,可以通过将原始代码段710A进行封装的方式来实现转换。具体地,通过使用语句document.getElementBySelector(“.oneui.view1”),可以将原始代码集合中的代码段710A指定为与特定的视图相关联,因而可以将代码段710A的内容指定为不但在与视图“oneui.view1”相关联的范围内唯一,并且独立于与其他视图相关联的代码集合。
如图7A所示,原始代码段710被转换为代码段720,通过使用document.getElementBySelector(“.oneui.view1”).appendChild(child_node)、以及dom.query(“.oneui.view1.button1”).style(“…”),可以实现将与不同视图相关联的代码集合中的各个元素命名进行隔离。在代码段720中的上述两个语句在针对丰富互联网应用中的各个视图而开发的代码中都是唯一的;换言之,上述两个语句在全局代码空间中是唯一的并且在命名方面不会与其他语句出现冲突。在本发明的一个实施方式中,对于javascript代码中的元素,可以通过封装的方式来进行转换。
如图7B所示,在本发明的一个实施方式中,可以将原始代码集合中的代码段710B转换至视图代码集合中的代码段720B。例如,可以通过前缀的方式处理原始代码集合中的代码段710B。如图7B所示,向代码段710B中的元素“.tabContent.button1”增加前缀“.oneui.view1”,因而转换后的视图代码集合中的代码段720B中的元素可以表示为“.oneui.view1.tabContent.button1”。以此方式,视图代码集合中的代码不但在特定视图相关联的范围内唯一,并且独立于与其他视图相关联的代码集合。在本发明的一个实施方式中,对于变量以及函数类型的元素,可以通过增加前缀的方式来进行转换。
在上文中仅以封装和添加前缀的方式作为隔离各个代码集合的具体示例,本领域技术人员应当理解,转换的目的在于通过对原始元素名称进行封装或者添加前缀,以便确保转换后的元素名称跨越与多个视图相关联的多个代码集合而保持唯一。
本领域技术人员还可以基于本发明所述的原理,采用其他方式来将原始的代码集合转换为视图代码集合。例如,可以构造映射函数来描述原始的代码集合中的元素名称与视图代码集合中的元素名称之间的映射关系,或者还可以基于映射字典等来进行转换。在此并不将转换方法局限于本发明中示出的示例方法,而是只要采用的转换方法能够将原始代码集合中出现的元素名称转换为跨越与不同视图相关联的不同代码集合保持全局唯一的元素名称即可。
在本发明的上下文中,并不限定是否针对原始代码集合中的每个元素名称进行转换,而是可以首先判断该元素名称在与丰富互联网应用中的多个视图相关联的相应代码集合中是否唯一,可以在发现元素名称并不唯一的情况下再进行转换。
在本发明的一个实施方式中,转换代码集合中的元素名称包括:基于视图的标识符来转换元素名称。丰富互联网应用中的每个视图可以具有全局唯一的标识符,为了简化转换步骤,可以基于视图的标识符来转换元素名称。例如,假设在视图viewA和视图viewB中分别定义了函数ViewInitialization(),则此时可以将两个函数名称分别转换为viewA.ViewInitialization()和viewB.ViewInitialization()。在采用其他映射函数的情况下,可以生成其他转换结果。
在本发明的一个实施方式中,代码空间进一步包括用于显示代码集合的显示空间,以及调整代码空间以使得调整后的代码空间独立于用于另一代码集合的另一代码空间进一步包括:以独立于用于显示另一代码集合的另一显示空间的方式,显示显示空间。
在下文中,参见图8来描述如何实现显示空间的隔离。图8示意性示出了根据本发明一个实施方式的用于开发丰富互联网应用的界面的示意图800。如图8所示,丰富互联网应用包括两个视图,分别为view_1和view_2。在根据本发明的开发界面中,可以独立地显示用于视图view_1和view_2的显示空间810和820。显示空间例如可以包括视图和与视图相关联的代码集合。
根据本发明的实施方式,可以按照视图在丰富互联网应用中显示的位置,来显示相应的显示空间;可以将针对一个视图的显示空间最大化;或者还可以仅显示选定的视图的显示空间。以此方式,协作编程的各个开发人员可以可视化地了解其他开发人员正在编写的代码,进而便于各个开发人员之间的沟通。
在本发明的一个实施方式中,视图至少包括以下中的至少任一项:web元素以及其他视图。应当注意,在本发明的上下文中视图可以包括用于构造web页面的基本web元素,例如,文本、图像、css、javascript等;另外,在视图中还可以嵌套另一视图。如图4所示在视图450中,还可以包括452、454和456三个视图。根据开发人员的任务分工,可以在不同的粒度定义视图。
例如,当由不同开发人员来开发与视图450、452、454和456相关联的代码时,可以针对与上述4个视图相关联的4个代码集合来定义代码空间,以便确保各个代码空间相互独立进而可以消除由于不同开发人员采用相同元素名称而造成的冲突。
又例如,当由同一个开发人员来开发视图450、452、454和456时,可以将视图450作为顶层的视图,并且可以仅定义与视图450相关联的代码集合的代码空间;或者,还可以针对每个视图定义各自的代码空间。
在本发明的一个实施方式中,进一步包括:针对视图代码集合进行构建(build)以形成中间代码;以及运行中间代码以用于调试。本发明的各个实施方式还提供了基于代码空间来进行调试的技术方案。可以将转换所得的视图代码集合进行构建以形成中间代码,之后运行中间代码以用于调试。例如,可以基于如图8所示的开发界面来进行调试。例如在用于视图view_1的显示空间810中,可以在上部显示所开发代码的运行结果,并且在下部显示正在开发的代码。
在不同的开发环境中,构建具有不同的含义。在本发明的一个实施方式中,针对视图代码集合进行构建以形成中间代码包括以下中的任一项:在集成开发环境中,编译视图代码集合以形成中间代码;以及在基于web的开发环境中,压缩视图代码集合以形成中间代码。本领域技术人员可以基于现有技术中关于编译和压缩的技术方案来实现构建步骤,在本发明的上下文中不再赘述。
在本发明的一个实施方式中,在基于web的开发环境中,方法由浏览器的插件执行。本领域技术人员应当理解,本发明的各个实施方式可以与现有的基于web的开发环境相兼容,例如,可以以浏览器插件的方式实现本发明的各个实施方式,以便与现有技术中的例如Firebug、ChromeDev等开发工具相结合。
前面已经参考附图描述了实现本发明的方法的各个实施方式。本领域技术人员可以理解的是,上述方法既可以以软件方式实现,也可以以硬件方式实现,或者通过软件与硬件相结合的方式实现。并且,本领域技术人员可以理解,通过以软件、硬件或者软硬件相结合的方式实现上述方法中的各个步骤,可以提供一种基于相同发明构思的一种设备。即使该设备在硬件结构上与通用处理设备相同,由于其中所包含的软件的作用,使得该设备表现出区别于通用处理设备的特性,从而形成本发明的各个实施方式的设备。本发明中所述设备包括若干装置或模块,所述装置或模块被配置为执行相应步骤。本领域的所述技术人员通过阅读本说明书可以理解如何编写程序实现所述装置或模块执行的动作。由于所述设备与方法基于相同的发明构思,因此其中相同或相应的实现细节同样适用于与上述方法对应的装置或模块,由于其在上文中已经进行了详细和完整的描述,因此在下文中可能不再进行赘述。
图9示意性示出了根据本发明一个实施方式的用于开发丰富互联网应用的装置的框图900。具体地,提供了一种用于开发丰富互联网应用的装置,包括:定义模块910,配置用于定义用于代码集合的代码空间,代码集合与将在丰富互联网应用中显示的视图相关联;以及调整模块920,配置用于调整代码空间以使得调整后的代码空间独立于用于另一代码集合的另一代码空间,其中另一代码集合与将在丰富互联网应用中显示的另一视图相关联。
在本发明的一个实施方式中,代码空间包括代码集合的命名空间,以及调整模块920包括:转换模块,配置用于在命名空间中将代码集合转换至视图代码集合,在运行由视图代码集合生成的可执行代码时视图被显示。
在本发明的一个实施方式中,转换模块包括:名称转换模块,配置用于转换代码集合中的元素名称,以使得转换后的元素名称在命名空间以及用于另一代码集合的另一命名空间中是唯一的。
在本发明的一个实施方式中,代码集合至少包括以下任一类型的代码:HTML代码、JavaScript代码、以及CSS代码,以及其中名称转换模块包括:映射模块,配置用于针对至少一个类型的代码,转换代码集合中的元素名称。
在本发明的一个实施方式中,名称转换模块包括:元素名称转换模块,配置用于基于视图的标识符来转换元素名称。
在本发明的一个实施方式中,代码空间进一步包括用于显示代码集合的显示空间,以及调整模块进一步包括:显示模块,配置用于以独立于用于显示另一代码集合的另一显示空间的方式,显示显示空间。
在本发明的一个实施方式中,视图至少包括以下中的至少任一项:web元素以及其他视图。
在本发明的一个实施方式中,进一步包括:构建模块,配置用于针对视图代码集合进行构建以形成中间代码;以及调试模块,配置用于运行中间代码以用于调试。
在本发明的一个实施方式中,构建模块包括:第一构建模块,配置用于在集成开发环境中,编译视图代码集合以形成中间代码;以及第二构建模块,配置用于在基于web的开发环境中,压缩视图代码集合以形成中间代码。
在本发明的一个实施方式中,在基于web的开发环境中,装置由浏览器的插件执行。
本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施方式中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
这里参照根据本发明实施方式的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其他可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其他可编程数据处理装置、或其他设备上,使得在计算机、其他可编程数据处理装置或其他设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其他可编程数据处理装置、或其他设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本发明的多个实施方式的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本发明的各实施方式,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施方式。在不偏离所说明的各实施方式的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施方式的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其他普通技术人员能理解本文披露的各实施方式。
Claims (20)
1.一种用于开发丰富互联网应用的方法,包括:
定义用于代码集合的代码空间,所述代码集合与将在所述丰富互联网应用中显示的视图相关联;以及
调整所述代码空间以使得调整后的所述代码空间独立于用于另一代码集合的另一代码空间,其中所述另一代码集合与将在所述丰富互联网应用中显示的另一视图相关联。
2.根据权利要求1所述的方法,其中所述代码空间包括所述代码集合的命名空间,以及所述调整所述代码空间以使得调整后的所述代码空间独立于用于另一代码集合的另一代码空间包括:
在所述命名空间中将所述代码集合转换至视图代码集合,在运行由所述视图代码集合生成的可执行代码时所述视图被显示。
3.根据权利要求1所述的方法,其中所述在所述命名空间中将所述代码集合转换至视图代码集合包括:
转换所述代码集合中的元素名称,以使得转换后的所述元素名称在所述命名空间以及用于另一代码集合的另一命名空间中是唯一的。
4.根据权利要求2所述的方法,其中所述代码集合至少包括以下任一类型的代码:HTML代码、JavaScript代码、以及CSS代码,以及其中所述转换所述代码集合中的元素名称包括:
针对至少一个类型的代码,转换所述代码集合中的元素名称。
5.根据权利要求3所述的方法,其中所述转换所述代码集合中的元素名称包括:
基于所述视图的标识符来转换所述元素名称。
6.根据权利要求1-5中的任一项所述的方法,其中所述代码空间进一步包括用于显示所述代码集合的显示空间,以及所述调整所述代码空间以使得调整后的所述代码空间独立于用于另一代码集合的另一代码空间进一步包括:
以独立于用于显示所述另一代码集合的另一显示空间的方式,显示所述显示空间。
7.根据权利要求1-5中的任一项所述的方法,其中所述视图至少包括以下中的至少任一项:
web元素以及其他视图。
8.根据权利要求1-3中的任一项所述的方法,进一步包括:
针对所述视图代码集合进行构建以形成中间代码;以及
运行所述中间代码以用于调试。
9.根据权利要求6所述的方法,其中针对所述视图代码集合进行构建以形成中间代码包括以下中的任一项:
在集成开发环境中,编译所述视图代码集合以形成所述中间代码;以及
在基于web的开发环境中,压缩所述视图代码集合以形成所述中间代码。
10.根据权利要求9所述的方法,其中在基于web的所述开发环境中,所述方法由浏览器的插件执行。
11.一种用于开发丰富互联网应用的装置,包括:
定义模块,配置用于定义用于代码集合的代码空间,所述代码集合与将在所述丰富互联网应用中显示的视图相关联;以及
调整模块,配置用于调整所述代码空间以使得调整后的所述代码空间独立于用于另一代码集合的另一代码空间,其中所述另一代码集合与将在所述丰富互联网应用中显示的另一视图相关联。
12.根据权利要求11所述的装置,其中所述代码空间包括所述代码集合的命名空间,以及所述调整模块包括:
转换模块,配置用于在所述命名空间中将所述代码集合转换至视图代码集合,在运行由所述视图代码集合生成的可执行代码时所述视图被显示。
13.根据权利要求11所述的装置,其中所述转换模块包括:
名称转换模块,配置用于转换所述代码集合中的元素名称,以使得转换后的所述元素名称在所述命名空间以及用于另一代码集合的另一命名空间中是唯一的。
14.根据权利要求12所述的装置,其中所述代码集合至少包括以下任一类型的代码:HTML代码、JavaScript代码、以及CSS代码,以及其中所述名称转换模块包括:
映射模块,配置用于针对至少一个类型的代码,转换所述代码集合中的元素名称。
15.根据权利要求13所述的装置,其中所述名称转换模块包括:
元素名称转换模块,配置用于基于所述视图的标识符来转换所述元素名称。
16.根据权利要求11-15中的任一项所述的装置,其中所述代码空间进一步包括用于显示所述代码集合的显示空间,以及所述调整模块进一步包括:
显示模块,配置用于以独立于用于显示所述另一代码集合的另一显示空间的方式,显示所述显示空间。
17.根据权利要求11-15中的任一项所述的装置,其中所述视图至少包括以下中的至少任一项:
web元素以及其他视图。
18.根据权利要求11-13中的任一项所述的装置,进一步包括:
构建模块,配置用于针对所述视图代码集合进行构建以形成中间代码;以及
调试模块,配置用于运行所述中间代码以用于调试。
19.根据权利要求16所述的装置,其中所述构建模块包括:
第一构建模块,配置用于在集成开发环境中,编译所述视图代码集合以形成所述中间代码;以及
第二构建模块,配置用于在基于web的开发环境中,压缩所述视图代码集合以形成所述中间代码。
20.根据权利要求19所述的装置,其中在基于web的所述开发环境中,所述装置由浏览器的插件执行。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410301689.1A CN105227608B (zh) | 2014-06-27 | 2014-06-27 | 用于开发丰富互联网应用的方法和装置 |
US14/722,592 US9606775B2 (en) | 2014-06-27 | 2015-05-27 | Developing rich internet application |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410301689.1A CN105227608B (zh) | 2014-06-27 | 2014-06-27 | 用于开发丰富互联网应用的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105227608A true CN105227608A (zh) | 2016-01-06 |
CN105227608B CN105227608B (zh) | 2018-07-27 |
Family
ID=54930532
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410301689.1A Expired - Fee Related CN105227608B (zh) | 2014-06-27 | 2014-06-27 | 用于开发丰富互联网应用的方法和装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US9606775B2 (zh) |
CN (1) | CN105227608B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110825427A (zh) * | 2019-10-12 | 2020-02-21 | 重庆金融资产交易所有限责任公司 | 一种代码管理方法、装置、服务器及存储介质 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105227608B (zh) * | 2014-06-27 | 2018-07-27 | 国际商业机器公司 | 用于开发丰富互联网应用的方法和装置 |
US10255170B2 (en) | 2016-12-19 | 2019-04-09 | International Business Machines Corporation | On-demand codeset converter generation |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102598013A (zh) * | 2009-11-09 | 2012-07-18 | 西门子公司 | 用于解决名称冲突的方法和系统 |
US20120246619A1 (en) * | 2011-03-23 | 2012-09-27 | Oracle International Corporation | Automated testing of browser based rich internet applications (ria) delivered through proprietary frameworks |
US8356277B1 (en) * | 2008-04-04 | 2013-01-15 | Adobe Systems Incorporated | System and method for freezing operation of dynamic code of a run-time web page |
CN103136406A (zh) * | 2011-12-03 | 2013-06-05 | 南京南瑞继保电气有限公司 | 可视化应用程序自动生成仿真用函数代码的方法 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5410648A (en) * | 1991-08-30 | 1995-04-25 | International Business Machines Corporation | Debugging system wherein multiple code views are simultaneously managed |
US6353923B1 (en) * | 1997-03-12 | 2002-03-05 | Microsoft Corporation | Active debugging environment for debugging mixed-language scripting code |
US6996800B2 (en) * | 2000-12-04 | 2006-02-07 | International Business Machines Corporation | MVC (model-view-controller) based multi-modal authoring tool and development environment |
US7650592B2 (en) * | 2003-03-01 | 2010-01-19 | Bea Systems, Inc. | Systems and methods for multi-view debugging environment |
US7861214B2 (en) * | 2004-11-08 | 2010-12-28 | International Business Machines Corporation | Computer method and apparatus for collapsing programming metamodels |
US8196109B2 (en) | 2005-09-09 | 2012-06-05 | International Business Machines Corporation | Common debug adaptor in a multiple computer programming language environment |
US8645973B2 (en) * | 2006-09-22 | 2014-02-04 | Oracle International Corporation | Mobile applications |
US7941783B1 (en) * | 2007-04-10 | 2011-05-10 | Adobe Systems Incorporated | Software development tool that supports use of a design-time data feed |
US7809785B2 (en) | 2007-05-28 | 2010-10-05 | Google Inc. | System using router in a web browser for inter-domain communication |
US8336029B1 (en) * | 2007-11-08 | 2012-12-18 | Google Inc. | Debugger connection |
US8327332B2 (en) * | 2008-09-02 | 2012-12-04 | Microsoft Corporation | Seamless debugging among different application views |
US8346870B2 (en) | 2009-05-06 | 2013-01-01 | Microsoft Corporation | Low-privilege debug channel |
CA2679789A1 (en) * | 2009-09-16 | 2009-12-16 | Ibm Canada Limited - Ibm Canada Limitee | Web-based integrated test and debugging system |
CA2820492A1 (en) * | 2013-06-18 | 2014-12-18 | El Fresko Technologies Limited | Namespace transformations |
CN105227608B (zh) * | 2014-06-27 | 2018-07-27 | 国际商业机器公司 | 用于开发丰富互联网应用的方法和装置 |
-
2014
- 2014-06-27 CN CN201410301689.1A patent/CN105227608B/zh not_active Expired - Fee Related
-
2015
- 2015-05-27 US US14/722,592 patent/US9606775B2/en not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8356277B1 (en) * | 2008-04-04 | 2013-01-15 | Adobe Systems Incorporated | System and method for freezing operation of dynamic code of a run-time web page |
CN102598013A (zh) * | 2009-11-09 | 2012-07-18 | 西门子公司 | 用于解决名称冲突的方法和系统 |
US20120246619A1 (en) * | 2011-03-23 | 2012-09-27 | Oracle International Corporation | Automated testing of browser based rich internet applications (ria) delivered through proprietary frameworks |
CN103136406A (zh) * | 2011-12-03 | 2013-06-05 | 南京南瑞继保电气有限公司 | 可视化应用程序自动生成仿真用函数代码的方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110825427A (zh) * | 2019-10-12 | 2020-02-21 | 重庆金融资产交易所有限责任公司 | 一种代码管理方法、装置、服务器及存储介质 |
CN110825427B (zh) * | 2019-10-12 | 2024-01-26 | 天航长鹰(江苏)科技有限公司 | 一种代码管理方法、装置、服务器及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US20150378688A1 (en) | 2015-12-31 |
US9606775B2 (en) | 2017-03-28 |
CN105227608B (zh) | 2018-07-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20190042211A1 (en) | Expressive generic model technology | |
CN109491653A (zh) | 微服务架构下的组件共享方法、装置、电子设备 | |
CN108140007A (zh) | 跨部署位置安全地部署应用程序 | |
CN105446793A (zh) | 迁移虚拟资产的方法和设备 | |
CN104516730A (zh) | 一种数据处理方法和装置 | |
CN104765620A (zh) | 一种程序模块部署的方法和系统 | |
US8756407B2 (en) | Configuration rule prototyping tool | |
CN110855482A (zh) | 三维动态通信网络模拟仿真方法、系统及存储介质 | |
CN105335207A (zh) | 用于管理虚拟机实例的方法和装置 | |
CN105100127A (zh) | 用于验证在云计算环境中的应用部署拓扑的设备和方法 | |
CN105814579A (zh) | 沙盒应用数据重定向至数据中心 | |
CN105786593A (zh) | 用于重启上下文相关的应用集的方法和系统 | |
CN104252345A (zh) | 在云环境中管理复杂对象的方法及系统 | |
CN103927216A (zh) | 用于管理虚拟装置的方法和系统 | |
Abu-Matar et al. | Variability modeling for smart city reference architectures | |
CN105988911A (zh) | 在系统日志中建立信任链 | |
CN115934244A (zh) | 生成用于测试容器编排系统的测试集群 | |
CN105227608A (zh) | 用于开发丰富互联网应用的方法和装置 | |
CN112765368B (zh) | 基于工业app的知识图谱建立方法、装置、设备及介质 | |
CN107678741A (zh) | 列表视图的实现方法、装置、可读存储介质及设备 | |
CN105447033B (zh) | 在复制初始化中生成初始副本的方法和装置 | |
CN104424012A (zh) | 用于提供自定义虚拟装置的方法和设备 | |
US10936557B2 (en) | Relational database schema generation | |
CN105224301B (zh) | 一种应用实例组装的方法和系统 | |
Guth et al. | Towards pattern-based rewrite and refinement of application architectures |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20180727 |