This repository was archived by the owner on Nov 30, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 52
Expand file tree
/
Copy pathchoosing.html
More file actions
116 lines (103 loc) · 4.32 KB
/
choosing.html
File metadata and controls
116 lines (103 loc) · 4.32 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
{{+bindTo:partials.standard_store_article}}
<p class="caution">
<b>Important:</b>
Chrome will be removing support for Chrome Apps on Windows, Mac, and
Linux. Chrome OS will continue to support Chrome Apps. Additionally,
Chrome and the Web Store will continue to support extensions on all
platforms.
<a href="http://blog.chromium.org/2016/08/from-chrome-apps-to-web.html">
Read the announcement</a> and learn more about
<a href="https://developers.chrome.com/apps/migration">
migrating your app</a>.
</p>
<h1>Choosing an App Type</h1>
<p>
Sometimes it's hard to decide whether you need to publish a
<a href="https://developers.google.com/chrome/apps/docs/developers_guide">hosted app</a> or a
<a href="/apps/">Chrome App</a>—or
maybe even an
<a href="/extensions/">Chrome Extension</a>.
This page aims to help you choose the right type of app.
</p>
<h2 id="flow"> Overview </h2>
<p>
As the following figure shows,
if you already have a web app,
you don't need to change it;
you can just publish it as a hosted app.
If you're willing to modify your app
or build one from scratch,
you have more options.
</p>
<p>
<img src="images/flowchart.png"
width="581" height="627"
alt="A flowchart" />
</p>
<p class="note">
<b>Note</b>:
<b>2GB</b> is the current size limit for packaged apps.
If your app (with all its essential assets)
can't fit into a 2GB ZIP file,
then your app is too big to be a packaged app.
</p>
<h2 id="details"> Details </h2>
<p>
If you're having trouble deciding what type of app to create, read the article
<a href="apps_vs_extensions.html">Extensions, Packaged Apps, and Hosted Apps in the Chrome Web Store</a>.
Here's some additional information to help you choose:
</p>
<ul>
<li> A <b>hosted</b> app can work in all web browsers,
as long as it doesn't depend on features
that not all browsers support yet, such as
<a href="https://developers.google.com/chrome/apps/docs/background">background execution</a>
or <a href="http://www.khronos.org/webgl/">WebGL</a>.
On the other hand,
because only Chrome supports the Chrome Web Store,
you have the option of tailoring your app to Chrome.
<li> A <b>packaged</b> app will work only in Chrome.
However, you can reuse the app's code for ordinary web apps. </li>
<li> Only an <b>extension</b> can present an icon in the toolbar,
using a
<a href="http://code.google.com/chrome/extensions/browserAction.html">page action</a> or
<a href="http://code.google.com/chrome/extensions/browserAction.html">browser action</a>. </li>
<li> If you're not sure whether you need
a <b>packaged</b> app or an <b>extension</b>,
it should probably be an extension.
<p class="note">
<b> Note:</b>
As a rule of thumb, a packaged app should feel like a hosted app, not like
an
extension.
</p>
</li>
<li>
Although an <b>extension</b> has little to no UI of its own,
it can sometimes have a big effect on the UI of other pages and web apps.
For example, an extension can
<a href="http://code.google.com/chrome/extensions/override.html">replace
a standard Chrome page</a>, such as the History page (chrome://history).
Or it can change the contents or formatting of some or all websites—to
use different fonts, for example.
</li>
<li> The <a href="check_for_payment.html">Licensing API</a>
lets you check programmatically
whether the user has paid for your app
using Chrome Web Store Payments.
The Licensing API is usually used only by <b>hosted</b> apps
because packaged apps are stored locally and
<a href="faq.html#faq-app-02">could be modified</a>
to circumvent the API call. </li>
<li> The <a href="http://code.google.com/chrome/extensions/api_index.html">chrome.* APIs</a>
let your <b>packaged</b> app or <b>extension</b>
be tightly integrated with Chrome.
They take advantage of Chrome support for functionality such as
<a href="http://code.google.com/chrome/extensions/idle.html">idle state</a>,
<a href="http://code.google.com/chrome/extensions/i18n.html">internationalization</a>,
<a href="http://code.google.com/chrome/extensions/tabs.html">tabs</a>, and
<a href="http://code.google.com/chrome/extensions/windows.html">windows</a>.
</li>
</ul>
<p class="backtotop"><a href="#top">Back to top</a></p>
{{/partials.standard_store_article}}