OLD | NEW |
1 <meta name="doc-family" content="apps"> | 1 <meta name="doc-family" content="apps"> |
2 <h1>Chrome Apps Architecture</h1> | 2 <h1>Chrome Apps Architecture</h1> |
3 | 3 |
4 | 4 |
5 <p> | 5 <p> |
6 Chrome Apps integrate closely with a user’s operating system. | 6 Chrome Apps integrate closely with a user’s operating system. |
7 They are designed to be run outside of a browser tab, | 7 They are designed to be run outside of a browser tab, |
8 to run robustly in offline and poor connectivity scenarios and | 8 to run robustly in offline and poor connectivity scenarios and |
9 to have far more powerful capabilities than are available | 9 to have far more powerful capabilities than are available |
10 in a typical web browsing environment. | 10 in a typical web browsing environment. |
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
67 <p> | 67 <p> |
68 | 68 |
69 <p> | 69 <p> |
70 <iframe title="YouTube video player" width="610" height="380" src="//www.youtube
.com/embed/yr1jgREbH8U" frameborder="0" allowfullscreen></iframe> | 70 <iframe title="YouTube video player" width="610" height="380" src="//www.youtube
.com/embed/yr1jgREbH8U" frameborder="0" allowfullscreen></iframe> |
71 </p> | 71 </p> |
72 | 72 |
73 <h3 id="lifecycle">App lifecycle at a glance</h3> | 73 <h3 id="lifecycle">App lifecycle at a glance</h3> |
74 | 74 |
75 <p> | 75 <p> |
76 For detailed instructions on how to use the programming model, | 76 For detailed instructions on how to use the programming model, |
77 see <a href="app_lifecycle.html">Manage App Lifecycle</a>. | 77 see <a href="app_lifecycle">Manage App Lifecycle</a>. |
78 Here's a brief summary of the Chrome App lifecyle | 78 Here's a brief summary of the Chrome App lifecyle |
79 to get you started: | 79 to get you started: |
80 </p> | 80 </p> |
81 | 81 |
82 <br> | 82 <br> |
83 | 83 |
84 <table class="simple"> | 84 <table class="simple"> |
85 <tr> | 85 <tr> |
86 <th scope="col"> Stage </th> | 86 <th scope="col"> Stage </th> |
87 <th scope="col"> Summary </th> | 87 <th scope="col"> Summary </th> |
88 </tr> | 88 </tr> |
89 <tr> | 89 <tr> |
90 <td>Installation</td> | 90 <td>Installation</td> |
91 <td>User chooses to install the app and explicitly accepts the | 91 <td>User chooses to install the app and explicitly accepts the |
92 » <a href="declare_permissions.html">permissions</a>. | 92 » <a href="declare_permissions">permissions</a>. |
93 </td> | 93 </td> |
94 </tr> | 94 </tr> |
95 <tr> | 95 <tr> |
96 <td>Startup</td> | 96 <td>Startup</td> |
97 <td>The event page is loaded, | 97 <td>The event page is loaded, |
98 the 'launch' event fires, | 98 the 'launch' event fires, |
99 and app pages open in windows. | 99 and app pages open in windows. |
100 You | 100 You |
101 <a href="app_lifecycle.html#eventpage">create the windows</a> | 101 <a href="app_lifecycle#eventpage">create the windows</a> |
102 that your app requires, | 102 that your app requires, |
103 how they look, and how they communicate | 103 how they look, and how they communicate |
104 with the event page and with other windows. | 104 with the event page and with other windows. |
105 </td> | 105 </td> |
106 </tr> | 106 </tr> |
107 <tr> | 107 <tr> |
108 <td>Termination</td> | 108 <td>Termination</td> |
109 <td>User can terminate apps at any time | 109 <td>User can terminate apps at any time |
110 and app can be quickly restored to previous state. | 110 and app can be quickly restored to previous state. |
111 <a href="app_lifecycle.html#local_settings">Stashing data</a> | 111 <a href="app_lifecycle#local_settings">Stashing data</a> |
112 protects against data loss.</td> | 112 protects against data loss.</td> |
113 </tr> | 113 </tr> |
114 <tr> | 114 <tr> |
115 <td>Update</td> | 115 <td>Update</td> |
116 <td>Apps can be updated at any time; | 116 <td>Apps can be updated at any time; |
117 however, the code that a Chrome App is running | 117 however, the code that a Chrome App is running |
118 cannot change during a startup/termination cycle.</td> | 118 cannot change during a startup/termination cycle.</td> |
119 </tr> | 119 </tr> |
120 <tr> | 120 <tr> |
121 <td>Uninstallation</td> | 121 <td>Uninstallation</td> |
122 <td>User can actively uninstall apps. | 122 <td>User can actively uninstall apps. |
123 When uninstalled, no executing code or | 123 When uninstalled, no executing code or |
124 private data is left behind.</td> | 124 private data is left behind.</td> |
125 </tr> | 125 </tr> |
126 </table> | 126 </table> |
127 | 127 |
128 <h2 id="security">Security model</h2> | 128 <h2 id="security">Security model</h2> |
129 | 129 |
130 <p> | 130 <p> |
131 The Chrome Apps security model protects users | 131 The Chrome Apps security model protects users |
132 by ensuring their information is managed | 132 by ensuring their information is managed |
133 in a safe and secure manner. | 133 in a safe and secure manner. |
134 <a href="contentSecurityPolicy.html">Comply with CSP</a> | 134 <a href="contentSecurityPolicy">Comply with CSP</a> |
135 includes detailed information on how to comply with content security policy. | 135 includes detailed information on how to comply with content security policy. |
136 This policy blocks dangerous scripting | 136 This policy blocks dangerous scripting |
137 reducing cross-site scripting bugs | 137 reducing cross-site scripting bugs |
138 and protecting users against man-in-the-middle attacks. | 138 and protecting users against man-in-the-middle attacks. |
139 </p> | 139 </p> |
140 | 140 |
141 <p> | 141 <p> |
142 Loading the Chrome App main page locally provides a place | 142 Loading the Chrome App main page locally provides a place |
143 to enforce stricter security than the web. | 143 to enforce stricter security than the web. |
144 Like Chrome extensions, | 144 Like Chrome extensions, |
(...skipping 10 matching lines...) Expand all Loading... |
155 <p> | 155 <p> |
156 Chrome Apps reuse Chrome extension process isolation, | 156 Chrome Apps reuse Chrome extension process isolation, |
157 and take this a step further by isolating storage and external content. | 157 and take this a step further by isolating storage and external content. |
158 Each app has its own private storage area | 158 Each app has its own private storage area |
159 and can’t access the storage of another app | 159 and can’t access the storage of another app |
160 or personal data (such as cookies) for websites that you use in your browser. | 160 or personal data (such as cookies) for websites that you use in your browser. |
161 All external processes are isolated from the app. | 161 All external processes are isolated from the app. |
162 Since iframes run in the same process as the surrounding page, | 162 Since iframes run in the same process as the surrounding page, |
163 they can only be used to load other app pages. | 163 they can only be used to load other app pages. |
164 You can use the <code>object</code> tag to | 164 You can use the <code>object</code> tag to |
165 <a href="app_external.html">embed external content</a>; | 165 <a href="app_external">embed external content</a>; |
166 this content runs in a separate process from the app. | 166 this content runs in a separate process from the app. |
167 </p> | 167 </p> |
168 | 168 |
169 <p> | 169 <p> |
170 <iframe title="YouTube video player" width="610" height="380" src="//www.youtube
.com/embed/EDtiWN42lHs" frameborder="0" allowfullscreen></iframe> | 170 <iframe title="YouTube video player" width="610" height="380" src="//www.youtube
.com/embed/EDtiWN42lHs" frameborder="0" allowfullscreen></iframe> |
171 </p> | 171 </p> |
172 | 172 |
173 <p class="backtotop"><a href="#top">Back to top</a></p> | 173 <p class="backtotop"><a href="#top">Back to top</a></p> |
OLD | NEW |