CN105247480A - 跨独立应用商店的网络应用的兼容及优化 - Google Patents
跨独立应用商店的网络应用的兼容及优化 Download PDFInfo
- Publication number
- CN105247480A CN105247480A CN201380076885.7A CN201380076885A CN105247480A CN 105247480 A CN105247480 A CN 105247480A CN 201380076885 A CN201380076885 A CN 201380076885A CN 105247480 A CN105247480 A CN 105247480A
- Authority
- CN
- China
- Prior art keywords
- application
- network application
- shop
- optimizing suggestions
- css
- 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/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/76—Adapting program code to run in a different environment; Porting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Stored Programmes (AREA)
Abstract
系统和方法可以提供:识别与多个不同的应用商店相关联的配置选项的集合;以及,使用所述配置选项的集合来在开发环境中产生针对网络应用的一条或多条兼容性建议。另外,可以使用所述配置选项的集合来在所述开发环境中产生针对所述网络应用的一条或多条优化建议,其中,所述一条或多条兼容性建议和所述一条或多条优化建议可以专用于在所述多个不同的应用商店中的特定应用商店。在一个示例中,识别与网络应用相关联的运行时信息,其中,所述运行时信息用于产生所述一条或多条优化建议中的至少一条。
Description
技术领域
实施例总体上涉及网络应用开发。更具体地,实施例涉及跨独立应用商店的网络应用的兼容及优化。
背景技术
浏览器和网络应用开发者可以典型地使用诸如JAVASCRIPT、HTML(超文本标记语言)、CSS(层叠样式表)等高级语言来编写源代码,以便向终端用户提供增强的功能。另外,网络应用可以经由不同的应用商店提供给终端用户下载,其中每个应用商店可以具有特定平台和/或操作系统(OS)需求。为每个应用商店的需求定制网络应用的高级语言可能会带来很大的挑战。
附图说明
对于本领域技术人员来说,通过阅读下面的说明书和所附的权利要求,并且通过参考下面的附图,实施例的各个优点将变得显而易见,在附图中:
图1是根据实施例的网络应用开发环境的例子的框图;
图2是根据实施例的开发网络应用的方法的例子的流程图;
图3是根据实施例的逻辑架构的例子的框图;
图4是根据实施例的软件栈的例子的框图;
图5是根据实施例的处理器的例子的框图;以及
图6是根据实施例的系统的例子的框图。
具体实施方式
现在转向图1,示出了网络应用开发环境,其中,程序员12使用开发工具10为各个不同的应用商店16(16a-16c)创建定制的网络应用14(14a-14c)。可以使用一种或多个高级语言(例如,JAVASCRIPT、HTML和/或CSS)来编写定制的网络应用14,其中,每个应用商店16均可以具有不同的OS需求和/或目标平台需求24。例如,第一应用商店(“应用商店#1”)可能通常专用于具有WINDOWS商店相关的OS需求18和目标平台需求20的符合MICROSOFT规范的应用,第二应用商店(“应用商店#2”)可能通常专用于具有ANDROID市场相关的OS需求22和目标平台需求的符合GOOGLE规范的应用,第三应用商店(“应用商店#3”)可能通常专用于具有ITUNES相关的OS需求26和目标平台需求28的符合APPLE规范的应用,等等。
在所示出的示例中,开发工具10识别与不同的应用商店16相关联的配置选项30的集合,并使用选项30来在开发环境中生成针对网络应用14的一条或多条兼容性建议32。开发工具10还可以使用选项30来在开发环境中产生针对网络应用14的一条或多条优化(例如,性能和/或功率)建议34。建议32、34可以或者由程序员12手动实施或者由开发工具10自动实施,建议32、34可以被定制为适应网络应用14的一种或多种高级编程语言。例如,建议32、34可以提供JAVASCRIPT、HTML以及CSS的替代选择,其使得能够实现兼容和优化。
如将更详细论述的那样,开发工具10还可以识别与网络应用相关联的运行时信息36(例如,高速缓冲寄存器缺失的数量、页面缺失的数量、中央处理单元/CPU利用率等),其中,运行时信息36也可以用于产生优化建议34。考虑到一些JACASCRIPT代码可以被飞速地翻译并执行(例如,及时/JIT处理),这样的方法可能特别有优势。具体而言,运行时信息10可以由一个或多个定制的网络应用14产生并且用于网络应用14的后续版本、升级和/或发布(例如,如果终端用户选择参与则作为统计信息进行收集)。例如,可以将第一仪器库(instrumentationlibrary)11并入第一网络应用14a中、可以将第二仪器库13并入第二网络应用14b中、可以将第三仪器库15并入第三网络应用14c中等,其中,仪器库11、13、15可以产生运行时信息36并且将运行时信息36传送回到开发工具10以备将来使用。
可以根据目标平台将仪器库11、13、15编译到网络应用14中。例如,仪器库11、13、15可以是采用字节码的形式,所述字节码被并入ANDROIDWEBVIEW接口、WINDOW8用户接口(UI)中针对WinJs命名空间的JAVASCRIPT特定API、针对iOS应用的JAVASCRIPT字节码或LLVM字节码等。当程序员12作出配置选择38时,开发工具10可以基于那些选择38、以及应用商店16的OS需求和/或目标平台需求来生成网络应用14。因此,所示出的方法从程序员12的视角提供了一种更灵活的解决方案,而不是仅仅围绕网络应用14加上特定平台封装。
例如,兼容性建议32可以使程序员12能够确保定制的网络应用14与应用商店16的任何API或其它需求相兼容。优化建议34可以通过对性能和/或功率的考虑进行处理来在兼容性建议32之外进行扩展。更具体地,优化建议34可以标识例如,CSS文件组织(例如,样式和/或特殊效果,诸如转变设置、滑动设置、消退设置等)、JavaScript文件组织、应用程序接口(API)选择、静态图像格式、超时设置、视频编解码器选择、视频格式等,其针对特定网络应用、OS和/或目标平台平衡功率与性能。
例如,CSS通常可以使文档内容(使用HTML或类似标记语言编写的)能够与文档呈现(包括诸如布局、颜色、以及字体的元素)相分离。CSS元素的处理和绘制可以独立于所使用的项目和样式的数量。实际上,诸如由HTML5(超文本标记语言5,例如,W3C,2012年5月的HTML5编辑草案8)实施的CSS转变和消退的特定高性能特征可能会在平台上使用大量的功率。在这种情况中,优化建议34可能是改变CSS转换和/或消退所进行的速率,或在CSS转变和/或消退与网络应用的性能联系不紧密的情况下完全放弃对它们的使用。
在另一个示例中,特定OS(例如,WINDOW8)可以包括推荐的一些用户体验(UX)API、以及提供但不推荐的其它的一些用户体验(UX)API。当程序员12使用API时,可替代的API可能会被建议。因此,开发工具10可以建议,例如,在应用开发过程期间使用用于网页刷新的“requestAnimationFrame”API,作为优化建议34。另外,可以建议特定的JAVASCRIPTAPI,以便最小化写入到特定平台和/或应用商店的代码量。可以将所建议的JAVASCRIPTAPI主要保持为非平台特定的,其中可以添加参数到给定平台所需要的程度。另外,开发工具10可能存在将使得JAVASCRIPT引擎更容易产生更优化的代码的建议。这种方法可以在增加灵活性的同时促进跨多个应用商店接受网络应用。
此外,静态图像格式可能影响功率和/或性能。例如,PNG(可移植网络图象)文件典型地大于JPG(联合图像专家组)文件,并且可能涉及更多的功率以用于发送和绘制。另一方面,PNG文件包含使特定颜色能够变得透明的阿尔法(alpha)信道,而JPG文件不具有阿尔法信道。因此,如果开发工具10确定网络应用不使用阿尔法信道,则对于静态图像呈现来说,优化建议34可以推荐程序员12从使用PNG文件格式切换到JPG文件格式。
在又一示例中,开发工具10可以确定超时设置(例如,setTimeout)已经被配置为相对较小的值(例如,1ms),该相对较小的值可能在电池寿命上具有负面影响而不会改善性能。在这种情况下,优化建议34可以推荐增加超时设置。优化建议34的其它示例包括但不限于:基于在目标平台上是否实施了硬件加速、目标平台上存在何种类型的硬件等来推荐特定的视频编解码器和/或视频格式。
现在转向图2,示出了开发网络应用的方法40。方法40可以被实施为一组逻辑指令和/或固件,被存储在机器可读介质或计算机可读介质(诸如,随机存取存储器(RAM)、只读存储器(ROM)、可编程ROM(PROM)、闪速存储器等)中、在可配置逻辑(例如,可编程逻辑阵列(PLA)、现场可编程门阵列(FPGA)、复杂可编程逻辑设备(CPLD))中、在使用电路技术的固定功能逻辑硬件(例如,专用集成电路(ASIC)、互补金属氧化物半导体(CMOS)或晶体管-晶体管逻辑(TTL)技术)中、或其任何组合中。例如,用于执行方法40中示出的操作的计算机程序代码可以以一种或多种编程语言的任意组合来编写,包括面向对象的编程语言(诸如,C++等)和传统的过程编程语言(诸如,“C”编程语言)或类似的编程语言。此外,可以使用任何前述的电路技术来实施方法40。
所示过程方框42提供了识别与多个不同的应用商店相关联的配置选项的集合。如将更详细论述的那样,配置选项可以被实施为库的集合。在方框44,可以使用配置选项的集合来在开发环境中产生针对网络应用的一条或多条兼容性建议,其中该兼容性建议是专用于在多个不同的应用商店中的特定应用商店的。另外,所示的方框46使用配置选项的集合来在开发环境中产生针对网络应用的一条或多条优化建议。优化建议也可以专用于特定应用商店。如已经提及的,该一条或多条优化建议中的至少一条可以对性能考虑和/或功率考虑进行处理。
在方框48,可以识别配置选择的集合,其中,所示方框50基于配置选择的集合、特定应用商店的一个或多个OS需求、特定应用商店的一个或多个目标平台需求等,来生成定制的网络应用。方框50可以涉及将仪器库并入网络应用中,其中,该仪器库识别运行时信息,该运行时信息还可以用于产生优化建议。在方框52,可以将定制的网络应用传送(port)到特定应用商店。
图3示出了可以用于开发网络应用的开发工具逻辑架构54(54a-54f)。在所示示例中,选项模块54a识别针对多个不同应用商店的配置选项的集合。配置选项的集合可以被实施在兼容性库56、优化库58和/或仪器库60中。兼容性库56可以支持与不同的用户、网络和/或浏览器接口(例如,WINDOWS8UIJAVASCRIPT接口、ANDROIDHTML网络接口、iOSHTML网络接口、IE(InternetExplorer)浏览器接口、FIREFOX浏览器接口、CHROME浏览器接口、SAFARI浏览器接口等)兼容的HTML、JAVASCRIPT和CSS。所示兼容性库56可以与定制层(将被详细论述)的兼容性模块54b结合工作以在开发环境中产生针对网络应用的兼容性建议。
此外,优化库58可以与定制层的优化模块54c结合工作以在开发环境中产生针对网络应用的优化建议。如已经提及的,优化建议可以对性能考虑和/或功率考虑进行处理。在一个示例中,优化建议可以标识CSS文件组织(例如,样式效果、特殊效果、转变设置、滑动设置、消退设置等)、JAVASCRIPT文件组织、API选择、静态图像格式、视频编解码器选择、视频格式等、或其任何组合。也可以并入网络应用的仪器库60可以识别与网络应用相关联的运行时信息,其中,该运行时信息也可以用于生成一条或多条优化建议。仪器库60可以包括例如VTUNE软件性能分析功能、SEP(抽样使能产品)功能等,以及各种HTML、CSS以及JAVASCRIPT建议选项。
所示架构54还包括用于识别配置选择的集合的选择模块54d、和用于基于配置选择的集合、特定应用商店的一个或多个OS需求、以及特定应用商店的一个或多个目标平台需求来生成网络应用的应用模块54e。此外,输出模块54f可以将网络应用传送到特定应用商店。
现在转向图4,示出了软件栈62,其中,以高级语言编写的网络应用层64在包含兼容性模块54b和优化模块54c的定制层66之上。所示的定制层66在接口68(68a-68d)的集合和选项模块54a之上,该选项模块54a可以包含各种库以便于产生兼容性建议以及优化建议。定制层66因此可以充当性能-功率平衡器和关于高级源代码(例如,JAVASCRIPT、HTML以及CODE代码)的兼容性分析器。每个接口68可以专用于特定类型的OS和/或浏览器(例如,WINDOWS8UIJAVASCRIPT接口、ANDROIDHTML网络接口、iOSHTML网络接口、IE浏览器接口、FIREFOX浏览器接口、CHROME浏览器接口、SAFARI浏览器接口)。本地OS层70可以驻留在接口68和选项模块54a之下。
图5示出了根据一个实施例的处理器核200。处理器核200可以是任何类型的处理器(诸如,微处理器、嵌入式处理器、数字信号处理器(DSP)、网络处理器、或执行代码的其它设备)的核。尽管图5示出了仅一个处理器核200,但是处理元件可以选择性地包括多于一个图5所示的处理器核200。处理器核200可以是单线程核,或对于至少一个实施例,处理器核200可以是多线程的,从而它可以包括每个核多于一个硬件线程上下文(或“逻辑处理器”)。
图5还示出了耦合到处理器200的存储器270。存储器270可以是本领域技术人员已知的或以其它方式可用的各种多样的存储器(包括存储器层级的各个层)中的任何存储器。存储器270可以包括由处理器200核执行的一条或多条代码213指令,其中,代码213可以实施已经论述过的方法40(图2)和/或逻辑架构54(图3)。处理器核200遵循代码213所指示的指令的程序顺序。每条指令可以进入前端部分210并且由一个或多个解码器220处理。解码器220可以产生微操作作为其输出,诸如以预先定义的格式的固定宽度的微操作,或者可以产生其它指令、微指令、或反映原始代码指令的控制信号。所示前端210还包括寄存器重命名逻辑225和调度逻辑230,它们通常分配资源并且将对应于用于执行的转换指令的操作进行排队。
处理器200被示出为包括具有执行单元225-1至225-N的集合的执行逻辑250。一些实施例可以包括多个专用于特定功能或功能集合的多个执行单元。其它实施例可以包括仅一个执行单元或可执行特定功能的一个执行单元。所示执行逻辑250执行由代码指令所指定的操作。
在执行完由代码指令所指定的操作之后,后端逻辑单元260引退(retire)代码213的指令。在一个实施例中,处理器200允许乱序执行,但是要求按顺序引退指令。引退逻辑265可以采取那些本领域技术人员已知的各种形式(例如,重新排列缓冲器等)。按照这种方式,在对代码213的执行期间,至少在解码器产生的输出、寄存器重命名逻辑225所利用的硬件寄存器和表格、以及执行逻辑250所修改的任何寄存器(未示出)方面,转换处理器核200。
尽管未在图5中示出,但是处理元件可以包括具有处理器核200的其它片上元件。例如,处理元件可以包括伴随处理器核200的存储器控制逻辑。处理元件可以包括I/O控制逻辑和/或可以包括与存储器控制逻辑集成的I/O控制逻辑。处理元件还可以包括一个或多个高速缓存。
现在转向图6,示出了根据实施例的系统1000实施例的框图。图6示出的多处理器系统1000,其包括第一处理元件1070和第二处理元件1080。尽管示出了两个处理元件1070和1080,但是应当理解的是,系统1000的实施例还可以包括仅一个这种处理元件。
系统1000被示出为点到点互连系统,其中,第一处理元件1070和第二处理元件1080经由点到点互连1050相耦合。应当理解的是,除了点到点互连之外,图6中示出的互连中的任何或全部可以被实施为多跳总线。
如图6所示,处理元件1070和1080中的每个均可以是包括第一处理器核和第二处理器核(即,处理器核1074a及1074b,和处理器核1084a及1084b)的多核处理器。这样的核1074、1074b、1084a、1084b可以被配置为以类似于上文结合图5所论述的方式来执行指令代码。
每个处理元件1070、1080可以包括至少一个共享的高速缓存1896a、1896b。该共享的高速缓存1896a、1896b可以存储由处理器的一个或多个部件(诸如,核1074a、1074b以及1084a、1084b)分别利用的数据(例如,指令)。例如,共享的高速缓存1896a、1896b可以在本地高速缓存存储在存储器1032、1034中的数据,以用于更快地被处理器的部件访问。在一个或多个实施例中,共享的高速缓存1896a、1896b可以包括一个或多个中间级别高速缓存,例如,级别2(L2)、级别3(L3)级别4(L4)、或者其它级别的高速缓存、最后一级高速缓存(LLC)和/或其组合。
虽然仅示出了两个处理元件1070、1080,但可以理解的是,实施例的范围并不限于此。在其它实施例中,一个或多个额外的处理元件可以存在于给定的处理器中。可替代地,处理元件1070、1080中的一个或多个可以是除了处理器之外的元件,例如,加速器或现场可编程门阵列。例如,额外的处理元件可以包括与第一处理器1070相同的额外的处理器、与处理器第一处理器1070异构或不对称的额外的处理器、加速器(例如,图形加速器或数字信号处理(DSP)单元)、现场可编程门阵列,或任意其它处理元件。在处理元件1070、1080之间,在优点(包括架构、微架构、热、功率消耗特性等)的光谱度量方面存在大量不同。这些不同可以有效地证明它们自身在处理元件1070、1080之中是不对称且异构的。对于至少一个实施例,各种处理元件1070、1080可以驻留在同一管芯封装中。
第一处理元件1070还可以包括存储器控制器逻辑(MC)1072以及点对点(P-P)接口1076和1078。类似地,第二处理元件1080可以包括MC1082以及P-P接口1086和1088。如图6所示,MC的1072和1082将处理器耦合到各个存储器上,即存储器1032和存储器1034,它们是本地附接到各个处理器上的主存储器的部分。虽然MC1072和1082被示出为集成到处理元件1070、1080,但对于可替代的实施例,MC逻辑可以是处理元件1070、1080外部的离散逻辑而未集成到其中。
第一处理元件1070和第二处理元件1080可以分别经由P-P互连1076、1086耦合到I/O子系统1090。如图6所示,I/O子系统1090包括P-P接口1094和1098。此外,I/O子系统1090包括接口1092,以将I/O子系统1090与高性能图形引擎1038耦合。在一个实施例中,总线1049可以用于将图形引擎1038耦合到I/O子系统1090。可替代地,点对点互连可以耦合这些部件。
接着,I/O子系统1090可以经由接口1096耦合到第一总线1016。在一个实施例中,第一总线1016可以是外围部件互连(PCI)总线,或者诸如快速PCI总线或其它第三代I/O互连总线的总线,但是实施例的范围并不限于此。
如图6所示,各种I/O设备1014(例如,摄像机)可以连同总线桥1018耦合到第一总线1016,所述总线桥1018可以将第一总线1016耦合到第二总线1020。在一个实施例中,第二总线1020可以是低引脚数(LPC)总线。在一个实施例中,各种设备可以耦合到第二总线1020,包括例如键盘/鼠标1012、网络控制器/通信设备1026(其接着可以与计算机网络通信)、以及可以包括代码1030的数据存储单元1019(例如,磁盘驱动或其它大容量存储设备)。代码1030可以包括用于执行如上所述方法的一个或多个的实施例的指令。因此,所示出的代码1030可以实施方法40(图2)和/或逻辑架构54(图3),并可以类似于代码213(图5),以上已经讨论过。此外,音频I/O1024可以耦合到第二总线1020。
注意,可以构思其它实施例。例如,代替图6的点对点架构,系统可以实现多跳总线或其他这样的通信拓扑。另外,可以利用比图6中所示更多或更少的集成芯片可替代地分割图6的元件。
其他注释和例子
例子1可以包括用于开发网络应用的装置,包括:选项模块,用于识别与多个不同应用商店相关联的配置选项的集合;以及,兼容性模块,用于使用所述配置选项的集合来在开发环境中产生针对网络应用的一条或多条兼容性建议。所述装置还可以包括:优化模块,用于使用所述配置选项的集合来在开发环境中产生针对网络应用的一条或多条优化建议,其中,所述一条或多条兼容性建议与所述一条或多条优化建议专用于在所述多个不同的应用商店中的特定应用商店。
例子2可以包括例子1的装置,进一步包括:仪器库,用于识别与所述网络应用相关联的运行时信息,其中,所述运行时信息被用于产生所述一条或多条优化建议中的至少一条。
例子3可以包括例子2的装置,其中,所述选项模块将所述仪器库并入所述网络应用。
例子4可以包括例子1的装置,其中,所述一条或多条优化建议中的至少一条是处理性能考虑或功率考虑中的一个或多个的。
例子5可以包括例子1的装置,其中,所述一条或多条优化建议中的至少一条标识以下各项中的一项或多项:层叠样式表(CSS)文件组织、JavaScript文件组织、应用程序接口(API)选择、静态图像格式、超时设置、视频编解码器选择或视频格式。
例子6可以包括例子5的装置,其中,所述CSS文件组织包括以下各项中的一项或多项:样式效果、特殊效果、转变设置、滑动设置或消退设置。
例子7可以包括例子1-6的任一例子的装置,进一步包括:选择模块,用于识别配置选择的集合,以及,应用模块,用于基于所述配置选择的集合、所述特定应用商店的一个或多个操作系统需求和所述特定应用商店的一个或多个目标平台需求来生成所述网络应用。
例子8可以包括例子7的装置,进一步包括:输出模块,用于将所述网络应用传送到所述特定应用商店。
例子9可以包括例子1-6的任一例子的装置,其中,所述选项模块包括兼容性库和优化库。
例子10可以包括一种用于开发网络应用的方法,包括:识别与多个不同的应用商店相关联的配置选项的集合,以及,使用所述配置选项的集合来在开发环境中产生针对网络应用的一条或多条兼容性建议。所述方法还可以涉及:使用所述配置选项的集合来在开发环境中产生针对网络应用的一条或多条优化建议,其中,所述一条或多条兼容性建议和所述一条或多条优化建议专用于在所述多个不同的应用商店中的特定应用商店。
例子11可以包括例子10的方法,进一步包括:识别与所述网络应用相关联的运行时信息,其中,所述运行时信息被用于产生所述一条或多条优化建议中的至少一条。
例子12可以包括例子11的方法,进一步包括:将仪器库并入所述网络应用,其中,所述仪器库识别所述运行时信息。
例子13可以包括例子10的方法,其中,所述一条或多条优化建议中的至少一条处理性能考虑或功率考虑中的一个或多个。
例子14可以包括例子10的方法,其中,所述一条或多条优化建议中的至少一条标识以下各项中的一项或多项:层叠样式表(CSS)文件组织、JavaScript文件组织、应用程序接口(API)选择、静态图像格式、超时设置、视频编解码器选择或视频格式。
例子15可以包括例子14的方法,其中,所述CSS文件组织包括以下各项中的一项或多项:样式效果、特殊效果、转变设置、滑动设置或消退设置。
例子16可以包括例子10-15的任一例子的方法,进一步包括:识别配置选择的集合;以及,基于所述配置选择的集合、所述特定应用商店的一个或多个操作系统需求和所述特定应用商店的一个或多个目标平台需求来生成所述网络应用。
例子17可以包括例子16的方法,进一步包括:将所述网络应用传送到所述特定应用商店。
例子18可以包括包含指令集合的至少一个计算机可读存储介质,其中,当所述指令集合被计算设备执行时,使计算设备执行以下操作:识别与多个不同的应用商店相关联的配置选项的集合,以及,使用所述配置选项的集合来在开发环境中产生针对网络应用的一条或多条兼容性建议。当所述指令被执行时,还使计算设备执行以下操作:使用所述配置选项的集合来在开发环境中产生针对网络应用的一条或多条优化建议,其中,所述一条或多条兼容性建议和所述一条或多条优化建议专用于在所述多个不同的应用商店中的特定应用商店。
例子19可以包括例子18的至少一个计算机可读存储介质,进一步包括:仪器库,用于识别与所述网络应用相关联的运行时信息,并且其中,所述运行时信息被用于产生所述一条或多条优化建议中的至少一条。
例子20可以包括例子19的至少一个计算机可读存储介质,其中,当所述指令被执行时,还使计算设备执行以下操作:将所述仪器库并入所述网络应用。
例子21可以包括例子18的至少一个计算机可读存储介质,其中,所述一条或多条优化建议中的至少一条是处理性能考虑或功率考虑中的一个或多个的。
例子22可以包括例子18的至少一个计算机可读存储介质,其中,所述一条或多条优化建议中的至少一条标识以下各项中的一项或多项:层叠样式表(CSS)文件组织、JavaScript文件组织、应用程序接口(API)选择、静态图像格式、超时设置、视频编解码器选择或视频格式。
例子23可以包括例子22的至少一个计算机可读存储介质,其中,所述CSS文件组织包括以下各项中的一项或多项:样式效果、特殊效果、转变设置、滑动设置或消退设置。
例子24可以包括例子18-23的任一例子的至少一个计算机可读存储介质,其中,当所述指令被执行时,还使计算设备执行以下操作:识别配置选择的集合;以及,基于所述配置选择的集合、所述特定应用商店的一个或多个操作系统需求和所述特定应用商店的一个或多个目标平台需求来生成所述网络应用。
例子25可以包括例子24的至少一个计算机可读存储介质,其中,当所述指令被执行时,还使计算设备执行以下操作:将所述网络应用传送到所述特定应用商店。
例子26可以包括用于开发网络应用的装置,包括:用于执行例子10-17的任一例子的方法的单元。
本文所描述的技术可以因此向开发者提供单个灵活的环境以开发跨平台并跨应用商店的网络应用。随着技术发展和不同的开发需求出现,配置选项和建议可以随着时间的推移而扩展。该技术可以消除程序员为了让网络应用被不同的应用商店接纳而编写多种不同的代码基的任何需求。因此,开发时间可以得到显著降低,而与此同时,通过优化建议改善了功率和/或性能。
各个实施例可以使用硬件元件、软件元件、或二者的组合来实施。硬件元件的例子可以包括处理器、微处理器、电路、电路元件(例如,晶体管、电阻器、电容器、电感器等)、集成电路、专用集成电路(ASIC)、可编程逻辑设备(PLD)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、逻辑门、寄存器、半导体设备、芯片、微芯片、芯片组等。软件的例子可以包括:软件部件、程序、应用、计算机程序、应用程序、系统程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、功能、方法、过程、软件接口、应用程序接口(API)、指令集、计算代码、计算机代码、代码段、计算机代码段、字、值、符号、或其任何组合。确定是否使用硬件元件和/或软件元件来实现实施例可以根据许多因素而变化,这些因素例如期望的计算速率、功率电平、耐热性、处理周期预算、输入数据速率、输出数据速率、存储器资源、数据总线速度和其它设计或性能约束。
可以由存储在机器可读介质上的、代表处理器内的各个逻辑单元的代表性指令来实施至少一个实施例的一个或多个方面,当所述指令被机器读取时,使得该机器构成逻辑单元以执行本文所描述的技术。这种表示(被称为“IP核”)可以存储在有形的、机器可读介质上,并且供各个客户或制造设备载入到实际制作逻辑单元或处理器的制造机器中。
实施例适用于使用所有类型的半导体集成电路(“IC”)芯片。这些IC芯片的例子包括但不限于:处理器、控制器、芯片组部件、可编程逻辑阵列(PLA)、存储器芯片、网络芯片等。此外,在一些附图中,利用线条表示信号传导线路。有些可以是不同的,为了指示更多组成信号路径,用数字标记来指示多个组成信号路径,和/或用一端或更多端的箭头来指示主要信息流向。然而,这不应被理解为以限制的方式。而是,可以结合一个或多个示例性实施例来使用这样添加的细节以便于更容易理解电路。任何所表示的信号线,无论是否具有额外的信息,都可以实际上包括可以在多个方向上传输的一个或多个信号,并可以用任何合适类型的信号方案来实现,例如,用差分对、光纤线和/或单端线实现的数字或模拟线路。
可能已经给出了示例性的尺寸/模型/值/范围,但是实施例并不限于与之相同。随着制造工艺(例如,光刻术)日益成熟,可以预期的是可以制造更小尺寸的设备。此外,为了简化说明及论述,并且为了不对实施例的特定方面造成模糊,与IC芯片及其它部件的公知的电源/接地连接可以或可以不在附图中示出。此外,布置可以以框图的形式示出,这是为了避免对实施例造成模糊,并且还考虑到关于这些框图电路的实施方式的细节高度依赖于该实施例将要被实施在其中的平台的这一事实(即,这些细节应当正好在本领域技术人员的权限之内)。为了描述示例性的实施例,阐述了特定细节(例如,电路),在没有这些具体细节的情况下,或利用这些细节的变型,实践这些实施例对于本领域技术人员来说应当是显而易见的。因此该描述应当被认为是说明性的,而非限制性的。
一些实施例可以使用例如可以存储指令或指令集合的机器或有形的计算机可读介质或物品来实施,如果该指令或指令集合被机器执行,则可以使机器执行根据实施例的方法和/或操作。这样的机器可以包括例如任何合适的处理平台、计算平台、计算设备、处理设备、计算系统、处理系统、计算机、处理器等,并且可以使用任何合适的硬件和/或软件的组合来实施。
除非另有特别说明,否则应该意识到,诸如“处理”、“运算”、“计算”、“确定”等的术语指的是计算机或计算系统或类似电子计算设备的动作和/或处理,这些系统或设备操纵被表示为计算系统的寄存器和/或存储器中的物理(例如,电子)量的数据和/或将其转换为类似地被表示为计算系统的存储器、寄存器或其它这种信息存储设备、传输或显示设备中的物理量的其它数据。该实施例不受限于该上下文。
术语“耦合”在本文中可以用于指讨论中的部件之间的任何类型的直接或间接关联,并且可以适用于电的、机械的、流动的、光的、电磁的、机电的或其它连接。此外,术语“第一”、“第二”等在本文中可以仅用于便于讨论,而不携带特定的时间的或时序的意义,除非另外指示。
如在该申请和权利要求中所使用的,通过术语“一个或多个”连接的项目列表可以表示列表项目的任何组合。例如,短语“A、B或C中的一个或多个”可以指A;B;C;A和B;A和C;B和C;或A、B和C。
根据先前的描述,本领域技术人员将会意识到,可以以各种形式来实施实施例的广泛技术。因此,虽然已经结合其中的特定例子描述了实施例,但是实施例的真实范围不应受限于此,这是因为对于本领域从业者来说,基于对附图、说明书、以及所附的权利要求书的研究,其它的变型将变得显而易见。
Claims (25)
1.一种用于开发网络应用的装置,包括:
选项模块,用于识别与多个不同的应用商店相关联的配置选项的集合;
兼容性模块,用于使用所述配置选项的集合来在开发环境中产生针对网络应用的一条或多条兼容性建议;以及
优化模块,用于使用所述配置选项的集合来在所述开发环境中产生针对所述网络应用的一条或多条优化建议,其中,所述一条或多条兼容性建议和所述一条或多条优化建议是专用于在所述多个不同的应用商店中的特定应用商店的。
2.根据权利要求1所述的装置,进一步包括:仪器库,用于识别与所述网络应用相关联的运行时信息,其中,所述运行时信息用于产生所述一条或多条优化建议中的至少一条。
3.根据权利要求2所述的装置,其中,所述选项模块,用于将所述仪器库并入所述网络应用中。
4.根据权利要求1所述的装置,其中,所述一条或多条优化建议中的至少一条是用于处理性能考虑或功率考虑中的一个或多个的。
5.根据权利要求1所述的装置,其中,所述一条或多条优化建议中的至少一条标识以下各项中的一项或多项:层叠样式表(CSS)文件组织、JavaScript文件组织、应用程序接口(API)选择、静态图像格式、超时设置、视频编解码器选择或视频格式。
6.根据权利要求5所述的装置,其中,所述CSS文件组织包括以下各项中的一项或多项:样式效果、特殊效果、转变设置、滑动设置或消退设置。
7.根据权利要求1-6中的任一项所述的装置,进一步包括:
选择模块,用于识别配置选择的集合;以及
应用模块,用于基于所述配置选择的集合、所述特定应用商店的一个或多个操作系统需求和所述特定应用商店的一个或多个目标平台需求来生成所述网络应用。
8.根据权利要求7所述的装置,进一步包括:输出模块,用于将所述网络应用传送到所述特定应用商店。
9.根据权利要求1-6中的任一项所述的装置,其中,所述选项模块包括兼容性库和优化库。
10.一种用于开发网络应用的方法,包括:
识别与多个不同的应用商店相关联的配置选项的集合;
使用所述配置选项的集合来在开发环境中产生针对网络应用的一条或多条兼容性建议;以及
使用所述配置选项的集合来在所述开发环境中产生针对所述网络应用的一条或多条优化建议,其中,所述一条或多条兼容性建议和所述一条或多条优化建议是专用于在所述多个不同的应用商店中的特定应用商店的。
11.根据权利要求10所述的方法,进一步包括:识别与所述网络应用相关联的运行时信息,其中,所述运行时信息用于产生所述一条或多条优化建议中的至少一条。
12.根据权利要求11所述的方法,进一步包括:将仪器库并入所述网络应用中,其中,所述仪器库识别所述运行时信息。
13.根据权利要求10所述的方法,其中,所述一条或多条优化建议中的至少一条处理性能考虑或功率考虑中的一个或多个。
14.根据权利要求10所述的方法,其中,所述一条或多条优化建议中的至少一条标识以下各项中的一项或多项:层叠样式表(CSS)文件组织、JavaScript文件组织、应用程序接口(API)选择、静态图像格式、超时设置、视频编解码器选择或视频格式。
15.根据权利要求14所述的方法,其中,所述CSS文件组织包括以下各项中的一项或多项:样式效果、特殊效果、转变设置、滑动设置或消退设置。
16.根据权利要求10-15中的任一项所述的方法,进一步包括:
识别配置选择的集合;以及
基于所述配置选择的集合、所述特定应用商店的一个或多个操作系统需求和所述特定应用商店的一个或多个目标平台需求来生成所述网络应用。
17.根据权利要求16所述的方法,进一步包括:将所述网络应用传送到所述特定应用商店。
18.包括指令集合的至少一个计算机可读存储介质,其中,如果所述指令集合被计算设备执行,则使得所述计算设备进行以下操作:
识别与多个不同的应用商店相关联的配置选项的集合;
使用所述配置选项的集合来在开发环境中产生针对网络应用的一条或多条兼容性建议;以及
使用所述配置选项的集合来在所述开发环境中产生针对所述网络应用的一条或多条优化建议,其中,所述一条或多条兼容性建议和所述一条或多条优化建议是专用于在所述多个不同的应用商店中的特定应用商店的。
19.根据权利要求18所述的至少一个计算机可读存储介质,进一步包括:仪器库,用于识别与所述网络应用相关联的运行时信息,并且其中,所述运行时信息用于产生所述一条或多条优化建议中的至少一条。
20.根据权利要求19所述的至少一个计算机可读存储介质,其中,如果所述指令被执行,则使得计算设备将所述仪器库并入所述网络应用。
21.根据权利要求18所述的至少一个计算机可读存储介质,其中,所述一条或多条优化建议中的至少一条是用于处理性能考虑或功率考虑中的一个或多个的。
22.根据权利要求18所述的至少一个计算机可读存储介质,其中,所述一条或多条优化建议中的至少一条标识以下各项中的一项或多项:层叠样式表(CSS)文件组织、JavaScript文件组织、应用程序接口(API)选择、静态图像格式、超时设置、视频编解码器选择或视频格式。
23.根据权利要求22所述的至少一个计算机可读存储介质,其中,所述CSS文件组织包括以下各项中的一项或多项:样式效果、特殊效果、转变设置、滑动设置或消退设置。
24.根据权利要求18-23中的任一项所述的至少一个计算机可读存储介质,其中,如果所述指令被执行,则使得计算设备进行以下操作:
识别配置选择的集合;以及
基于所述配置选择的集合、所述特定应用商店的一个或多个操作系统需求和所述特定应用商店的一个或多个目标平台需求来生成所述网络应用。
25.根据权利要求24所述的至少一个计算机可读存储介质,其中,如果所述指令被执行,则使得计算设备将所述网络应用传送到所述特定应用商店。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2013/048441 WO2014209337A1 (en) | 2013-06-28 | 2013-06-28 | Compatibility and optimization of web applications across independent application stores |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105247480A true CN105247480A (zh) | 2016-01-13 |
CN105247480B CN105247480B (zh) | 2020-03-06 |
Family
ID=52142470
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380076885.7A Expired - Fee Related CN105247480B (zh) | 2013-06-28 | 2013-06-28 | 跨独立应用商店的网络应用的兼容及优化 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20160124743A1 (zh) |
EP (1) | EP3014425A4 (zh) |
KR (1) | KR101793113B1 (zh) |
CN (1) | CN105247480B (zh) |
WO (1) | WO2014209337A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111552571A (zh) * | 2020-04-30 | 2020-08-18 | 深信服科技股份有限公司 | 应用反馈方法、计算机设备及计算机存储介质 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024076123A1 (ko) * | 2022-10-05 | 2024-04-11 | 삼성전자 주식회사 | 어플리케이션 업데이트 방법 및 그 전자 장치 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1703674A (zh) * | 2002-04-15 | 2005-11-30 | 德国捷德有限公司 | 编译器生成的程序代码的优化 |
CN1790267A (zh) * | 2005-12-14 | 2006-06-21 | 浙江大学 | 应用于Java操作系统中虚拟机的编译体系实现方法 |
CN101256482A (zh) * | 2007-12-19 | 2008-09-03 | 深圳市同洲电子股份有限公司 | 一种嵌入式应用程序的开发系统及方法 |
CN102362272A (zh) * | 2009-03-25 | 2012-02-22 | 微软公司 | 移动应用程序的设备相关的按需编译和部署 |
CN102473131A (zh) * | 2009-07-21 | 2012-05-23 | 微软公司 | 组件功率监测和工作负荷优化 |
US20120284356A1 (en) * | 2010-11-01 | 2012-11-08 | Michael Luna | Wireless traffic management system cache optimization using http headers |
US20130061212A1 (en) * | 2011-09-06 | 2013-03-07 | Microsoft Corporation | Modern Application Tracing |
US20130074046A1 (en) * | 2011-09-20 | 2013-03-21 | Alcatel-Lucent Usa, Inc. | Application protoyping suite |
US20130262626A1 (en) * | 2012-03-30 | 2013-10-03 | Anypresence, Inc. | Systems and methods for building and deploying mobile applications |
CN103377276A (zh) * | 2012-04-16 | 2013-10-30 | 宏达国际电子股份有限公司 | 在对话期间提供建议的方法以及使用所述方法的电子装置 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8234564B2 (en) * | 2008-03-04 | 2012-07-31 | Apple Inc. | Transforms and animations of web-based content |
JP5226425B2 (ja) * | 2008-08-13 | 2013-07-03 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 情報処理装置、情報処理方法およびプログラム |
US8176417B2 (en) * | 2008-10-22 | 2012-05-08 | Platformic, Inc. | Constructing and maintaining web sites |
US20100281475A1 (en) * | 2009-05-04 | 2010-11-04 | Mobile On Services, Inc. | System and method for mobile smartphone application development and delivery |
US8464229B2 (en) * | 2009-12-29 | 2013-06-11 | Microgen Aptitude Limited | Creation of form-based software application in a graphical user interface (GUI) environment |
US8438219B2 (en) * | 2010-08-19 | 2013-05-07 | At&T Intellectual Property I, Lp | Systems, computer program products, and methods for generating custom web pages for mobile devices |
US8601439B2 (en) * | 2010-12-09 | 2013-12-03 | Microsoft Corporation | Networked program dependency compatibility analysis |
US8938719B2 (en) * | 2011-11-30 | 2015-01-20 | Tata Consultancy Services Limited | System and method for performance assurance of applications |
US9134980B1 (en) * | 2012-05-01 | 2015-09-15 | Amazon Technologies, Inc. | Compiler optimization in a computing environment |
US20140089786A1 (en) * | 2012-06-01 | 2014-03-27 | Atiq Hashmi | Automated Processor For Web Content To Mobile-Optimized Content Transformation |
-
2013
- 2013-06-28 US US14/124,771 patent/US20160124743A1/en not_active Abandoned
- 2013-06-28 EP EP13887952.3A patent/EP3014425A4/en not_active Withdrawn
- 2013-06-28 CN CN201380076885.7A patent/CN105247480B/zh not_active Expired - Fee Related
- 2013-06-28 WO PCT/US2013/048441 patent/WO2014209337A1/en active Application Filing
- 2013-06-28 KR KR1020157033734A patent/KR101793113B1/ko active IP Right Grant
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1703674A (zh) * | 2002-04-15 | 2005-11-30 | 德国捷德有限公司 | 编译器生成的程序代码的优化 |
CN1790267A (zh) * | 2005-12-14 | 2006-06-21 | 浙江大学 | 应用于Java操作系统中虚拟机的编译体系实现方法 |
CN101256482A (zh) * | 2007-12-19 | 2008-09-03 | 深圳市同洲电子股份有限公司 | 一种嵌入式应用程序的开发系统及方法 |
CN102362272A (zh) * | 2009-03-25 | 2012-02-22 | 微软公司 | 移动应用程序的设备相关的按需编译和部署 |
CN102473131A (zh) * | 2009-07-21 | 2012-05-23 | 微软公司 | 组件功率监测和工作负荷优化 |
US20120284356A1 (en) * | 2010-11-01 | 2012-11-08 | Michael Luna | Wireless traffic management system cache optimization using http headers |
US20130061212A1 (en) * | 2011-09-06 | 2013-03-07 | Microsoft Corporation | Modern Application Tracing |
US20130074046A1 (en) * | 2011-09-20 | 2013-03-21 | Alcatel-Lucent Usa, Inc. | Application protoyping suite |
US20130262626A1 (en) * | 2012-03-30 | 2013-10-03 | Anypresence, Inc. | Systems and methods for building and deploying mobile applications |
CN103377276A (zh) * | 2012-04-16 | 2013-10-30 | 宏达国际电子股份有限公司 | 在对话期间提供建议的方法以及使用所述方法的电子装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111552571A (zh) * | 2020-04-30 | 2020-08-18 | 深信服科技股份有限公司 | 应用反馈方法、计算机设备及计算机存储介质 |
CN111552571B (zh) * | 2020-04-30 | 2024-05-24 | 深信服科技股份有限公司 | 应用反馈方法、计算机设备及计算机存储介质 |
Also Published As
Publication number | Publication date |
---|---|
EP3014425A4 (en) | 2016-12-21 |
WO2014209337A1 (en) | 2014-12-31 |
KR20160004354A (ko) | 2016-01-12 |
EP3014425A1 (en) | 2016-05-04 |
CN105247480B (zh) | 2020-03-06 |
US20160124743A1 (en) | 2016-05-05 |
KR101793113B1 (ko) | 2017-11-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105493070B (zh) | 用于高效数据共享的任务上下文架构 | |
EP3005301B1 (en) | Animation editing | |
CN112148871B (zh) | 摘要生成方法、装置、电子设备及存储介质 | |
US9311730B2 (en) | Aggregating graph structures | |
US20080109780A1 (en) | Method of and apparatus for optimal placement and validation of i/o blocks within an asic | |
CN105517681A (zh) | 使用元数据的图表转换系统和方法 | |
CN110096271A (zh) | 组件可视化方法、基于组件可视化的页面处理方法及装置 | |
US10248478B2 (en) | Information processing device and specification creation method | |
Brunhaver II | Design and optimization of a stencil engine | |
US10721152B2 (en) | Automated analysis and recommendations for highly performant single page web applications | |
US20120278701A1 (en) | Automatically Generating And Porting A Cascading Style Sheets ('CSS') Style Sheet | |
CN105446952B (zh) | 用于处理语义片段的方法和系统 | |
CN113268227A (zh) | 一种零代码可视化的软件开发平台及开发方法 | |
CN102789377B (zh) | 处理指令分组信息的方法和装置 | |
US20130346845A1 (en) | Interactive multi device in memory form generation | |
US20180329873A1 (en) | Automated data extraction system based on historical or related data | |
KR102465622B1 (ko) | 인공지능 및 자연어 처리 기반의 의료 콘텐츠 저작 및 관리 시스템 | |
CN105247480A (zh) | 跨独立应用商店的网络应用的兼容及优化 | |
CN106970758A (zh) | 电子文档操作处理方法、装置和电子设备 | |
CN111142871B (zh) | 一种前端页面开发系统、方法、设备、介质 | |
CN115469931B (zh) | 一种循环程序的指令优化方法、装置、系统、设备及介质 | |
CN105868113B (zh) | 字符串查找方法及装置 | |
Sambasivan et al. | A framework for technology design for emerging markets | |
CN114637499A (zh) | 可视化组件处理方法、装置、设备及介质 | |
CN103488477A (zh) | Java接口的可视化编辑系统和可视化编辑方法 |
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: 20200306 |