blob: edda60f82c079abec9f80108a6d687dde7fffbc8 [file] [log] [blame]
{{+content:partials.site}}
<div class="pillar-content">
<h1>Chrome Platform</h1>
<section class="article-list g-section">
<article class="new">
<h4 class="label">Apps</h4>
<h2>Learn Basics</h2>
<p>Develop your first Chrome App and discover
how they look, how they behave, and how they are modeled.
Launch your Apps from your native platform
using the
<a href="http://chrome.blogspot.com/2013/12/a-new-breed-of-chrome-apps-now.html">Chrome App Launcher</a>:
</p>
<p><a href="/apps/first_app.html">Learn more</a></p>
<img src="{{static}}/images/platform-pillar/chrome_apps.png" alt="500px Chrome App launched from Chrome App Launcher">
</article>
<article>
<h4 class="label">Apps</h4>
<h2>Learn with Codelab</h2>
<p>The goal of this codelab is to get you building Chrome Apps fast.
Once you've completed this codelab, you will have a simple Todo app.</p>
<p><a href="/apps/app_codelab1_setup.html">Learn more</a></p>
<img src="{{static}}/images/platform-pillar/todo_codelab.png"
width="110%"
alt="Create this simple Todo Chrome App.">
</article>
<article>
<h4 class="label">Apps</h4>
<h2>Samples</h2>
<p>Browse official Chrome Apps samples in the
<a href="https://github.com/GoogleChrome/chrome-app-samples">chrome-apps-samples GitHub repository</a>.
The <a href="https://github.com/GoogleChrome/chrome-app-samples/blob/master/README.md">README.md</a>
lists each sample's APIs and provides a link to download in the Chrome Web Store.</p>
<img src="{{static}}/images/platform-pillar/chrome_app_samples.png" alt="Chrome apps samples maintained in GitHub repository">
</article>
<article>
<h4 class="label">Apps</h4>
<h2>Reference</h2>
<p>Chrome Apps have access to Chrome APIs not available to traditional web sites.
With these APIs,
you can build powerful apps that interact
with network and hardware devices, media tools, and much more.
<ul>
<li><a href="/apps/api_index.html">Chrome Platform APIs</a>: lists APIs available in each Chrome channel</li>
<li><a href="/apps/manifest.html">Manifest File Format</a>: lists supported manifest fields</li>
<li><a href="/apps/app_deprecated.html">Disabled Web Features</a>: lists disabled open web platform features</li>
</ul></p>
<p><a href="/apps/api_index.html">Learn more</a></p>
</article>
<article>
<h4 class="label">Apps</h4>
<h2>Develop in Cloud</h2>
<p>Chrome Apps leverage the Google Cloud Platform to store and access data.
They work offline by default
and can sync back to the cloud once connectivity is restored.
Use the
<a href="/apps/syncFileSystem.html">syncFileSystem API</a>
to save and synchronize caching data in Google Drive.</p>
<p><a href="/apps/offline_apps.html">Learn more</a></p>
<img src="{{static}}/images/platform-pillar/sync_file_system.png" alt="Use Google Drive to store Chrome Apps data in the cloud.">
</article>
<article>
<h4 class="label">Apps</h4>
<h2>Network and Hardware APIs</h2>
<p> Chrome Apps can interact with low-level system services.
Using the network and hardware APIs, they can:
<ul>
<li>Act as <a href="/apps/socket.html">network clients</a>
for TCP and UDP connections.</li>
<li>Communicate with <a href="/apps/app_usb.html">usb devices</a>.</li>
<li>Read and write to devices connected to <a href="/apps/serial.html">serial ports</a>.</li>
<li>Connect to <a href="/apps/app_bluetooth.html">bluetooth devices</a>.</li>
</ul></p>
</article>
<article>
<h4 class="label">Extensions</h4>
<h2>Learn Basics</h2>
<p>Extensions are small software programs that can modify and
enhance the functionality of the Chrome browser.
Write extensions using web technologies: HTML, JavaScript, and CSS.</p>
<p><a href="/extensions/overview.html">Learn more</a></p>
<img src="{{static}}/images/platform-pillar/extensions.png" alt="Browser action and page actions are common extension types.">
</article>
<article>
<h4 class="label">Extensions</h4>
<h2>Getting Started Tutorial</h2>
<p>This tutorial walks you through the construction
of a simple browser action extension.
Clicking the browser action UI element opens a pop-up window.</p>
<p><a href="/extensions/getstarted.html">Learn more</a></p>
<img src="{{static}}/images/platform-pillar/one_click_kittens.png" alt="One-click kittens tutorial">
</article>
<article>
<h4 class="label">Extensions</h4>
<h2>Samples</h2>
<p>Browse official Chrome Extensions samples;
each sample lists API methods and links to source files.
Filter by keyword or API:</p>
<p><a href="/extensions/samples.html">Learn more</a></p>
<img src="{{static}}/images/platform-pillar/extension_samples.png" alt="Extension samples page">
</article>
<article>
<h4 class="label">Extensions</h4>
<h2>Reference</h2>
<p>Extensions are essentially web pages;
they can use all APIs that the browser provides to web pages.
Using Extensions APIs, they can also interact programmatically with browser features
such as bookmarks and tabs.
Read the reference docs to find out more:
<ul>
<li><a href="/extensions/whats_new.html">What's New</a>: lists what's new in stable Chrome versions</li>
<li><a href="/extensions/api_index.html">Chrome Platform APIs</a>: lists APIs available in each Chrome channel</li>
<li><a href="/extensions/manifest.html">Manifest File Format</a>: describes supported manifest fields</li>
<li><a href="/extensions/permission_warnings.html">Permissions</a>: describes permission warnings</li>
</ul>
</p>
<p><a href="/extensions/api_index.html">Learn more</a></p>
</article>
<article class="new">
<h4 class="label">Extensions</h4>
<h2>Distribute Extensions</h2>
<p><a href="/extensions/packaging.html">Upload your extension</a>
to test it in developer channels,
then <a href="/extensions/hosting.html">publish your extension</a>
in the Chrome Web Store.
New feature! You can now
<a href="/webstore/payments-otp">monetize your extensions</a>!</p>
<p><a href="/extensions/hosting.html">Learn more</a></p>
<img src="{{static}}/images/platform-pillar/upload_extensions.png" alt="Upload extensions on chrome://extensions page.">
</article>
<article>
<h4 class="label">Extensions</h4>
<h2>Themes</h2>
<p>A theme is a special kind of extension that changes the way the browser looks.
Themes are <a href="/extensions/packaging.html">packaged</a> like regular extensions,
but they don't contain JavaScript or HTML code.
Distribute your themes in the
<a href="https://chrome.google.com/webstore/category/themes">Chrome Web Store</a>.
</p>
<p><a href="/extensions/themes.html">Learn more</a></p>
<img src="{{static}}/images/platform-pillar/theme.png" alt="Grass theme">
</article>
<article class="new">
<h4 class="label">Native Client</h4>
<h2>Learn Basics</h2>
<p>Native Client is a sandbox for running compiled C and C++ code in the browser.
Portable Native Client extends that technology with architecture independence,
letting developers compile their code once to run in any website and on any architecture.</p>
<p><a href="/native-client/index.html">Learn more</a></p>
<img src="{{static}}/images/platform-pillar/pnacl_intro.png" alt="Watch a live recorded conversation on Native Client.">
</article>
<article>
<h4 class="label">Native Client</h4>
<h2>Tutorial</h2>
<p>This multi-part tutorial explains how to get started developing applications with Native Client.</p>
<p><a href="/native-client/devguide/tutorial/tutorial-part1">Part one</a>
shows how to build and run a simple web application
using Portable Native Client (PNaCl).</p>
<p><a href="/native-client/devguide/tutorial/tutorial-part2">Part two</a>
shows how to convert the finished PNaCl web application
to use the Native Client SDK build system and common JavaScript files.
</p>
<p><a href="/native-client/devguide/tutorial/tutorial-part1">Learn more</a></p>
</article>
<article>
<h4 class="label">Native Client</h4>
<h2>SDK</h2>
<p>Follow these steps to download
and install the Native Client SDK:
<ol>
<li>Download the SDK update utility and unzip.</li>
<li>See which versions are available.</li>
<li>Run <code>naclsdk</code> with the “update” command
to download particular bundles that are available.</li>
</ol>
</p>
<p><a href="/native-client/sdk/download">Learn more</a></p>
</article>
<article>
<h4 class="label">Native Client</h4>
<h2>Development Cycle</h2>
<p>End-to-end native client development workflow:
<ul>
<li><a href="/native-client/devguide/devcycle/building.html">Build</a>
Native Client modules.</li>
<li><a href="/native-client/devguide/devcycle/running.html">Run</a>
Native Client applications during development.</li>
<li><a href="/native-client/devguide/devcycle/debugging.html">Debug, monitor, and measure</a>
Native Client application performance.</li>
</ul></p>
<p><a href="/native-client/devguide/devcycle/building.html">Learn more</a></p>
</article>
<article>
<h4 class="label">Native Client</h4>
<h2>Coding Your Application</h2>
<p>Dive deeper into Native Client development.
Learn:
<ul>
<li>How Native Client applications are
<a href="/native-client/devguide/coding/application-structure.html">structured</a></li>
<li>Which classes and functions to implement in your
<a href="/native-client/devguide/coding/native-client-modules.html">Native Client module</a> for Chrome to load, initialize, and run it</li>
<li>How to use the
<a href="/native-client/devguide/coding/message-system.html">messaging system</a>
to communicate between the JavaScript code and
the Native Client module's C or C++code</li>
</ul>
And much more!</p>
<p><a href="/native-client/devguide/coding/application-structure.html">Learn more</a></p>
</article>
<article>
<h4 class="label">Native Client</h4>
<h2>Pepper API</h2>
<p>The Pepper API lets Native Client modules communicate
with the hosting browser and access system-level functions in a safe and portable way.
Pepper has both a
<a href="/native-client/pepperc/index.html">C API</a> and a
<a href="/native-client/peppercpp/index.html">C++ API</a>.</p>
<p>These APIs are generally divided into two parts:
<ul><li>Functions implemented in the browser
that you call from your Native Client module</li>
<li>Functions the browser invokes so you must implement them
in your Native Client module
</li>
</ul>
</p>
<p><a href="/native-client/overview.html#pepper-plugin-api">Learn more</a></p>
</article>
<article>
<h4 class="label">Store</h4>
<h2>What Is the Chrome Web Store?</h2>
<p>The Chrome Web Store lets you
<a href="/webstore/publish.html">publish</a>
your Chrome Apps, Extensions, and Themes
where Chrome users can easily find them.</p>
<p><a href="/webstore/index.html">Learn more</a></p>
<img src="{{static}}/images/platform-pillar/chrome_web_store.png" alt="Publish apps, extensions, and themes in Chrome Web Store.">
</article>
<article>
<h4 class="label">Store</h4>
<h2>Tutorial: Getting Started</h2>
<p>Follow these simple steps
to publish your app, extension,
or theme to the Chrome Web Store:
<ol>
<li>Create manifest file.</li>
<li>Get image assets.</li>
<li>Test app.</li>
<li>Zip app.</li>
<li>Upload your app to store.</li>
</ol>
</p>
<p><a href="/webstore/get_started_simple.html">Learn more</a></p>
</article>
<article>
<h4 class="label">Store</h4>
<h2>Branding</h2>
<p>Follow the Chrome Web Store branding guidelines
for supplying images and promotional assets.</p>
<p><a href="/webstore/branding.html">Learn more</a></p>
<img src="{{static}}/images/platform-pillar/ChromeWebStore_BadgeWBorder_v2_206x58.png" alt="Using the Chrome Web Store badge">
</article>
<article class="new">
<h4 class="label">Store</h4>
<h2>Monetizing</h2>
<p>Two options for charging your users:
Chrome Web Store Payments for
<a href="/webstore/payments-otp">one-time payments</a> or
<a href="/apps/google_wallet.html">Google Wallet for Digital Goods</a>
to sell digital or virtual goods in your Chrome Apps or Extensions.</p>
<p><a href="/webstore/money.html">Learn more</a></p>
<img src="{{static}}/images/platform-pillar/wallet-review.png"
width="250px"
alt="Using Google Wallet in apps and extensions">
</article>
<article>
<h4 class="label">Store</h4>
<h2>Publishing</h2>
<p>When your app, extension, or theme is finished (if not before),
upload it with the
<a href="https://chrome.google.com/webstore/developer/dashboard">Developer Dashboard</a>.
Uploading generates an app ID,
which you may need to complete your application code.</p>
<p><a href="/webstore/publish.html">Learn more</a></p>
<img src="{{static}}/images/platform-pillar/store_developer_dashboard.png" alt="Chrome Web Store Developer Dashboard">
</article>
<article>
<h4 class="label">Store</h4>
<h2>Best Practices</h2>
<p>When publishing in the store,
follow these <a href="/webstore/best_practices.html">best practices</a>:
<ul>
<li>Support Google Accounts.</li>
<li>Keep ex-user data for 30 days.</li>
<li>Cache license data.</li>
<li>Create a compelling store listing.</li>
</ul>
</p>
<p><a href="/webstore/best_practices.html">Learn more</a></p>
</article>
</section>
<section class="g-section g-tpl-33-67" id="further-resources">
<h2>Further Resources</h2>
<div class="g-unit g-first">
<article class="g-content">
<h2 class="school">Office Hours</h2>
<p>Watch demos of the Platform and get help in Chrome Office Hours on
<a href="https://developers.google.com/live/chrome/">Google Developers Live</a>.</p>
</article>
</div>
<div class="g-unit">
<div class="g-section g-tpl-50-50">
<div class="g-unit g-first">
<article class="g-content">
<h2 class="chat">Ask Questions</h2>
<p>Ask questions and get answers on these Stack Overflow channels:
<ul>
<li><a href="http://stackoverflow.com/questions/tagged/google-chrome">google-chrome</a>
</li>
<li><a href="http://stackoverflow.com/questions/tagged/google-chrome-extension">google-chrome-extension</a></li>
<li><a href="http://stackoverflow.com/questions/tagged/google-chrome-app">google-chrome-app</a></li>
</ul>
</p>
</article>
</div>
<div class="g-unit g-last">
<article class="g-content">
<h2 class="puzzle">Join a Group</h2>
<p>Help us make the Chrome Platform better!
Join a Chrome Platform group:
<ul>
<li><a href="https://groups.google.com/a/chromium.org/forum/#!forum/chromium-apps">Chrome Apps</a></li>
<li><a href="https://groups.google.com/a/chromium.org/forum/#!forum/chromium-extensions">Chrome Extensions</a></li>
<li><a href="https://groups.google.com/forum/#!forum/native-client-discuss">Native Client</a></li>
</ul>
</p>
</article>
</div>
</div>
</div>
</section>
</div>
{{/partials.site}}