1 {{+content:partials.site}} 2 <div class="pillar-content"> 3 4 <h1>Chrome Platform</h1> 5 6 <section class="article-list g-section"> 7 <article class="new"> 8 <h4 class="label">Apps</h4> 9 <h2>Learn Basics</h2> 10 <p>Develop your first Chrome App and discover 11 how they look, how they behave, and how they are modeled. 12 Launch your Apps from your native platform 13 using the 14 <a href="http://chrome.blogspot.com/2013/12/a-new-breed-of-chrome-apps-now.html">Chrome App Launcher</a>: 15 </p> 16 <p><a href="/apps/first_app.html">Learn more</a></p> 17 <img src="{{static}}/images/platform-pillar/chrome_apps.png" alt="500px Chrome App launched from Chrome App Launcher"> 18 </article> 19 20 <article> 21 <h4 class="label">Apps</h4> 22 <h2>Learn with Codelab</h2> 23 <p>The goal of this codelab is to get you building Chrome Apps fast. 24 Once you've completed this codelab, you will have a simple Todo app.</p> 25 <p><a href="/apps/app_codelab1_setup.html">Learn more</a></p> 26 <img src="{{static}}/images/platform-pillar/todo_codelab.png" 27 width="110%" 28 alt="Create this simple Todo Chrome App."> 29 </article> 30 31 <article> 32 <h4 class="label">Apps</h4> 33 <h2>Samples</h2> 34 <p>Browse official Chrome Apps samples in the 35 <a href="https://github.com/GoogleChrome/chrome-app-samples">chrome-apps-samples GitHub repository</a>. 36 The <a href="https://github.com/GoogleChrome/chrome-app-samples/blob/master/README.md">README.md</a> 37 lists each sample's APIs and provides a link to download in the Chrome Web Store.</p> 38 <img src="{{static}}/images/platform-pillar/chrome_app_samples.png" alt="Chrome apps samples maintained in GitHub repository"> 39 </article> 40 41 <article> 42 <h4 class="label">Apps</h4> 43 <h2>Reference</h2> 44 <p>Chrome Apps have access to Chrome APIs not available to traditional web sites. 45 With these APIs, 46 you can build powerful apps that interact 47 with network and hardware devices, media tools, and much more. 48 <ul> 49 <li><a href="/apps/api_index.html">Chrome Platform APIs</a>: lists APIs available in each Chrome channel</li> 50 <li><a href="/apps/manifest.html">Manifest File Format</a>: lists supported manifest fields</li> 51 <li><a href="/apps/app_deprecated.html">Disabled Web Features</a>: lists disabled open web platform features</li> 52 </ul></p> 53 <p><a href="/apps/api_index.html">Learn more</a></p> 54 </article> 55 56 <article> 57 <h4 class="label">Apps</h4> 58 <h2>Develop in Cloud</h2> 59 <p>Chrome Apps leverage the Google Cloud Platform to store and access data. 60 They work offline by default 61 and can sync back to the cloud once connectivity is restored. 62 Use the 63 <a href="/apps/syncFileSystem.html">syncFileSystem API</a> 64 to save and synchronize caching data in Google Drive.</p> 65 <p><a href="/apps/offline_apps.html">Learn more</a></p> 66 <img src="{{static}}/images/platform-pillar/sync_file_system.png" alt="Use Google Drive to store Chrome Apps data in the cloud."> 67 </article> 68 69 <article> 70 <h4 class="label">Apps</h4> 71 <h2>Network and Hardware APIs</h2> 72 <p> Chrome Apps can interact with low-level system services. 73 Using the network and hardware APIs, they can: 74 <ul> 75 <li>Act as <a href="/apps/socket.html">network clients</a> 76 for TCP and UDP connections.</li> 77 <li>Communicate with <a href="/apps/app_usb.html">usb devices</a>.</li> 78 <li>Read and write to devices connected to <a href="/apps/serial.html">serial ports</a>.</li> 79 <li>Connect to <a href="/apps/app_bluetooth.html">bluetooth devices</a>.</li> 80 </ul></p> 81 </article> 82 83 <article> 84 <h4 class="label">Extensions</h4> 85 <h2>Learn Basics</h2> 86 <p>Extensions are small software programs that can modify and 87 enhance the functionality of the Chrome browser. 88 Write extensions using web technologies: HTML, JavaScript, and CSS.</p> 89 <p><a href="/extensions/overview.html">Learn more</a></p> 90 <img src="{{static}}/images/platform-pillar/extensions.png" alt="Browser action and page actions are common extension types."> 91 </article> 92 93 <article> 94 <h4 class="label">Extensions</h4> 95 <h2>Getting Started Tutorial</h2> 96 <p>This tutorial walks you through the construction 97 of a simple browser action extension. 98 Clicking the browser action UI element opens a pop-up window.</p> 99 <p><a href="/extensions/getstarted.html">Learn more</a></p> 100 <img src="{{static}}/images/platform-pillar/one_click_kittens.png" alt="One-click kittens tutorial"> 101 </article> 102 103 <article> 104 <h4 class="label">Extensions</h4> 105 <h2>Samples</h2> 106 <p>Browse official Chrome Extensions samples; 107 each sample lists API methods and links to source files. 108 Filter by keyword or API:</p> 109 <p><a href="/extensions/samples.html">Learn more</a></p> 110 <img src="{{static}}/images/platform-pillar/extension_samples.png" alt="Extension samples page"> 111 </article> 112 113 <article> 114 <h4 class="label">Extensions</h4> 115 <h2>Reference</h2> 116 <p>Extensions are essentially web pages; 117 they can use all APIs that the browser provides to web pages. 118 Using Extensions APIs, they can also interact programmatically with browser features 119 such as bookmarks and tabs. 120 Read the reference docs to find out more: 121 <ul> 122 <li><a href="/extensions/whats_new.html">What's New</a>: lists what's new in stable Chrome versions</li> 123 <li><a href="/extensions/api_index.html">Chrome Platform APIs</a>: lists APIs available in each Chrome channel</li> 124 <li><a href="/extensions/manifest.html">Manifest File Format</a>: describes supported manifest fields</li> 125 <li><a href="/extensions/permission_warnings.html">Permissions</a>: describes permission warnings</li> 126 </ul> 127 </p> 128 <p><a href="/extensions/api_index.html">Learn more</a></p> 129 </article> 130 131 <article class="new"> 132 <h4 class="label">Extensions</h4> 133 <h2>Distribute Extensions</h2> 134 <p><a href="/extensions/packaging.html">Upload your extension</a> 135 to test it in developer channels, 136 then <a href="/extensions/hosting.html">publish your extension</a> 137 in the Chrome Web Store. 138 New feature! You can now 139 <a href="/webstore/payments-otp">monetize your extensions</a>!</p> 140 <p><a href="/extensions/hosting.html">Learn more</a></p> 141 <img src="{{static}}/images/platform-pillar/upload_extensions.png" alt="Upload extensions on chrome://extensions page."> 142 </article> 143 <article> 144 <h4 class="label">Extensions</h4> 145 <h2>Themes</h2> 146 <p>A theme is a special kind of extension that changes the way the browser looks. 147 Themes are <a href="/extensions/packaging.html">packaged</a> like regular extensions, 148 but they don't contain JavaScript or HTML code. 149 Distribute your themes in the 150 <a href="https://chrome.google.com/webstore/category/themes">Chrome Web Store</a>. 151 </p> 152 <p><a href="/extensions/themes.html">Learn more</a></p> 153 <img src="{{static}}/images/platform-pillar/theme.png" alt="Grass theme"> 154 </article> 155 156 <article class="new"> 157 <h4 class="label">Native Client</h4> 158 <h2>Learn Basics</h2> 159 <p>Native Client is a sandbox for running compiled C and C++ code in the browser. 160 Portable Native Client extends that technology with architecture independence, 161 letting developers compile their code once to run in any website and on any architecture.</p> 162 <p><a href="/native-client/index.html">Learn more</a></p> 163 <img src="{{static}}/images/platform-pillar/pnacl_intro.png" alt="Watch a live recorded conversation on Native Client."> 164 </article> 165 166 <article> 167 <h4 class="label">Native Client</h4> 168 <h2>Tutorial</h2> 169 170 <p>This multi-part tutorial explains how to get started developing applications with Native Client.</p> 171 172 <p><a href="/native-client/devguide/tutorial/tutorial-part1">Part one</a> 173 shows how to build and run a simple web application 174 using Portable Native Client (PNaCl).</p> 175 176 <p><a href="/native-client/devguide/tutorial/tutorial-part2">Part two</a> 177 shows how to convert the finished PNaCl web application 178 to use the Native Client SDK build system and common JavaScript files. 179 </p> 180 <p><a href="/native-client/devguide/tutorial/tutorial-part1">Learn more</a></p> 181 </article> 182 183 <article> 184 <h4 class="label">Native Client</h4> 185 <h2>SDK</h2> 186 <p>Follow these steps to download 187 and install the Native Client SDK: 188 <ol> 189 <li>Download the SDK update utility and unzip.</li> 190 <li>See which versions are available.</li> 191 <li>Run <code>naclsdk</code> with the update command 192 to download particular bundles that are available.</li> 193 </ol> 194 </p> 195 <p><a href="/native-client/sdk/download">Learn more</a></p> 196 </article> 197 198 <article> 199 <h4 class="label">Native Client</h4> 200 <h2>Development Cycle</h2> 201 <p>End-to-end native client development workflow: 202 <ul> 203 <li><a href="/native-client/devguide/devcycle/building.html">Build</a> 204 Native Client modules.</li> 205 <li><a href="/native-client/devguide/devcycle/running.html">Run</a> 206 Native Client applications during development.</li> 207 <li><a href="/native-client/devguide/devcycle/debugging.html">Debug, monitor, and measure</a> 208 Native Client application performance.</li> 209 </ul></p> 210 <p><a href="/native-client/devguide/devcycle/building.html">Learn more</a></p> 211 </article> 212 213 <article> 214 <h4 class="label">Native Client</h4> 215 <h2>Coding Your Application</h2> 216 <p>Dive deeper into Native Client development. 217 Learn: 218 <ul> 219 <li>How Native Client applications are 220 <a href="/native-client/devguide/coding/application-structure.html">structured</a></li> 221 <li>Which classes and functions to implement in your 222 <a href="/native-client/devguide/coding/native-client-modules.html">Native Client module</a> for Chrome to load, initialize, and run it</li> 223 <li>How to use the 224 <a href="/native-client/devguide/coding/message-system.html">messaging system</a> 225 to communicate between the JavaScript code and 226 the Native Client module's C or C++code</li> 227 </ul> 228 And much more!</p> 229 <p><a href="/native-client/devguide/coding/application-structure.html">Learn more</a></p> 230 </article> 231 232 <article> 233 <h4 class="label">Native Client</h4> 234 <h2>Pepper API</h2> 235 <p>The Pepper API lets Native Client modules communicate 236 with the hosting browser and access system-level functions in a safe and portable way. 237 Pepper has both a 238 <a href="/native-client/pepperc/index.html">C API</a> and a 239 <a href="/native-client/peppercpp/index.html">C++ API</a>.</p> 240 241 <p>These APIs are generally divided into two parts: 242 <ul><li>Functions implemented in the browser 243 that you call from your Native Client module</li> 244 <li>Functions the browser invokes so you must implement them 245 in your Native Client module 246 </li> 247 </ul> 248 </p> 249 <p><a href="/native-client/overview.html#pepper-plugin-api">Learn more</a></p> 250 </article> 251 252 <article> 253 <h4 class="label">Store</h4> 254 <h2>What Is the Chrome Web Store?</h2> 255 <p>The Chrome Web Store lets you 256 <a href="/webstore/publish.html">publish</a> 257 your Chrome Apps, Extensions, and Themes 258 where Chrome users can easily find them.</p> 259 <p><a href="/webstore/index.html">Learn more</a></p> 260 <img src="{{static}}/images/platform-pillar/chrome_web_store.png" alt="Publish apps, extensions, and themes in Chrome Web Store."> 261 </article> 262 263 <article> 264 <h4 class="label">Store</h4> 265 <h2>Tutorial: Getting Started</h2> 266 <p>Follow these simple steps 267 to publish your app, extension, 268 or theme to the Chrome Web Store: 269 <ol> 270 <li>Create manifest file.</li> 271 <li>Get image assets.</li> 272 <li>Test app.</li> 273 <li>Zip app.</li> 274 <li>Upload your app to store.</li> 275 </ol> 276 </p> 277 <p><a href="/webstore/get_started_simple.html">Learn more</a></p> 278 </article> 279 280 <article> 281 <h4 class="label">Store</h4> 282 <h2>Branding</h2> 283 <p>Follow the Chrome Web Store branding guidelines 284 for supplying images and promotional assets.</p> 285 <p><a href="/webstore/branding.html">Learn more</a></p> 286 <img src="{{static}}/images/platform-pillar/ChromeWebStore_BadgeWBorder_v2_206x58.png" alt="Using the Chrome Web Store badge"> 287 </article> 288 289 <article class="new"> 290 <h4 class="label">Store</h4> 291 <h2>Monetizing</h2> 292 <p>Two options for charging your users: 293 Chrome Web Store Payments for 294 <a href="/webstore/payments-otp">one-time payments</a> or 295 <a href="/apps/google_wallet.html">Google Wallet for Digital Goods</a> 296 to sell digital or virtual goods in your Chrome Apps or Extensions.</p> 297 <p><a href="/webstore/money.html">Learn more</a></p> 298 <img src="{{static}}/images/platform-pillar/wallet-review.png" 299 width="250px" 300 alt="Using Google Wallet in apps and extensions"> 301 </article> 302 303 <article> 304 <h4 class="label">Store</h4> 305 <h2>Publishing</h2> 306 <p>When your app, extension, or theme is finished (if not before), 307 upload it with the 308 <a href="https://chrome.google.com/webstore/developer/dashboard">Developer Dashboard</a>. 309 Uploading generates an app ID, 310 which you may need to complete your application code.</p> 311 <p><a href="/webstore/publish.html">Learn more</a></p> 312 <img src="{{static}}/images/platform-pillar/store_developer_dashboard.png" alt="Chrome Web Store Developer Dashboard"> 313 </article> 314 315 <article> 316 <h4 class="label">Store</h4> 317 <h2>Best Practices</h2> 318 <p>When publishing in the store, 319 follow these <a href="/webstore/best_practices.html">best practices</a>: 320 <ul> 321 <li>Support Google Accounts.</li> 322 <li>Keep ex-user data for 30 days.</li> 323 <li>Cache license data.</li> 324 <li>Create a compelling store listing.</li> 325 </ul> 326 </p> 327 <p><a href="/webstore/best_practices.html">Learn more</a></p> 328 </article> 329 330 </section> 331 332 <section class="g-section g-tpl-33-67" id="further-resources"> 333 <h2>Further Resources</h2> 334 <div class="g-unit g-first"> 335 <article class="g-content"> 336 <h2 class="school">Office Hours</h2> 337 <p>Watch demos of the Platform and get help in Chrome Office Hours on 338 <a href="https://developers.google.com/live/chrome/">Google Developers Live</a>.</p> 339 </article> 340 </div> 341 <div class="g-unit"> 342 <div class="g-section g-tpl-50-50"> 343 <div class="g-unit g-first"> 344 <article class="g-content"> 345 <h2 class="chat">Ask Questions</h2> 346 <p>Ask questions and get answers on these Stack Overflow channels: 347 <ul> 348 <li><a href="http://stackoverflow.com/questions/tagged/google-chrome">google-chrome</a> 349 </li> 350 <li><a href="http://stackoverflow.com/questions/tagged/google-chrome-extension">google-chrome-extension</a></li> 351 <li><a href="http://stackoverflow.com/questions/tagged/google-chrome-app">google-chrome-app</a></li> 352 </ul> 353 </p> 354 </article> 355 </div> 356 <div class="g-unit g-last"> 357 <article class="g-content"> 358 <h2 class="puzzle">Join a Group</h2> 359 <p>Help us make the Chrome Platform better! 360 Join a Chrome Platform group: 361 <ul> 362 <li><a href="https://groups.google.com/a/chromium.org/forum/#!forum/chromium-apps">Chrome Apps</a></li> 363 <li><a href="https://groups.google.com/a/chromium.org/forum/#!forum/chromium-extensions">Chrome Extensions</a></li> 364 <li><a href="https://groups.google.com/forum/#!forum/native-client-discuss">Native Client</a></li> 365 </ul> 366 </p> 367 </article> 368 </div> 369 </div> 370 </div> 371 </section> 372 373 </div> 374 {{/partials.site}} 375