CN104704468A - Cross system installation of WEB applications - Google Patents

Cross system installation of WEB applications Download PDF

Info

Publication number
CN104704468A
CN104704468A CN201380050108.5A CN201380050108A CN104704468A CN 104704468 A CN104704468 A CN 104704468A CN 201380050108 A CN201380050108 A CN 201380050108A CN 104704468 A CN104704468 A CN 104704468A
Authority
CN
China
Prior art keywords
application program
local
working time
user
server
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
Application number
CN201380050108.5A
Other languages
Chinese (zh)
Other versions
CN104704468B (en
Inventor
埃里克·凯
拉胡尔·罗伊乔杜里
池·亨格·丘
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Priority to CN201810294506.6A priority Critical patent/CN108509207A/en
Publication of CN104704468A publication Critical patent/CN104704468A/en
Application granted granted Critical
Publication of CN104704468B publication Critical patent/CN104704468B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)

Abstract

A method and system for providing cross system installation of applications, include providing for installation, via a server, a natively operating application coded only with web technologies, and providing for installation a single runtime environment that provides the natively operating application access to computer system-level services that are not available to web applications. The single runtime environment controls the installation and uninstallation of the natively operating application, and the natively operating application is configured to execute independent of a web browser.

Description

The cross-system of WEB application program is installed
related application
Subject application is application on October 10th, 2012, title is the 13/648th of " cross-system of WEB application program installs (CROSSSYSTEM INSTALLATION OF WEB APPLICATIONS) " the, the case and advocate right of priority to it of continuing of No. 473 U.S. patent application case, 13/648th, No. 473 U.S. patent application case are applications on September 27th, 2012, title is the 61/706th of " cross-system of WEB application program installs (CROSS SYSTEM INSTALLATION OF WEBAPPLICATIONS) " the, the non-provisional case of No. 292 U.S. Provisional Patent Application cases and advocate the right of priority to it, described both patent application cases hereby in full way of reference be incorporated herein.
Technical field
The present invention generally relates to as native application operation but uses the cross-system of the application program of web technology programming to install.
Background technology
Usually, people must use the operating system of particular types or web browser to visit web store or Numerical market.But people may wish to use the operating system of any kind or web browser to visit web store or Numerical market, and people wish how the type of unattended operation system or browser all can from Numerical market down load application program.The ability that people also appreciate on client computers " the machine ground " runs application.But typical weblication does not provide the access to local system resource (such as file system, Native Windows, graphic process unit, microphone, video camera), and therefore may have some restrictions.In general, weblication has compared with the restrictive security model of tool, which has limited the number that weblication can access local system resource.
For developer, it is favourable for not needing it to use many different editions of independent programming technique or developing application that described application program just can be made also provable in the upper operation of different operating system platform (such as, WINDOWS, MAC or LINUX).Usually, developer needs for each platform construction one application program.For developer, those identical application programs also can be run and can download via the web browser of any kind on web is favourable.In addition, developer may wish to use JAVASCRIPT, HTML, CSS or other web technology to develop the application program that can operate to the machine on computing machine and mobile device.The application program that developer also can wish to enable those identical to operate as weblication via web browser and can operate to the machine and therefore have the access right at least some local resource.Therefore, need to solve the deficiency of current technology and other system and method that is novel and character of innovation is provided.
Summary of the invention
A kind of method and system for providing the cross-system of application program to install comprise: provide the application program of the in-local of only encoding by web technology for installation via server; And providing single working time environment for installation, the application program that described single working time, environment was described in-local provides the access right to the not obtainable computer system level service of weblication.Described single working time, environment can control installation and the unloading of the application program of described in-local, and the application program of described in-local is configured to perform independent of web browser.
State the details of one or more embodiment in the accompanying drawings and the description below.From described explanation and graphic and will further feature be understood from claims.
Accompanying drawing explanation
Fig. 1 is the schematic diagram of the system of installing for the cross-system of weblication.
Fig. 2 is the exemplary block diagram of the working time using multi-process configuration.
Fig. 3 is the figure of the example for the application program of native application, in-local and the user interface of weblication.
Fig. 4 A is the process flow diagram of the process of installing for the cross-system of weblication.
Fig. 4 B is the process flow diagram of the Life Cycle of the application program of in-local.
Fig. 5 shows and can be used for implementing the computer installation of technology described herein and the example of mobile computing machine.
Each graphic in, similar reference symbol indicates similar element.
Embodiment
System and method described herein allows to install the cross-system of the application program of the in-local of encoding by web technology (such as HTML, JavaScript, CSS etc.).The application program of described in-local can be installed on the environment and operating single working time on client computer via this locality.The application program of described in-local can provide the access right to local machine resources, and also can provide the access right to other web services (such as cloud storage, web documents editing or photo editing).Because the application program web technology of described in-local is encoded, therefore it also can be configured (such as, through encapsulation) does not need from developer further coding to run in the web browser.When single working time is installed, just can be installed on any operating system from the application program of any browser downloads in-local.Described browser can automatically determine whether described single working time has been installed on computing machine before the application program of installing in-local.If described single working time is not yet mounted, so browser automatically can install described single working time, for example, by comprising the single download of described application program and working time.Described working time uses multi-process framework and operates, and is installed in sandbox by the application program of described in-local, and make when unloading the application program of described in-local, it is removed from client computer completely.
Fig. 1 is the schematic block diagram of the example embodiments of the system 100 that the cross-system of weblication can be provided to install.In various embodiments, system 100 can comprise client computing devices 102A, 102B, 102C (such as desktop PC, notebook computer, net book computing machine, flat computer, smart phone etc.).Client computing devices 102A can comprise one or more processor (CPU) 104 and one or more storer 106.Client computing devices 102A can executive operating system (O/S) 108, working time 120 and can show the various application programs 110,124 and 126 of user interface window (such as, web browser 112).Client computing devices 102A can comprise cache memory 118.Client computing devices 102A can comprise application program 124 and one or more native application 126 of in-local.Application program 110 is another examples of native application, and the user interface window 112 of application program 110 is web browsers.Other example of native application 126 comprises word-processing application, picture editting's application program, email application, media player, counter etc.
" application program of in-local " 124 only uses web technology (such as HTML, JAVASCRIPT or CSS) to encode the application program of (being defined as the code directly can implemented by web browser herein), but it is for looking like and showing to obtain picture native application (and not being bound by web browser) and have the application program of this capabilities of class that weblication cannot obtain.The application program 124 of in-local also can be run in web browser (such as web browser 112).
The application program 124 of in-local can be downloaded from marketplace server 150 via web browser (such as web browser 112) and can be installed on client computing devices 102A.The application program 124 of in-local can use hereafter operate working time 120 in greater detail.For example, the application program 124 of in-local can be configured to directly use perform working time 120 by the processor 104 of client terminal device.Due to the application program 124 web technology coding of in-local, therefore do not need compile step.But, the application program 124 of in-local can simply through encapsulation (such as, with .CRX form, or such as compressed with a certain signature or checking) and be such as provided to client computing devices 102A via web browser 112 from Numerical market (such as marketplace server 150), as described in greater detail below.The application program 124 as the in-local through package file (such as .CRX file) can be accepted working time 120 and then perform the application program 124 of in-local.For example, the application program 124 of in-local can be carried out this locality and be loaded, and makes it and depend on network unlike weblication.
Can be working time 120 at the machine O/S 108 top-operation and use the environment of multi-process framework.Therefore, if the application program 124 of an in-local is collapsed, so user can not lose simultaneously also via the application program of other in-local run working time 120.Each application program operates on single working time as new process, as hereafter described in more detail about Fig. 2.
Can serve as working time 120 and allow the application program 124 of in-local using intermediary's environment that any calculation element of any operating system runs, as long as it is upper to be installed on described calculation element (such as calculation element 102A) working time 120.The application program 124 of in-local can be allowed working time 120 to be revealed as just as it is native application while the application program 124 of in-local does not perform actually by O/S 108 (but still can access the part of O/S 108).In some embodiments, also can be used for executive utility 110 (comprising web browser 112) working time 120.
Working time 120 itself also can via web browser (such as web browser 112) from marketplace server 150 (or another server) download and can be installed on client computing devices 102A.In some embodiments, when installing the application program 124 of in-local, working time 120 may be installed on client computing devices 102A.In other embodiments, working time 120 can be bundled in single download with the application program 124 of in-local, and/or is downloaded or installed before the installation of the application program 124 of in-local.
The application program 124 of in-local via accesses network 190 working time 120, and can also may have access to one or more local resource 122 of client computer.Local resource 122 can to comprise in calculation element 102A to comprise or this locality is connected to the resource of any kind of calculation element 102A.For example, local resource 122 can comprise Native Windows (such as, any window outside web browser label), Graphics Processing Unit (GPU), web video camera, graphics card, microphone, printer, comprise the file system of document, image, other media, or other resource, be such as connected to the device 102D of calculation element 102A.The application program 124 of in-local can be similar to weblication (being hereafter described in more detail) and encode by web technology, but compared with weblication, the application program 124 of in-local may have access to the local resource 122 of client computing devices 122.
The application program 124 of in-local can carry out off-line operation acquiescently.The application program 124 of in-local also can be carried out this locality and be loaded.In some embodiments, once the application program 124 of user installation in-local, described user just can control the Life Cycle of the application program 124 of in-local completely.The Life Cycle of the application program 124 of in-local connects independent of web browser window or network.The Life Cycle of the application program of in-local is hereafter described in more detail about Fig. 4 B.The application program 124 of in-local can be opened fast and close, and system 100 can close down the application program 124 of in-local at any time to improve performance (for example, using working time 120).User can unload the application program 124 of in-local completely.In some embodiments, when application program 124 off-line of in-local, user data this locality relevant with the application program 124 of in-local can be stored in (such as) storer 106 and once the user of client computing devices 102A online just then by described user data synchronization (when giving authority user) to data server (such as, server 130 or synchronization server 170).
In addition, the application program 124 of in-local is addressable can via the various remote service 140 of remote server access.The access right to this type of service 140 can be obtained via the various JavaScript API hosted by working time 120.
API also can be used for other ability.This type of API is not useable for weblication, website or native application.For example, share data API and can provide access right to the data on calculation element 102A to the application program 124 of in-local, wherein this access provides with mediation practices, makes the application program 124 of in-local may have access to contact person, image, photo, media, video, music or film (as an example).This access provides via shared data API.In addition, device capability API provides access right to the hardware unit being connected to calculation element 102A (such as USB device port or blue-tooth device) can to the application program 124 of in-local.The application program 124 of in-local can be connected to USB device, and reads from the serial port of user or write to it, such as, to send a message to any device being connected to local computing de 102A, and such as device 102D.In addition, the application program 124 that AP services I can be in-local provides payment, identity or other service.
As demonstrated in Figure 1, system 100 can comprise server 130, and server 130 comprises one or more processor 132, one or more storer 134, operating system 136 and service 140.For example, serve 140 can obtain via server 130 and visit via the API hosted by working time 120.As discussed above, service can comprise (as an example) payment or identity service.For example, user can utilize application program 124 that identity service is in-local to give authority to calling party identity, and does not need user to re-enter identity information when each user runs the application program 124 of in-local.Similarly, user can utilize application program 124 that payment services are in-local to give authority to calling party payment information, and does not need user to re-enter this payment information when each user runs the application program 124 of in-local.
By application program 124 from working time 120 to in-local disclosed in API also can comprise shared data capability, this can allow user to utilize the application program 124 of in-local to upload the data to server (such as server 130) (or from described server downloading data).The example sharing data capability can comprise data and upload or stores service, such as, allow user via the application program 124 of in-local from client computing devices 102A uploaded camera shots.Described photo can through uploading to provide back-up storage on remote server (such as server 130).For example, in one embodiment, the application program 124 of in-local can use by ability disclosed in JavaScript API and (but, when user previously gives authority) automatically accesses the photo be stored in a part for storer 106 when not needing the extra input from user.The file that the application program 124 of in-local can use API automatically only to access photo and not access other type (such as, based on file type, file name, file size or other criterion), and also automatically photo can be uploaded (when user gives authority) to the account be associated with user.For example, can use network 190 that photo is uploaded to server 130.
Also by shared data API, other ability is disclosed, such as, to provide the access right to media library, music, film or document.For example, music be correlated with in-local application program can only access file system containing the part of music, make described application program can carry out some operation to music, such as, make music synchronous with user account.Use shared data API, the application program 124 of in-local can ask the access right to all music on device 102A.Described API which kind of music determining device 102A can store, and described application program can obtain described music and is synchronized to remote server (such as, server 130).The application program 124 of in-local does not need independent plug-in unit to obtain music and to make it synchronous, but the application program 124 of in-local is attributable to the process isolation that controlled by working time 120 and in a secure manner from local system file reading or to its writing in files, as hereafter discussed in more detail about Fig. 2.
Other API can comprise device capability API, and it can allow the application program 124 of in-local to have access right to the device that weblication may not be accessed usually.For example, the application program 124 of in-local can have USB access right, primitive network access right or blue-tooth device access right (as an example).
In various embodiments, web browser 112 can comprise one or more weblication 128 or associated with it.In this context, " weblication " can be configured to as user performs single task role or multiple task.In this embodiment, weblication can be configured to be performed by web browser or explain.This with comprise machine executable code and be configured to the native application that directly performed by processor or perform via the operating system of client terminal device (such as, native application 126) quite, but weblication is when can not performing or show by when web browser.This also with do not need the application program 124 of the in-local of web browser suitable.Therefore, weblication is at the browser internal operation with private subscribers interface, and usually provides abundanter than independent Web and have more interactivity but triviality and globality are better than the functional of native application 126 and experience.The example of weblication is included in the game of web browser 112 internal operation, photo editor and video player.
Weblication can comprise website himself comprise webpage add at least partially can especially with weblication about or relevant to allow some metadata of weblication a certain particular functionality for user performs with the user of weblication.
In various embodiments, web browser can comprise one or more browser extension or be configured to one or more browser extension mutual.In this context, " browser extension " can comprise overall as definable and encapsulate or be grouped in together and be configured to functional one or more webpage expanding to web browser.Therefore, browser is returned in expansion provides additional functionality, but usually, is different from application program, there is the functional user's interface unit seldom or not existed for being provided by expansion.Truth is, web expansion can expand the functional of browser and the website watched just wherein.For example, web expansion expands the functional of browser by new button being added to address field (currency converter such as existed all the time).This button similar is also applicable to the current site of just watching-for example, clicks currency converter button and all prices of presenting on the website of user can be converted to the currency that user selects.In another example, expansion can through install make user by the thumbnail image of cursor hovers on the webpage performed by browser time, the version of the size of image can be shown until cursor is moved apart image by user.In another example, and expansion other can to embed " by this with mail sending " button through installing with each link in every one page.Compared with weblication, expansion crosses over website and weblication straight.In fact, all websites (but number of site be website distinctive) are usually crossed in expansion.In this way, weblication not with other application combination.But weblication runs independently as any conventional website.Web browser expansion and application program can be downloaded for be installed in client computing devices and to be performed by the browser run in described client computing devices.
In one embodiment, client computing devices 102A can run or cause operating system 108 to come executive utility 110 or web browser 112.In various embodiments, this web browser 112 can comprise multiple plane or label 114A, 114B, 114C.Web browser 112 can be visual zone containing certain kind user interface (being generally rectangle).In the graphical user interface (GUI) used in client terminal device 102A, web browser 112 can be the two-dimensional object in the plane being arranged in the GUI being called desktop.Web browser 112 can comprise other Drawing Object of " fringing (chrome) " that can be described as web browser, such as, and menu bar, toolbar, control, icon.Web browser also can comprise the perform region that wherein can show document, image, folder content or other main object (such as, weblication 128).Described perform region can keep only a main object (that is, in single document interface) or in multiple document interface keep more than one main object.In some application programs (specifically web browser), multiple document can be shown in individual distinguishing label 114A, 114B, 114C.These labels 114A, 114B, 114C normally show one at a time, and can select via the tab bar above the content usually residing in individual windows.That is, selected label 114A be " towards front " and in web browser 112, show information or content to user, wherein the content of other label 114B, 114C is " hiding ".Label 114A, 114B and 114C can perform in single process, and each process all has its oneself respective memory.
Client computing devices 102A, 102B, 102C can receive online content from one or more server computational device 130,150,170 being connected to client terminal device 102 by network 190.In some embodiments, can (such as, in a label 114 of web browser 112) process and show received online content in web browser 112.For example, web browser 112 can show the user interface of digital commodity market to user, be similar to the user interface in market described herein.
Client computing devices 102A can communicate with digital commodities marketplace server 150, and digital commodities marketplace server 150 provides digital commodities market to client computing devices 102A, 102B, 102C.Marketplace server 150 can comprise one or more processor 152 and one or more storer 154.Marketplace server 150 can executive operating system and various application program and service to provide functional to client computing devices.For example, in one embodiment, marketplace server 150 can comprise the thesaurus of digital commodities database 158, and from described thesaurus to client computing devices supply or can download digital commodities.In another embodiment, digital commodities can be stored in the thesaurus away from marketplace server location, and are fed to client computing devices from described thesaurus.For example, digital commodities can be stored in indivedual thesaurus of being operated by the developer of described digital commodities and controlling and be fed to client computing devices from described thesaurus, and the digital commodities thesaurus 158 of marketplace server 150 only can provide the reference to the indivedual thesauruss operated by developer.
The basis that can add in selectivity provides the information (such as, about the type or ability etc. of calculation element 102A) being provided to marketplace server 150 by the application program 110 run on client terminal device.In other words, during the transmission only having the user of client computing devices 102A specifically to authorize this information from client to server, just this information can be provided to server 150 from described client terminal device.In addition, before information is sent to marketplace server 150, can be anonymous by it.
As demonstrated in Figure 1, system 100 also can comprise synchronization server 170, and synchronization server 170 comprises one or more processor 172, one or more storer 174, operating system 176 and identifier data storehouse 178.Identifier data storehouse 178 can store in order to realize synchronous unique identifier between the various user conversations on different clients calculation element (such as, device 102A, 102B, 102C).
For example, in some embodiments, user account allows user to be undertaken verifying by system service (such as, weblication) and receives the mandate to the described system service of access.In order to sign in user account, user can verify self with password or for other certificate of such as account, safety and resource management object.Once user logs in (such as, to web browser, arriving calculation element etc.), operating system just can use identifier (such as integer) but not user name to refer to user.For example, user name can be relevant to user identifier.System (such as, server 170) can check and confirm the appropriate entitlement of user account, and by assigning unique identifier to verified Account login identifier (such as, user name and password, safe identifier etc.), the entitlement of those user accounts is for good and all linked to particular individual.System can such as require according to the business strategy organized, access control policy and various application program and confirm the individual Account login identifier only had for suitable system and application program.
In some embodiments, for example, when user logins in web browser 112 or a certain device 102A, all user's bookmarks, expansion, weblication, the application program of in-local, theme and other browser preference can be preserved (such as, in storer 174) and be synchronized to account's (such as, use identifier data storehouse 178) of user.On other computing machine and device (such as, device 102B or 102C), login any time in web browser 112 user, user then can load these settings.For example, at once can be synchronized to account to the change of browser settings and automatically can be reflected in user and login on other computing machine of (and realize synchronous).
When installing the application program 124 of weblication or in-local, calculation element 102A can carry out this locality and store to some data relevant with application program.Server (such as, synchronization server 170) can be guaranteed to cross over all user's sets or all for making user sign in device in user account and synchronous from the local data of calculation element 102A.In addition, password is local storage traditionally, but can use server and to cross over each device synchronous.In addition, server can make all through install the application program of in-local, weblication, browser extension, browser bookmark, setting, profile, browser history, theme, plug-in unit, local authority, mode indicator and for user to cross over different device synchronous with the data that weblication and browser extension are associated.For example, if the user of calculation element 102A from calculation element 102C calling party account (for example, via web browser), so server 150 can copy the setting be associated with weblication and browser extension and data (for example, user has selected to carry out synchronous setting and data) to calculation element 102C from user account.In addition, server can carry out device sensitive control.For example, some version be associated with powerful figure of weblication can be suitable for having the desktop PC of hardware accelerator and large display monitor, but is not extremely suitable for possessing the phone of web ability, flat computer or laptop computer.Server can determine that the version of weblication is not extremely suitable for the phone possessing web ability of user, flat computer or laptop computer, and user's (such as, during synchronous or login process) can be notified or get rid of version or weblication and do not carry out synchronous on the phone possessing web ability of user, flat computer or laptop computer.
Can be (for example, when user enables described synchronous characteristic) that (such as, via server 170) copies automatically from other computing machine to the change of the setting on a calculation element.Can be encrypted to make information keep safety through synchrodata to described when advancing between calculation element 102A, 102B, 102C and server 150 through synchrodata.In addition, the key that can access to your password is encrypted password on calculation element 102A, 102B, 102C and server 150.
In some embodiments, the application program (application program 124 of in-local such as demonstrated in Figure 1) of in-local can have primitive network access right (such as, via API) with server (such as server 130) propelling data back and forth.In addition, in some embodiments, synchronization server 170 can be such as used to cross over all user conversations and synchronous to make the application program 124 of in-local.For example, as mentioned above, the application program 124 of in-local can use working time 120 (such as, use API) visit identity service, if make user login in system, so the application program 124 of in-local can such as via the identity (when described application program has the authority of user's imparting) of unique identifier access logged-in user.
Fig. 2 is the exemplary block diagram of multi-process configuration working time.As discussed above, use the application program of each in-local of working time 120 that single process can be used not affect by the fault in any one in the application program of in-local to protect overall system.Can limit from the program process of the program process of in-local to other in-local and the access to system remainder.In this way, the process run for application program is with other process isolation run for other application program and be separated.Web browser (such as web browser 112) can use working time 120 and performs and can perform in its oneself process.
As shown in FIG. 2, can perform single process 202,204 and 206 working time 120, each process shows the user interface of the application program 212,214 and 216 of independent in-local respectively.As discussed above, the application program 212,214 and 216 of in-local is encoded by web technology (such as, HTML, JAVASCRIPT etc.), but its operation does not need web browser.The application program 212,214 and 216 of in-local can perform single process, and as an example, each process can have the independent read/write access right of (such as the part of storer 222,224 or 226) at least partially to storer 106 respectively.In some embodiments, the application program 212,214 and 216 of in-local can perform single process, and each process has its oneself storer (such as, storer 222,224,226) and the global data structures copy of oneself thereof.The application program (such as, 212) of an in-local can the application program of other in-locals all in use time be busy.If the one in the application program of in-local 212,214 and 216 exists mistake (such as, in renderer process), so it may not affect other application program or the whole service time 120 is collapsed.In addition, working time 120 can being used each sandbox in the application program 212,214 and 216 of in-local, making any residue that when unloading, calculation element can not retain described application program.For example, can stay on the computing device without any run time version or private data.Can realize this situation be because can control working time 120 any unloading of the application program 212,214 and 216 of in-local and because working time 120 isolation of the application program 212,214 and 216 of in-local is made the application program 212,214,216 of each in-local have its oneself through isolated data memory storage (such as, 222,224,226), the application program of each in-local is made cannot to affect other data storage device.In addition, the application program 212,214,216 of each in-local cannot the calling party personal data (such as small-size text file (cookie)) of website of accessing in the web browser.The isolation (it also can be described as sandbox) of this type utilizes the security provided by operating system to allow forever cannot to change computing machine or the code of addressing machine confidential information performs.This kind of isolation and controlled unloading are different from native application, and native application only unloads himself (and in some cases, may not unload up hill and dale) and usually also may have access to any memory portion or private data.By contrast, the unloading of the application program 124 to in-local can be controlled working time 120.
As an illustrative example, the application program 212 of in-local can be the photo editor that will be saved in through editing photo through sequestering memory part (that is, memory portion 222).But in order to access photo to be edited, the application program 212 of in-local can need to access the previous institute storage picture in the another part being in storer 106.In this case, the application program 212 that API can be in-local provides the access right to all local photo (such as, only JPEG or BITMAP file) on storer 106.Described API can control how to manage this access right, operates because described API passes through working time 120.In this example, the application program 212 of in-local cannot utilize API to visit the file of other type or the access right of the uncommitted other parts to storer 106.
Fig. 3 is the figure of the example that can be used for native application, the application program of in-local and the user interface of weblication.User interface 302 can be the display to calculation element (such as, desktop PC, smart phone etc.) (such as from the device 102A of Fig. 1).User interface 302 can comprise various graphical user interface elements.Some optional pattern user interface elements are not described, such as desktop toolbar, desktop icons, theme, smart phone application icon etc. in Fig. 3.
User interface 302 can comprise browser user interface 304, the application user interface 320 of in-local and native application user interface 340.Browser user interface 304 can comprise various browser " fringing " 306 element, for example, comprises the border of browser web browser 112, window frame, menu, toolbar and scrolling bar.Browser user interface 304 can be shown by the web browser performing weblication, described weblication display weblication user interface 310.Weblication may not have the automatic access power of any local resource (such as printer, video camera, file system, usb driver etc.) to calculation element 102A due to the security model of web.This shortage of automatic access power can make weblication safer from the angle of user.By contrast, native application can have the read/write access right of the storer to calculation element 102A, may have access to local resource or even can run Malware.By contrast, the application program of in-local can have the security of weblication, but also can have such as via API certain extra automatic access power to local resource, this application programs while maintenance security feature (such as sandbox and process isolation) gives additional capabilities (such as to the access right of local device, GPU).
Compared with weblication user interface 310, the application user interface 320 of in-local does not comprise any browser fringing.Both application user interfaces 320 of weblication user interface 310 and in-local can implementing through encapsulation group (that is, one or many person) respectively by web technology file 330A and 330B.Web technology file 330A and 330B can containing being working time 120 executive utility and all logics of needing.As an example, web technology file 330A and 330B can comprise JAVASCRIPT, HTML, CSS or other web technology file.Web technology file 330A and 330B does not need independent compiling to perform the application program of weblication or in-local.In addition, developer can use and such as have different identical basic web technology file 330A and 330B through encapsulation format to implement both application programs of weblication and in-local.As an example, developer can be link or the pointer that weblication is provided to the file on developer's server, and can provide can for download using make same application as the application program of in-local operate through package file (such as, in CRX form).By contrast, native application user interface 340 implemented by executable code 350 and can't help web technology file implement.In addition, native application cannot run in the web browser as weblication.
Fig. 4 A is the process flow diagram of the process of installing for the cross-system of weblication.The process flow diagram shown in Fig. 4 A can be performed by server (marketplace server 150 such as, demonstrated in Figure 1) at least in part.Described server can receive the request (410) of the application program of installing in-local.Whether described server can test whether there is working time (420) before the installation of the application program of specific in-local, such as, by carrying out API Calls with the type of determining device installation and operation time or the web browser by test access Numerical market server 150.If the installation and operation time (420, yes), so do not need again to download it on machine, and in some embodiments, server can send the instruction of startup optimization time 120 (displaying) simply to browser.If the not yet installation and operation time (420, no), so server can such as provide working time for installation (430) when the user of the request making the application program of installing in-local gives authority.In one embodiment, by providing first installation procedure to perform installation to user, described first installation procedure comprises working time 120 and once user opens described first installation procedure, it is just known, and how self installs.Described server also can provide one or more reference to the application program of wanted in-local (such as unique ID, title, language, brand or other data) to user, then can download working time 120 and install the application program of described wanted in-local.In some embodiments, first installation procedure also can once it is installed on device be just updated periodically working time 120, or make upgrade the working time of device when existing and upgrading version.Described server also can provide the weblication of in-local for being installed on (440) in client computing devices.
The process of showing in Fig. 4 A is the example of an embodiment, and can delete step, resequences or revise.For example, capable of being combined 430 and 440, and from the angle of user, whole process can be clicks download, thus does not need the further input from user.As another example, process 400 also can comprise determines that calculation element comprises specific characteristic (such as, GPU or web video camera) and screens the application program of in-local based on described specific characteristic.In another example, server can determine the type of the browser of accessing Numerical market, and can determine whether web browser is attribute type, whether has been the described calculation element installation and operation time.
Fig. 4 B is the process flow diagram of the Life Cycle of the application program of in-local.When opening application program (such as, being clicked the desktop icons be associated with application program by user) of in-local, application program working time of in-local is from the desktop load events page (450) of user.The event page can be the webpage containing all top logic of application program without its oneself user interface.The event page can be responsible for other application program pages all and create user interface window.
When the load events page, cause onLaunch () event.This event can inform that the event page will start which kind of window and its dimension.
If event page open window (452, yes), so one or more window is opened for user's viewing and access (454).For example, can the Primary user interface of display photograph editing application program.For example, when the icon of application program is exited in user's click, the event page or working time can close window (456).Unloading event page working time (458) also closes application program.
When the event page do not have just performing JavaScript, not there is callback and not there are window (452, no) of opening time, unloading event page working time (458) also closes application program.In some embodiments, before the unloading event page, cause onSuspend () event.This gives the chance completing simple removing task before closing application program to the event page.Once cause this event, just start the process of closing application program working time.All events all stop causing and stop JavaScript execution.Do not ensure that any asynchronous operation started when disposing this event will complete.
Fig. 5 shows the example of generic the computer installation 500 and generic mobile computing machine 550 that can use together with technology described herein.Calculation element 500 intends to represent various forms of digital machine, such as laptop computer, desktop PC, workstation, personal digital assistant, server, blade server, mainframe computer and other suitable computing machine.Calculation element 550 intends to represent various forms of mobile device, such as personal digital assistant, cellular phone, smart phone and other similar calculation element.The assembly shown herein, its connection and relation and its function are intended exclusively for exemplary, and are not intended to limit described in this document and/or the embodiment of the present invention advocated.
Calculation element 500 comprises: processor 502; Storer 504; Memory storage 506; High-speed interface 508, it is connected to storer 504 and high speed expansion port 510; And low-speed interface 512, it is connected to low speed bus 514 and memory storage 506.Each in assembly 502,504,506,508,510 and 512 uses various bus and interconnects, and can be installed on common mainboard or optionally otherwise install.Processor 502 can process the instruction for performing calculation element 500 in, comprise be stored in storer 504 or on memory storage 506 with in the instruction of the upper display of outside input/output device (being such as coupled to the display 516 of high-speed interface 508) for the graphical information of GUI.In other embodiments, multiple processor and/or multiple bus and multiple storer and type of memory can optionally be used.In addition, can connect multiple calculation element 500, wherein each device provides some parts (such as, as server group, blade server group or multicomputer system) of necessary operation.
Storer 504 stores the information in calculation element 500.In one embodiment, storer 504 is one (or some) volatile memory-elements.In another embodiment, storer 504 is one (or some) Nonvolatile memery units.Storer 504 also can be the computer-readable media of another form, such as disk or CD.
Memory storage 506 can provide massive store for calculation element 500.In one embodiment, memory storage 506 can be or contains computer-readable media, such as diskette unit, hard disk unit, optical disc apparatus or magnetic tape equipment, flash memory or other similar solid state memory device, or the apparatus array comprising the device in storage area network or other configuration.Computer program can visibly be embodied in information carrier.Described computer program also can contain the instruction of one or more method of the embodiment method as described above when performing.Described information carrier is computer-readable media or machine-readable medium, such as, storer on storer 504, memory storage 506 or processor 502.
The bandwidth-intensive operations of high-speed controller 508 Management Calculation device 500, and low speed controller 512 manages lower bandwidth intensive.The distribution of this function is only exemplary.In one embodiment, high-speed controller 508 is coupled to storer 504, display 516 (such as, by graphic process unit or accelerator) and be coupled to the high speed expansion port 510 that can accept various expansion board (displaying).In the embodiment described in which, low speed controller 512 is coupled to memory storage 506 and low speed expansion port 514.Various communication port can be comprised (such as, USB, bluetooth, Ethernet, wireless ethernet) low speed expansion port can (such as, via network adapter) be coupled to one or more input/output device, such as keyboard, indicator device, scanner or interconnection device (such as switch or router).
As show in the figure, severally multi-formly calculation element 500 can be implemented.For example, standard server 520 can be implemented as or repeatedly implement in the group of this type of server.Also can be implemented as a part for rack-mounted server system 524.In addition, can will be imposed in personal computer (such as laptop computer 522).Or, can combine from other assembly in the assembly of calculation element 500 and the mobile device (displaying) of such as device 550.Each in such device can contain one or many person in calculation element 500,550, and whole system can be made up of the multiple calculation elements 500,550 communicated with one another.
Calculation element 550 comprises processor 552, storer 564, input/output device (such as display 554), communication interface 566 and transceiver 568 and other assembly.Device 550 also can possess memory storage (such as microdrive or other device) to provide extra storage.Each in assembly 550,552,564,554,566 and 568 uses various bus and interconnects, and the several assemblies in described assembly can be installed on common mainboard or optionally otherwise install.
Processor 552 can perform the instruction in calculation element 550, comprises the instruction be stored in storer 564.Described processor can be embodied as the chipset of the some chips comprising independent and multiple simulation and digital processing unit.Described processor can provide the coordination of other assembly of (for example) device 550, such as, to user interface, the application program run by device 550 and the control of radio communication undertaken by device 550.
Processor 552 is by being coupled to the control interface 558 of display 554 and display interface 556 and telex network.Display 554 can be (for example) TFT LCD (Thin Film Transistor-LCD) or OLED (Organic Light Emitting Diode) display or other suitable display technique.Display interface 556 can comprise for driving display 554 to present the proper circuit of figure and out of Memory to user.Control interface 558 can receive the order from user and change for being submitted to processor 552 it.In addition, the external interface 562 communicated with processor 552 can be provided, so that implement device 550 communicates with the near region of other device.External interface 562 can provide (for example) wire communication in some embodiments, or provides radio communication in other embodiments, and also can use multiple interface.
Storer 564 stores the information in calculation element 550.Storer 564 can be embodied as one or many person in the following: one (or some) computer-readable medias, (or some) volatile memory-elements or one (or some) Nonvolatile memery units.Also can provide extended storage 574 and it is connected to device 550 by extended interface 572, described extended interface can comprise (for example) SIMM (signle in-line memory module) card interface.This type of extended storage 574 provide additional storage space can to device 550, or also can the application program of memory storage 550 or out of Memory.Specifically, extended storage 574 can comprise the instruction in order to perform or to supplement process as described above, and also can comprise security information.Therefore, for example, extended storage 574 can be provided as the security module of device 550, and able to programme have permit instruction to the safe handling of device 550.In addition, security application can provide via SIMM card together with extraneous information, such as, be positioned on SIMM card by identifying information in non-hacker's mode.
Storer can comprise (for example) flash memory as discussed below and/or NVRAM storer.In one embodiment, computer program is visibly embodied in information carrier.Described computer program contains the instruction of one or more method of the embodiment method as described above when performing.Described information carrier is computer-readable media or machine-readable medium, such as, on storer 564, extended storage 574 or processor 552 can (for example) storer of receiving via transceiver 568 or external interface 562.
Device 550 wirelessly communicates by the communication interface 566 that can comprise digital signal processing circuit in the case of necessary.Communication interface 566 may be provided in the communication under various pattern or agreement, such as GSM voice call, SMS, EMS or MMS information receiving, CDMA, TDMA, PDC, WCDMA, CDMA2000 or GPRS and other.This communication can (for example) be occurred by radio-frequency (RF) transceiver 568.In addition, junction service (such as) can use bluetooth, WiFi or other this type of transceiver (displaying) and occurs.In addition, additionally navigation and position wireless data of being correlated with can be provided to device 550 by GPS (GPS) receiver module 570, and described data visualization situation is used by the application program run on device 550.
Device 550 also can use audio codec 560 with audible communication, and described audio codec can receive dictated information from user and be converted into usable digital information.Audio codec 560 similarly can (such as) in the hand-held set of device 550 (such as) via loudspeaker for user produces sub-audible sound.This sound can comprise from speech phone call sound, institute's recording voice (such as, speech information, music file etc.) can be comprised and also can comprise by device 550 operation application program produce sound.
As show in the figure, severally multi-formly calculation element 550 can be implemented.For example, it can be embodied as cellular phone 550.It also can be embodied as the part of smart phone 552, personal digital assistant or other similar mobile device.
The various embodiments of system described herein and technology can Fundamental Digital Circuit, integrated circuit, custom-designed ASIC (special IC), computer hardware, firmware, software and/or its combination and realize.This various embodiment can comprise the embodiment in one or more computer program that can perform on programmable system and/or explain, described programmable system comprise can be special or general at least one programmable processor (its through coupling with receive data and instruction from storage system and by data and command to storage system), at least one input media and at least one output unit.
These computer programs (being also called program, software, software application or code) comprise machine instruction for programmable processor and can advanced procedures and/or Object Oriented OO programming language and/or implement with compilation/machine language.As used herein, term " machine-readable medium " or " computer-readable media " refer to that any computer program, equipment and/or device for machine instruction and/or data being provided to programmable processor are (such as, disk, CD, storer, programmable logic device (PLD)), described programmable processor comprises the machine-readable medium receiving machine instruction as machine-readable signal.Term " machine-readable signal " refers to any signal for machine instruction and/or data being provided to programmable processor.
Mutual for what provide with user, system described herein and technology may be implemented in be had for showing the display device of information (such as to user, CRT (cathode-ray tube (CRT)) or LCD (liquid crystal display) monitor) and user can so as to by input be provided on the keyboard of computing machine and the computing machine of indicator device (such as, mouse or trace ball).What also can use the device of other kind to provide with user is mutual; For example, the feedback being supplied to user can be any type of sensory feedback (such as, visual feedback, audio feedback or tactile feedback); And (sound, voice or sense of touch input can be comprised) in any form from the input of user and and to receive.
System described herein and technology may be implemented in computing system and (comprise aft-end assembly (such as, as data server); Or comprise middleware component (such as, apps server); Or comprise front end assemblies (such as, have user can so as to the client computer of the graphical user interface mutual with the embodiment of system described herein and technology or Web browser); Or this type of rear end, middleware or front end assemblies any combination) in.The assembly of described system is by any digital data communication form or media (such as, communication network) interconnection.The example of communication network comprises LAN (Local Area Network) (" LAN "), wide area network (" WAN ") and the Internet.
Described computing system can comprise client and server.Client and server are usually away from each other and usually mutual by communication network.The relation of client and server is by running on corresponding computer and having the computer program of client-server relation each other and produce.
Several embodiments have been described.But, understanding, various amendment can be made when not deviating from spirit of the present invention and scope.
In addition, the certain order that the logic flow described in figure is necessarily do not shown or sequential order realize wanted result.In addition, other step can be provided, or some steps can be eliminated from described flow process, and can add to described system or remove other assembly from described system.Therefore, other embodiment also within the scope of the appended claims.

Claims (20)

1. the method for providing the cross-system of application program to install, it comprises:
There is provided the application program of the in-local of only encoding by web technology for installation via server;
There is provided single working time environment for installation, the application program that described single working time, environment was described in-local provides the access right to the not obtainable computer system level service of weblication,
The installation of the application program of in-local described in wherein said single working time environmental Kuznets Curves and unloading, and
The application program of wherein said in-local is configured to perform independent of web browser.
2. method according to claim 1, it comprises further installs environment and the application program of described in-local described single working time simultaneously.
3., according to method according to claim 1 or claim 2, it comprises further:
Application program for described in-local provides the access right to web services.
4. method according to claim 2, wherein uses first installation procedure of being downloaded by client computing devices describedly to install to perform simultaneously.
5., according to claim 1, claim 2 or method according to claim 3, it comprises further:
Before described installation, based on the web browser of the described server of access type and automatically determine whether client computer system has installed environment described single working time.
6. the method according to claim arbitrary in aforementioned claim, wherein said single working time, environment was utilize the application program of each in-local of environment described single working time to implement single process, made the application program of each in-local have the access right of the unitary part of its oneself the storer to client computing devices.
7. the method according to claim arbitrary in aforementioned claim, it comprises further:
By using described single working time environment to start the application program that new process operates described in-local, wherein said new process is what to be separated with the second process of the application program of operation the second in-local.
8. the method according to claim arbitrary in aforementioned claim, wherein said web technology comprises HTML, CSS and JavaScript.
9. the method according to claim arbitrary in aforementioned claim, wherein said computer system level services package contains: the file system of graphics card, web video camera, loudspeaker, usb driver or client computing devices.
10. the method according to claim arbitrary in aforementioned claim, it comprises further:
Remove the application program of described in-local completely by the sandbox region of the storer from client computing devices and unload the application program of described in-local from described client computing devices.
11. methods according to claim arbitrary in aforementioned claim, the application program of wherein said in-local shows isolated user interface in client computing devices.
12. methods according to claim 11, the application program of wherein said in-local is also configured to run in described web browser.
13. methods according to claim arbitrary in aforementioned claim, wherein use user account to make the application program of described in-local cross over the session synchronization be associated with described user account.
14. methods according to claim arbitrary in aforementioned claim, the application program of wherein said in-local is to the authority of user's request to access local data or accesses network.
15. methods according to claim 14, the wherein said access right to network comprises the access right to shared data, services or identity service.
16. methods according to claim 15, the wherein said access right to local data comprises the access right of the part to the file system on calculation element.
17. methods according to claim 16, the described part of wherein said file system comprises: image file, music file or document files.
18. methods according to claim 17, it comprises further and uses the application program of described in-local to a part for the described Partial synchronization to the network storage device be associated with user account that make described file system.
19. 1 kinds of calculation elements, it comprises:
Storer, it is configured to store instruction and memory file system;
Processor, it is operationally coupled to described storer, and is configured to perform described instruction and operates in the first executive process initial by the operating system of described calculation element to make working time; And
Described working time is configured to:
Install the application program of in-local on the computing device, the application program of described in-local is only encoded by web technology;
There is provided and the automatic access of the service that weblication in described calculation element can not obtain automatically is weighed;
The application program of described in-local is performed in the process that the application program with other in-local is separated; And
Implement the application program of described in-local one group of file automatically to be uploaded to a part for the network storage device be associated with user account from described file system.
20. 1 kinds of non-transitory computer-readable medias containing instruction, described instruction can by the processor of server perform with:
The application program of the in-local of only encoding by web technology is provided by described server;
There is provided single working time by described server, the automatic access power to the computer system level service that weblication can not obtain automatically is provided described single working time;
The request of installing the application program of described in-local is on the computing device received at described server place; And
In response to described request, determine whether described single working time has been installed on described calculation element; And
If described single working time is not yet installed on described calculation element, so provides described single working time for being installed on described calculation element, being configured to the application program of installing described in-local on the computing device described working time.
CN201380050108.5A 2012-09-27 2013-09-25 The cross-system installation of WEB application program Active CN104704468B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810294506.6A CN108509207A (en) 2012-09-27 2013-09-25 The cross-system of WEB application program is installed

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201261706292P 2012-09-27 2012-09-27
US61/706,292 2012-09-27
US13/648,473 2012-10-10
US13/648,473 US9465596B2 (en) 2012-09-27 2012-10-10 Cross system installation of web applications
PCT/US2013/061568 WO2014052380A1 (en) 2012-09-27 2013-09-25 Cross system installation of web applications

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN201810294506.6A Division CN108509207A (en) 2012-09-27 2013-09-25 The cross-system of WEB application program is installed

Publications (2)

Publication Number Publication Date
CN104704468A true CN104704468A (en) 2015-06-10
CN104704468B CN104704468B (en) 2018-04-27

Family

ID=50340250

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201810294506.6A Pending CN108509207A (en) 2012-09-27 2013-09-25 The cross-system of WEB application program is installed
CN201380050108.5A Active CN104704468B (en) 2012-09-27 2013-09-25 The cross-system installation of WEB application program

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201810294506.6A Pending CN108509207A (en) 2012-09-27 2013-09-25 The cross-system of WEB application program is installed

Country Status (5)

Country Link
US (1) US9465596B2 (en)
EP (1) EP2901274B1 (en)
CN (2) CN108509207A (en)
DE (1) DE202013012500U1 (en)
WO (1) WO2014052380A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105760755A (en) * 2016-02-24 2016-07-13 浪潮通用软件有限公司 Isolation method of Visual Studio extension packet
CN108897550A (en) * 2018-06-08 2018-11-27 江苏中威科技软件系统有限公司 The system and method for program deployment, access, upgrading is realized by encapsulation browser

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9244709B2 (en) 2011-06-13 2016-01-26 Microsoft Technology Licensing, Llc Automatic recognition of web application
US9195479B2 (en) * 2011-10-17 2015-11-24 Google Inc. Selective notification of native applications
US9465596B2 (en) 2012-09-27 2016-10-11 Google Inc. Cross system installation of web applications
CN103716703A (en) * 2012-10-09 2014-04-09 腾讯科技(深圳)有限公司 Video playing method and apparatus
US9367211B1 (en) * 2012-11-08 2016-06-14 Amazon Technologies, Inc. Interface tab generation
US9189084B2 (en) * 2013-03-11 2015-11-17 Barnes & Noble College Booksellers, Llc Stylus-based user data storage and access
US9804745B2 (en) 2013-06-09 2017-10-31 Apple Inc. Reordering content panes in a stacked tab view
CN104092715B (en) * 2013-11-28 2016-10-19 腾讯科技(深圳)有限公司 A kind of method of synchronization applications, server and system
US20150278512A1 (en) * 2014-03-28 2015-10-01 Intel Corporation Virtualization based intra-block workload isolation
CN104007986A (en) * 2014-05-08 2014-08-27 郭伟 Cross-system remote real-time interaction technology
JP6403507B2 (en) * 2014-09-05 2018-10-10 キヤノン株式会社 Information processing terminal and browser storage management method
US10277601B1 (en) * 2015-05-11 2019-04-30 Google Llc System and method for recursive propagating application access control
CN107015870B (en) 2016-09-19 2020-11-03 创新先进技术有限公司 Method and device for realizing communication between web page and local application and electronic equipment
US11343193B2 (en) * 2020-01-03 2022-05-24 Realtek Singapore Private Limited Apparatus and method for rate management and bandwidth control

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090049065A1 (en) * 2007-08-17 2009-02-19 Salesforce.Com, Inc. On-demand database service system, method, and computer program product for validating a developed application
US20100306759A1 (en) * 2009-05-28 2010-12-02 Yahoo! Inc. System for packaging native program extensions together with virtual machine applications
US7870550B1 (en) * 2004-12-21 2011-01-11 Zenprise, Inc. Systems and methods for automated management of software application deployments
US20110314389A1 (en) * 2010-06-18 2011-12-22 Sweetlabs, Inc. Systems and methods for integration of an application runtime environment into a user computing environment
CN102542187A (en) * 2010-12-23 2012-07-04 盛趣信息技术(上海)有限公司 Method for improving safety performance of computers on basis of safety sandbox

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7614003B2 (en) * 2006-10-23 2009-11-03 Adobe Systems Incorporated Rendering hypertext markup language content
CN101930366B (en) * 2010-08-27 2013-04-17 武汉天喻信息产业股份有限公司 Browser-based mobile phone run time system
US20130159892A1 (en) * 2011-08-17 2013-06-20 Weejot Ltd. Non-technical creation of mobile web applications
US20140047413A1 (en) * 2012-08-09 2014-02-13 Modit, Inc. Developing, Modifying, and Using Applications
US9465596B2 (en) 2012-09-27 2016-10-11 Google Inc. Cross system installation of web applications

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7870550B1 (en) * 2004-12-21 2011-01-11 Zenprise, Inc. Systems and methods for automated management of software application deployments
US20090049065A1 (en) * 2007-08-17 2009-02-19 Salesforce.Com, Inc. On-demand database service system, method, and computer program product for validating a developed application
US20100306759A1 (en) * 2009-05-28 2010-12-02 Yahoo! Inc. System for packaging native program extensions together with virtual machine applications
US20110314389A1 (en) * 2010-06-18 2011-12-22 Sweetlabs, Inc. Systems and methods for integration of an application runtime environment into a user computing environment
CN102542187A (en) * 2010-12-23 2012-07-04 盛趣信息技术(上海)有限公司 Method for improving safety performance of computers on basis of safety sandbox

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105760755A (en) * 2016-02-24 2016-07-13 浪潮通用软件有限公司 Isolation method of Visual Studio extension packet
CN105760755B (en) * 2016-02-24 2018-06-19 浪潮通用软件有限公司 Isolation method of Visual Studio extension packet
CN108897550A (en) * 2018-06-08 2018-11-27 江苏中威科技软件系统有限公司 The system and method for program deployment, access, upgrading is realized by encapsulation browser

Also Published As

Publication number Publication date
DE202013012500U1 (en) 2017-01-27
EP2901274B1 (en) 2020-07-15
WO2014052380A1 (en) 2014-04-03
US20140089914A1 (en) 2014-03-27
EP2901274A1 (en) 2015-08-05
CN104704468B (en) 2018-04-27
US9465596B2 (en) 2016-10-11
CN108509207A (en) 2018-09-07

Similar Documents

Publication Publication Date Title
CN104704468A (en) Cross system installation of WEB applications
US20220247833A1 (en) Installable web applications
US9959198B1 (en) Simulated testing of API
US9619304B2 (en) Automatic connections between application components
US10194288B2 (en) Sticker distribution system for messaging apps
US9430449B2 (en) Systems, methods, and media for managing editable previews of webpages
EP2649536B1 (en) Codeless sharing of spreadsheet objects
WO2016155388A1 (en) Method and device for installing and running application
US9507480B1 (en) Interface optimization application
US10207190B2 (en) Technologies for native game experience in web rendering engine
CN104995601B (en) Switching to and from native web applications
US20120254118A1 (en) Recovery of tenant data across tenant moves
US20130036196A1 (en) Method and system for publishing template-based content
US10592063B1 (en) Controlling actions for browser extensions
CN105930467A (en) Information processing method and electronic device
CN106257418A (en) For by using assistance application to evaluate the technology of application
CN110647327B (en) Method and device for dynamic control of user interface based on card
CN105074652B (en) For remotely providing the method and computer system of application function to printer
CN110928571A (en) Business program development method and device
CN113656041A (en) Data processing method, device, equipment and storage medium
CN113127361A (en) Application program development method and device, electronic equipment and storage medium
US11893199B2 (en) Systems and methods for viewing incompatible web pages via remote browser instances
US8793342B2 (en) Interpreting web application content
KR101553539B1 (en) Dynamic link providing method and computer readable storage medium for program therefor
CN105183491A (en) Cross-platform desktop GIS and starting method thereof

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: American California

Applicant after: Google limited liability company

Address before: American California

Applicant before: Google Inc.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant
OSZAR »