Skip to content
This repository was archived by the owner on Nov 30, 2023. It is now read-only.
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions apps_vs_extensions.html
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,14 @@ <h1>Extensions and Apps in the Chrome Web Store</h1>
}
</style>

<p class="note">
<b>Note</b>: This document's content is outdated: "packaged apps" are no
longer supported. See the documentation for
<a href="https://developer.chrome.com/extensions/apps">packaged apps</a> to
learn about its replacements. The descriptions for hosted apps and extensions
are still accurate though.
</p>

<p class="attribution">
Written by Michael Mahemoff <br/>
September 2010
Expand Down
22 changes: 4 additions & 18 deletions choosing.html
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ <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="hosted_apps">hosted app</a> or a
<a href="/apps/">Chrome App</a>&mdash;or
maybe even an
<a href="/extensions/">Chrome Extension</a>.
Expand All @@ -31,10 +31,8 @@ <h2 id="flow"> Overview </h2>

<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.
<a href="https://developer.chrome.com/extensions/apps">Packaged apps</a> are no
longer supported. It is not possible to upload or use legacy packaged apps.
</p>


Expand All @@ -55,22 +53,10 @@ <h2 id="details"> Details </h2>
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.
Expand All @@ -89,7 +75,7 @@ <h2 id="details"> Details </h2>
<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>
let your <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>,
Expand Down
58 changes: 17 additions & 41 deletions faq.html
Original file line number Diff line number Diff line change
Expand Up @@ -145,11 +145,9 @@ <h5>Payments and licence server</h5>

<h5>Installable web apps</h5>
<ul>
<li><a href="faq#faq-app-01">What is the difference between packaged apps
and hosted apps?</a></li>
<li><a href="faq#faq-app-02">Can I sell a packaged app?</a></li>
<li><a href="faq#faq-app-02.5">Why do you allow developers the option of
paid packaged apps?</a></li>
<li><a href="faq#faq-app-01">What is the difference between hosted apps
and Chrome apps?</a></li>
<li><a href="faq#faq-app-02">Can I sell a hosted app?</a></li>
<li><a href="faq#faq-app-03">Can installable web apps have page actions?</a>
</li>
<li><a href="faq#faq-app-04">Can installable web apps have browser
Expand Down Expand Up @@ -917,48 +915,29 @@ <h5 id="faq-payments-16">If I list in all these regions, when and how do I
<h2 id="apps"> Installable web apps </h2>

<dl>
<h5 id="faq-app-01">What is the difference between packaged apps and hosted
<h5 id="faq-app-01">What is the difference between hosted apps and Chrome
apps?</h5>

<p>Hosted apps operate as traditional web apps (served via web servers and
running inside of web browsers) and do not have access to the extended
Chrome APIs that extensions can use. Packaged apps are bundled into the
<code>.crx</code> file and can use the extensions APIs.</p>
<h5 id="faq-app-02">Can I sell a packaged app?</h5>

<p>Yes, but there are risks in doing so. Specifically, it is easy for
motivated people to bypass payments for packaged apps. This holds true
even if you have used our Licensing API in your locally stored packaged
app, since locally stored content is not secure and can be modified
(including calls to the Licensing API). If you’d like to have the option
of blocking access to your app by unauthorized users, selling a packaged
app may not be the right solution for you. An alternative to consider is
moving to a hosted app model with a server-side licensing check. </p>
<h5 id="faq-app-02.5">Why do you allow developers the option of paid
packaged apps?</h5>

<p>There are good reasons to offer a paid packaged app, even with the <a
href="#faq-app-02">limitations explained above</a>. Packaged apps
let you easily provide functionality to your users without the overhead
of managing a hosted service. Charging for a packaged app is a quick and
simple way to enable a low-friction transaction if the app provides
clear user value. However, it is up to the developer to decide which
solution is right for him or her.
</p>
Chrome APIs that extensions can use. Chrome apps are launched in an
own window without omnibox and can access
<a href="/apps/api_index">powerful app APIs</a>.</p>
<h5 id="faq-app-02">Can I sell a hosted app?</h5>

<p>Yes, see the <a href="#payments">payments FAQ</a> for more details.</p>
<h5 id="faq-app-03">Can installable web apps have page actions?</h5>

<p>No. Although packaged apps get most of the functionality of extensions,
they can't have page actions.</p>
<p>No. Hosted apps cannot use any extension APIs, including page actions.</p>
<h5 id="faq-app-04">Can installable web apps have browser actions?</h5>

