Thursday, September 12, 2013

Packaged Apps

We know about the web apps that uses a web browser and reliant on a web browser to render the application executable. Packaged apps are the modified web apps. Packaged app is similar to web app which is bunched into a .crx file and can also use Chrome extension features. To build the packaged apps; the same code, frameworks and tools of the web platform are used. As it is not exactly the web apps, which is in the sense that some browser action or page action has been removed and also some web APIs has been disabled or changed to improve the security. A packaged app includes at least one HTML file into .crx file that imparts the app’s user interface.

Packaged apps are a type of installable web app that can be installed in Chrome. Packaged apps always load locally which makes the apps to be less dependent on the network. When a user opens a packaged app, the appearance of it does not have traditional look like chrome; it does not include address bar, tab strip and other web browser interface elements. But, it includes new features that help to build more native-like apps. Native app is mobile app that is coded in a specific programming language such as Java for Android Operating System.

Packaged apps integrate with the user’s operating system. The architecture introduces app container, programming and security models which support these packaged app requirements.

App Container model:-
The app container illustrates the visual appearance and loading activities of packaged apps. Packaged apps look different than traditional web apps. The app container does not show any traditional web page; it only contains the simple blank rectangular area. Also packaged apps are loaded into a different manner than web apps. Packaged apps also load the HTML documents but not in the browser tab, it loads in the app container. Also, the app container must load the main document of the packaged app from a local source.

Programming model:-
The programming illustrates about the lifecycle and window actions of packaged apps. The purpose of this model is to provide complete control of the app lifecycle to the users and their systems and it must not depend on the network connection. There is only one event page present for a particular packaged app which manages the app lifecycle by responding to users request and system events. This event page runs in the background and it controls all the windows behavior like starting an app, terminating it.

Security model:-
The security model looks after the information of the users and ensures that the information is managed in secure and safe manner. This security model uses the content security policy which protects the users against the man-in-the-middle attacks. Packaged app has its own personal storage area and can’t access the storage of another app or private data such as cookies for websites that uses in the browser. All external processes are inaccessible from the app.

Packaged apps are written in HTML5, JavaScript and CSS. Packaged apps have native-like capabilities that are much powerful than those available to web apps.