<p>No. Although packaged apps get most of the functionality of extensions,
they can't have browser actions.</p>
<p>No. Hosted apps cannot use any extension APIs, including browser actions.</p>
<h5 id="faq-app-05">Can I use Google AdSense in my Chrome product?</h5>

<p>According to the Google AdSense <a href="https://support.google.com/adsense/answer/48182?hl=en&ref_topic=1261918">program policies</a>, Chrome-integrated websites ('hosted apps') may use AdSense; Chrome apps ('packaged apps'), extensions, and themes may not.</p>
<h5 id="faq-app-06">Can I use Google Analytics?</h5>

<p>Yes. Packaged apps and extensions can use the <a
<p>Yes. Extensions can use the <a
href="/apps/analytics.html">Chrome Platform Analytics</a>
library. Hosted apps can use one of the Google Analytics libraries for
standard websites (e.g.,
Expand All @@ -971,8 +950,7 @@ <h5 id="faq-app-08">I have a free Flash game, can I host it in the
store?</h5>

<p>Yes. If you want to host it on your server, it is exactly the same as
hosting a Flash file on your site. If you create a packaged app, you
must include the complete app (with Flash file) in your ZIP file.</p>
hosting a Flash file on your site.</p>
<h5 id="faq-app-09">I have a Flash game that I would love to be able to take
payments for, how can I do it?</h5>

Expand Down Expand Up @@ -1002,9 +980,7 @@ <h5 id="faq-app-12">Do Chrome Web Store apps work in browsers other than
The <code>.crx</code> package information you create to list the app in
the store will not work with other browsers, but users do not need the
<code>.crx</code> package to access a hosted web app in other browsers.
(They can always directly access the app.) Packaged apps, because they
are packaged in <code>.crx</code> files and might access the Google
Chrome Extension APIs, will not work in other browsers.</p>
(They can always directly access the app.)</p>
<h5 id="faq-app-13">Will users of other browsers be able to install apps
directly from the Chrome Web Store?</h5>

Expand All @@ -1023,7 +999,7 @@ <h5 id="faq-app-15">How do I store my content for offline access?</h5>
<p>This answer to this depends on the type of content and the storage
requirements.
<ul>
<li>For a packaged app or extension, you can put all HTML, CSS,
<li>For an extension, you can put all HTML, CSS,
JavaScript, images, and other assets into your <code>.crx</code>
file. This embeds everything you need into the installable
<code>.crx</code>
Expand Down Expand Up @@ -1093,7 +1069,7 @@ <h5 id="faq-app-19">Will apps work on Android?</h5>

<p>If your app is pure HTML, CSS3, and JavaScript and is hosted on your
servers there is a good chance that it will work in the browser on
Android. However, <code>.crx</code> files (including packaged apps) are
Android. However, <code>.crx</code> files are
not supported on Android. Users cannot install their apps onto the
Android browser, but they can most likely use those apps by directly
accessing the app's URL.</p>
Expand Down
4 changes: 2 additions & 2 deletions get_started.html
Original file line number Diff line number Diff line change
Expand Up @@ -121,7 +121,7 @@ <h2 id="upload"> Step 2: Upload app info to the dashboard </h2>
The important thing, for now, is to have correct formatting.
For information about what the manifest for a hosted app
should really contain,
see <a href="https://developers.google.com/chrome/apps/docs/developers_guide">Hosted Apps</a>.
see <a href="hosted_apps">Hosted Apps</a>.
</p>
</li>

Expand Down Expand Up @@ -668,7 +668,7 @@ <h2 id="install"> Step 7: Install your app into Google Chrome </h2>
For details on manifest contents
and on installing an app that isn't yet packaged in a <code>.crx</code> file,
see
<a href="https://developers.google.com/chrome/apps/docs/developers_guide">Hosted Apps</a>.
<a href="hosted_apps">Hosted Apps</a>.
</p>


Expand Down
6 changes: 2 additions & 4 deletions get_started_simple.html
Original file line number Diff line number Diff line change
Expand Up @@ -180,8 +180,7 @@ <h2 id="step2"> Step 2: Create a manifest file </h2>
<p>
For more information about what the manifest for a hosted app can contain,
see
<a href="https://developers.google.com/chrome/apps/docs/developers_guide">Hosted
Apps</a>.
<a href="hosted_apps">Hosted Apps</a>.
</p>


Expand Down Expand Up @@ -365,8 +364,7 @@ <h2 id="step5"> Step 5: Zip up your app </h2>
</pre>

<p class="note">
<b>Note</b>: If your app is an extension or a packaged app that uses <a hr
ef="https://developers.google.com/native-client/">Native
<b>Note</b>: If your extension uses <a href="https://developers.google.com/native-client/">Native
Client</a>,
you can structure your application directory hierarchy and ZIP file in a way
that reduces the size of the user download package.
Expand Down
37 changes: 16 additions & 21 deletions hosted_apps.html
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,6 @@ <h1>Hosted Apps</h1>
regular web app, plus some metadata.
</p>

<p>
If you're interested in creating a <strong>packaged app</strong>&mdash;a
web app that's bundled up as an extension,
so that the user downloads all of its content&mdash;see
<a href="/web/20150125031438/http://code.google.com/chrome/extensions/apps.html">Packaged Apps</a>
in the <a href="/web/20150125031438/http://code.google.com/chrome/extensions/index.html">extensions documentation</a>.
</p>

<h2 id="creating">Creating hosted apps</h2>

<p>
Expand All @@ -38,7 +30,8 @@ <h2 id="creating">Creating hosted apps</h2>

<p class="note">
<b>Note:</b>
Unlike extensions and packaged apps,
Unlike <a href="/extensions">extensions</a> and
<a href="/apps/about_apps">Chrome apps</a>,
a hosted app has no access to the files inside its <code>.crx</code> file.
</p>

Expand Down Expand Up @@ -150,7 +143,7 @@ <h3 id="manifest">Details: The manifest</h3>
you must prove that you control
each domain specified in this field.
For help in proving your ownership,
see the <a href="/web/20150125031438/https://chrome.google.com/extensions/developer/dashboard">Chrome Developer Dashboard</a>.
see the <a href="https://chrome.google.com/extensions/developer/dashboard">Chrome Developer Dashboard</a>.
</p>

<dl>
Expand Down Expand Up @@ -218,7 +211,7 @@ <h3 id="manifest">Details: The manifest</h3>
that serves the <code>.crx</code> file.
For more information on hosting options,
see the extensions documentation for
<a href="/web/20150125031438/http://code.google.com/chrome/extensions/hosting.html">Hosting</a>.
<a href="/extensions/hosting">Hosting</a>.
</p>
</dd>

Expand Down Expand Up @@ -263,6 +256,7 @@ <h3 id="manifest">Details: The manifest</h3>
</dd>
</dl>

<!-- TODO: Is this still supported? I don't think so... Just use Service workers!
<dt>background_page:</dt>
<dd>
Specifies an HTTPS URL to load in a background window.
Expand All @@ -271,6 +265,7 @@ <h3 id="manifest">Details: The manifest</h3>
<a href="/web/20150125031438/https://developers.google.com/chrome/apps/docs/background">Background: Extending Your App's Life</a>.
</dd>
</dt>
-->

<dt>icons:</dt>
<dd><em>Recommended.</em>
Expand All @@ -281,7 +276,7 @@ <h3 id="manifest">Details: The manifest</h3>
Only about a 96x96 area should be visible;
the rest should be transparent.
For details, see the Chrome Web Store
<a href="/web/20150125031438/https://developers.google.com/chrome/web-store/docs/images">image guidelines</a>.
<a href="/webstore/images">image guidelines</a>.
</dd>
</dl>
</dd>
Expand All @@ -293,9 +288,9 @@ <h3 id="manifest">Details: The manifest</h3>
it's set automatically when the <code>.crx</code> file is created,
such as when you upload your app to the Chrome Web Store.
For more information, see
<a href="/web/20150125031438/http://code.google.com/chrome/extensions/packaging.html">Packaging</a>
<a href="/extensions/packaging">Packaging</a>
and
<a href="/web/20150125031438/http://code.google.com/chrome/extensions/manifest.html#key">key field details</a>
<a href="/extensions/manifest/key">key field details</a>
in the extensions documentation.
</dd>

Expand All @@ -311,7 +306,7 @@ <h3 id="manifest">Details: The manifest</h3>
When Chrome detects that it is offline,
apps with this field set to true are highlighted on the New Tab page.
For help on enabling offline access for your app, see
<a href="/web/20150125031438/http://www.html5rocks.com/en/tutorials/#offline">these
<a href="http://www.html5rocks.com/en/features/offline">these
articles</a>.

<p class="note">
Expand All @@ -321,7 +316,7 @@ <h3 id="manifest">Details: The manifest</h3>
</dd>

<dt>permissions:</dt>
<dd>Any combination of "<a href="/web/20150125031438/https://developers.google.com/chrome/apps/docs/background">background</a>",
<dd>Any combination of
"clipboardRead", "clipboardWrite",
"geolocation", "notifications",
and "unlimitedStorage".
Expand All @@ -334,7 +329,7 @@ <h3 id="manifest">Details: The manifest</h3>
Don't specify this field
unless you host your own autoupdates.
See
<a href="/web/20150125031438/http://code.google.com/chrome/extensions/autoupdate.html">Autoupdating</a>
<a href="/extensions/autoupdate">Autoupdating</a>
for details.
</dd>
</dl>
Expand All @@ -345,7 +340,7 @@ <h3 id="manifest">Details: The manifest</h3>
and most of the fields are the same.
For more details on manifest files and their fields,
see the
<a href="/web/20150125031438/http://code.google.com/chrome/extensions/manifest.html">extension
<a href="/extensions/manifest">extension
manifest documentation</a>.
</p>

Expand All @@ -367,8 +362,8 @@ <h2 id="installing">Loading hosted apps</h2>
and put the following files into it:
</p>
<ul>
<li> <a href="/web/20150125031438/http://src.chromium.org/viewvc/chrome/trunk/src/chrome/common/extensions/docs/examples/extensions/maps_app/manifest.json?content-type=text/plain" target="_blank">manifest.json</a> </li>
<li> <a href="/web/20150125031438/http://src.chromium.org/viewvc/chrome/trunk/src/chrome/common/extensions/docs/examples/extensions/maps_app/128.png" target="_blank">128.png</a> </li>
<li> <a href="https://src.chromium.org/viewvc/chrome/trunk/src/chrome/common/extensions/docs/examples/extensions/maps_app/manifest.json?content-type=text/plain" target="_blank">manifest.json</a> </li>
<li> <a href="https://src.chromium.org/viewvc/chrome/trunk/src/chrome/common/extensions/docs/examples/extensions/maps_app/128.png" target="_blank">128.png</a> </li>
</ul>

<p>
Expand Down Expand Up @@ -439,7 +434,7 @@ <h2 id="installing">Loading hosted apps</h2>
<h2 id="webstore">Hosted apps and the Chrome Web Store</h2>

<p>
The <a href="/web/20150125031438/http://chrome.google.com/webstore">Chrome Web Store</a>
The <a href="https://chrome.google.com/webstore">Chrome Web Store</a>
is an open marketplace for web apps
that enables you to reach millions of users with your apps.
The store is integrated with Chrome,
Expand Down
10 changes: 5 additions & 5 deletions i18n.html
Original file line number Diff line number Diff line change
Expand Up @@ -66,13 +66,13 @@ <h2 id="overview"> Overview </h2>
<p>
How you accomplish step 2
depends on whether you're writing
an extension, packaged app, or hosted app.
<a href="http://code.google.com/chrome/extensions/overview.html">Extensions</a> and
<a href="http://code.google.com/chrome/extensions/apps.html">packaged apps</a>
an extension, Chrome app, or hosted app.
<a href="/extensions/overview">Extensions</a> and
<a href="/apps/about_apps">Chrome apps</a>
can use the
<a href="http://code.google.com/chrome/extensions/i18n.html">extension system i18n support</a>
<a href="/extensions/i18n">extension system i18n support</a>
to provide the appropriate UI strings for each locale.
<a href="https://developers.google.com/chrome/apps/docs/developers_guide">Hosted apps</a>
<a href="hosted_apps">Hosted apps</a>
don't have access to the extension i18n support for their main UIs,
but they can use whatever other i18n
techniques and libraries suit the app.
Expand Down
2 changes: 1 addition & 1 deletion images.html
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ <h2 id="icons"> App icon </h2>
If you're working on an installable web app,
you also need to view your icon in the New Tab page.
To do so, you can
<a href="https://developers.google.com/chrome/apps/docs/developers_guide#installing">load the unpacked app</a>,
<a href="hosted_apps#installing">load the unpacked app</a>,
bring up the New Tab page,
and then look at the icon against a variety of backgrounds
by applying a few
Expand Down
2 changes: 1 addition & 1 deletion inline_installation.html
Original file line number Diff line number Diff line change
Expand Up @@ -147,7 +147,7 @@ <h2 id="already-installed"> Checking if an item is already installed </h2>
<a href="faq.html#faq-app-24">
<code>chrome.app.isInstalled</code></a> property. By querying it from a page
contained within your app's
<a href="https://developers.google.com/chrome/apps/docs/developers_guide#manifest">URLs</a>, you can show
<a href="hosted_apps#manifest">URLs</a>, you can show
or hide interface elements as appropriate. For example:</p>

<pre>
Expand Down
Loading