CINXE.COM
Google Developers
<!doctype html> <html lang="en" dir="ltr"> <head><script type="text/javascript" src="/_static/js/bundle-playback.js?v=HxkREWBo" charset="utf-8"></script> <script type="text/javascript" src="/_static/js/wombat.js?v=txqj7nKC" charset="utf-8"></script> <script>window.RufflePlayer=window.RufflePlayer||{};window.RufflePlayer.config={"autoplay":"on","unmuteOverlay":"hidden"};</script> <script type="text/javascript" src="/_static/js/ruffle/ruffle.js"></script> <script type="text/javascript"> __wm.init("https://web.archive.org/web"); __wm.wombat("https://developers.google.com/","20210603174441","https://web.archive.org/","web","/_static/", "1622742281"); </script> <link rel="stylesheet" type="text/css" href="/_static/css/banner-styles.css?v=S1zqJCYt" /> <link rel="stylesheet" type="text/css" href="/_static/css/iconochive.css?v=3PDvdIFv" /> <!-- End Wayback Rewrite JS Include --> <meta name="google-signin-client-id" content="721724668570-nbkv1cfusk7kk4eni4pjvepaus73b13t.apps.googleusercontent.com"> <meta name="google-signin-scope" content="profile email https://www.googleapis.com/auth/developerprofiles https://www.googleapis.com/auth/developerprofiles.award"> <meta property="og:site_name" content="Google Developers"> <meta property="og:type" content="website"><meta name="theme-color" content="#ffffff"><meta charset="utf-8"> <meta content="IE=Edge" http-equiv="X-UA-Compatible"> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="manifest" href="/web/20210603174441/https://developers.google.com/_pwa/developers/manifest.json" crossorigin="use-credentials"> <link rel="preconnect" href="//web.archive.org/web/20210603174441/https://www.gstatic.com/" crossorigin> <link rel="preconnect" href="//web.archive.org/web/20210603174441/https://fonts.gstatic.com/" crossorigin> <link rel="preconnect" href="//web.archive.org/web/20210603174441/https://fonts.googleapis.com/" crossorigin> <link rel="preconnect" href="//web.archive.org/web/20210603174441/https://apis.google.com/" crossorigin> <link rel="preconnect" href="//web.archive.org/web/20210603174441/https://www.google-analytics.com/" crossorigin><link rel="stylesheet" href="//web.archive.org/web/20210603174441cs_/https://fonts.googleapis.com/css?family=Google+Sans:400,500|Roboto:400,400italic,500,500italic,700,700italic|Roboto+Mono:400,500,700|Material+Icons&display=swap"><link rel="stylesheet" href="https://web.archive.org/web/20210603174441cs_/https://www.gstatic.com/devrel-devsite/prod/v702c60b70d68da067f4d656556a48e4ab1cf14be10bb79e46f353f3fdfe8505d/developers/css/app.css"><link rel="shortcut icon" href="https://web.archive.org/web/20210603174441im_/https://www.gstatic.com/devrel-devsite/prod/v702c60b70d68da067f4d656556a48e4ab1cf14be10bb79e46f353f3fdfe8505d/developers/images/favicon.png"> <link rel="apple-touch-icon" href="https://web.archive.org/web/20210603174441im_/https://www.gstatic.com/devrel-devsite/prod/v702c60b70d68da067f4d656556a48e4ab1cf14be10bb79e46f353f3fdfe8505d/developers/images/touchicon-180.png"><link rel="canonical" href="https://web.archive.org/web/20210603174441/https://developers.google.com/"><link rel="search" type="application/opensearchdescription+xml" title="Google Developers" href="https://web.archive.org/web/20210603174441/https://developers.google.com/s/opensearch.xml"> <title>Google Developers</title> <meta property="og:title" content="Google Developers"><meta name="description" content="Everything you need to build better apps."> <meta property="og:description" content="Everything you need to build better apps."><meta property="og:url" content="https://web.archive.org/web/20210603174441/https://developers.google.com/"><meta property="og:locale" content="en"><script type="application/ld+json"> { "@context": "https://web.archive.org/web/20210603174441/http://schema.org/", "@type": "Organization", "name": "Google Developers", "logo": "https://web.archive.org/web/20210603174441/https://www.gstatic.com/devrel-devsite/prod/v702c60b70d68da067f4d656556a48e4ab1cf14be10bb79e46f353f3fdfe8505d/developers/images/touchicon-180.png", "url": "https://web.archive.org/web/20210603174441/https://developers.google.com/" } </script> <script type="application/ld+json"> { "@context": "https://web.archive.org/web/20210603174441/http://schema.org", "@type": "WebSite", "name": "Google Developers", "url": "https://web.archive.org/web/20210603174441/https://developers.google.com/", "potentialAction": { "@type": "SearchAction", "target": "https://web.archive.org/web/20210603174441/https://developers.google.com/s/results?q={search_term_string}", "query-input": "required name=search_term_string" } } </script> </head> <body class="" template="landing" theme="white" type="landing" layout="full" pending> <devsite-progress type="indeterminate" id="app-progress"></devsite-progress> <section class="devsite-wrapper"><devsite-header> <div class="devsite-header--inner nocontent"> <div class="devsite-top-logo-row-wrapper-wrapper"> <div class="devsite-top-logo-row-wrapper"> <div class="devsite-top-logo-row"> <button type="button" id="devsite-hamburger-menu" class="devsite-header-icon-button button-flat material-icons gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Navigation menu button" visually-hidden aria-label="Open menu"> </button> <div class="devsite-product-name-wrapper"> <a href="/web/20210603174441/https://developers.google.com/" class="devsite-site-logo-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Site logo" track-type="globalNav" track-name="googleDevelopers" track-metadata-position="nav" track-metadata-eventdetail="nav"> <img src="https://web.archive.org/web/20210603174441im_/https://www.gstatic.com/devrel-devsite/prod/v702c60b70d68da067f4d656556a48e4ab1cf14be10bb79e46f353f3fdfe8505d/developers/images/lockup.svg" class="devsite-site-logo" alt="Google Developers"> </a> <span class="devsite-product-name"> <ul class="devsite-breadcrumb-list"> <li class="devsite-breadcrumb-item devsite-has-google-wordmark"> </li> </ul> </span> </div> <div class="devsite-top-logo-row-middle"> <div class="devsite-header-upper-tabs"> <devsite-tabs class="upper-tabs"> <nav class="devsite-tabs-wrapper" aria-label="Upper tabs"> <tab dropdown> <a href="https://web.archive.org/web/20210603174441/https://developers.google.com/products" class="gc-analytics-event " track-type="globalNav" track-metadata-position="nav" track-metadata-eventdetail="nav" track-name="products" data-category="Site-Wide Custom Events" data-label="Tab: Products"> Products </a> <a href="#" role="button" aria-haspopup="true" aria-expanded="false" aria-label="Dropdown menu for Products" track-type="globalNav" track-metadata-position="nav" track-metadata-eventdetail="nav" track-name="products" data-category="Site-Wide Custom Events" data-label="Tab: Products" class="devsite-tabs-dropdown-toggle devsite-icon devsite-icon-arrow-drop-down"></a> <div class="devsite-tabs-dropdown" aria-label="submenu" hidden> <div class="devsite-tabs-dropdown-content"> <div class="devsite-tabs-dropdown-column "> <ul class="devsite-tabs-dropdown-section "> <li class="devsite-nav-title" role="heading" tooltip>Develop</li> <li class="devsite-nav-item"> <a href="//web.archive.org/web/20210603174441/https://developer.android.com/" track-type="navMenu" track-name="Android" track-metadata-position="nav" track-metadata-href="//developer.android.com" tooltip> <div class="devsite-nav-item-title"> Android </div> </a> </li> <li class="devsite-nav-item"> <a href="//web.archive.org/web/20210603174441/https://cloud.google.com/" track-type="navMenu" track-name="Cloud" track-metadata-position="nav" track-metadata-href="//cloud.google.com" tooltip> <div class="devsite-nav-item-title"> Cloud </div> </a> </li> <li class="devsite-nav-item"> <a href="//web.archive.org/web/20210603174441/https://firebase.google.com/" track-type="navMenu" track-name="Firebase" track-metadata-position="nav" track-metadata-href="//firebase.google.com" tooltip> <div class="devsite-nav-item-title"> Firebase </div> </a> </li> <li class="devsite-nav-item"> <a href="//web.archive.org/web/20210603174441/https://flutter.dev/" track-type="navMenu" track-name="Flutter" track-metadata-position="nav" track-metadata-href="//flutter.dev" tooltip> <div class="devsite-nav-item-title"> Flutter </div> </a> </li> <li class="devsite-nav-item"> <a href="https://web.archive.org/web/20210603174441/https://developers.google.com/assistant" track-type="navMenu" track-name="Google Assistant" track-metadata-position="nav" track-metadata-href="https://developers.google.com/assistant" tooltip> <div class="devsite-nav-item-title"> Google Assistant </div> </a> </li> <li class="devsite-nav-item"> <a href="https://web.archive.org/web/20210603174441/https://developers.google.com/maps" track-type="navMenu" track-name="Maps Platform" track-metadata-position="nav" track-metadata-href="https://developers.google.com/maps" tooltip> <div class="devsite-nav-item-title"> Maps Platform </div> </a> </li> <li class="devsite-nav-item"> <a href="//web.archive.org/web/20210603174441/https://www.tensorflow.org/" track-type="navMenu" track-name="TensorFlow" track-metadata-position="nav" track-metadata-href="//www.tensorflow.org" tooltip> <div class="devsite-nav-item-title"> TensorFlow </div> </a> </li> <li class="devsite-nav-item"> <a href="https://web.archive.org/web/20210603174441/https://developers.google.com/web" track-type="navMenu" track-name="Web" track-metadata-position="nav" track-metadata-href="https://developers.google.com/web" tooltip> <div class="devsite-nav-item-title"> Web </div> </a> </li> <li class="devsite-nav-item"> <a href="https://web.archive.org/web/20210603174441/https://developers.google.com/youtube" track-type="navMenu" track-name="YouTube" track-metadata-position="nav" track-metadata-href="https://developers.google.com/youtube" tooltip> <div class="devsite-nav-item-title"> YouTube </div> </a> </li> </ul> </div> <div class="devsite-tabs-dropdown-column "> <ul class="devsite-tabs-dropdown-section "> <li class="devsite-nav-title" role="heading" tooltip>Grow</li> <li class="devsite-nav-item"> <a href="//web.archive.org/web/20210603174441/https://firebase.google.com/" track-type="navMenu" track-name="Firebase" track-metadata-position="nav" track-metadata-href="//firebase.google.com" tooltip> <div class="devsite-nav-item-title"> Firebase </div> </a> </li> <li class="devsite-nav-item"> <a href="https://web.archive.org/web/20210603174441/https://developers.google.com/google-ads" track-type="navMenu" track-name="Google Ads" track-metadata-position="nav" track-metadata-href="https://developers.google.com/google-ads" tooltip> <div class="devsite-nav-item-title"> Google Ads </div> </a> </li> <li class="devsite-nav-item"> <a href="https://web.archive.org/web/20210603174441/https://developers.google.com/analytics" track-type="navMenu" track-name="Google Analytics" track-metadata-position="nav" track-metadata-href="https://developers.google.com/analytics" tooltip> <div class="devsite-nav-item-title"> Google Analytics </div> </a> </li> <li class="devsite-nav-item"> <a href="//web.archive.org/web/20210603174441/https://developer.android.com/distribute/" track-type="navMenu" track-name="Google Play" track-metadata-position="nav" track-metadata-href="//developer.android.com/distribute/" tooltip> <div class="devsite-nav-item-title"> Google Play </div> </a> </li> <li class="devsite-nav-item"> <a href="https://web.archive.org/web/20210603174441/https://developers.google.com/search" track-type="navMenu" track-name="Search" track-metadata-position="nav" track-metadata-href="https://developers.google.com/search" tooltip> <div class="devsite-nav-item-title"> Search </div> </a> </li> <li class="devsite-nav-item"> <a href="https://web.archive.org/web/20210603174441/https://developers.google.com/web/fundamentals/engage-and-retain/push-notifications" track-type="navMenu" track-name="Web Push and Notification APIs" track-metadata-position="nav" track-metadata-href="https://developers.google.com/web/fundamentals/engage-and-retain/push-notifications" tooltip> <div class="devsite-nav-item-title"> Web Push and Notification APIs </div> </a> </li> </ul> </div> <div class="devsite-tabs-dropdown-column "> <ul class="devsite-tabs-dropdown-section "> <li class="devsite-nav-title" role="heading" tooltip>Earn</li> <li class="devsite-nav-item"> <a href="https://web.archive.org/web/20210603174441/https://developers.google.com/admob" track-type="navMenu" track-name="AdMob" track-metadata-position="nav" track-metadata-href="https://developers.google.com/admob" tooltip> <div class="devsite-nav-item-title"> AdMob </div> </a> </li> <li class="devsite-nav-item"> <a href="https://web.archive.org/web/20210603174441/https://developers.google.com/google-ads/api" track-type="navMenu" track-name="Google Ads API" track-metadata-position="nav" track-metadata-href="https://developers.google.com/google-ads/api" tooltip> <div class="devsite-nav-item-title"> Google Ads API </div> </a> </li> <li class="devsite-nav-item"> <a href="https://web.archive.org/web/20210603174441/https://developers.google.com/pay" track-type="navMenu" track-name="Google Pay" track-metadata-position="nav" track-metadata-href="https://developers.google.com/pay" tooltip> <div class="devsite-nav-item-title"> Google Pay </div> </a> </li> <li class="devsite-nav-item"> <a href="//web.archive.org/web/20210603174441/https://developer.android.com/google/play/billing/" track-type="navMenu" track-name="Google Play Billing" track-metadata-position="nav" track-metadata-href="//developer.android.com/google/play/billing/" tooltip> <div class="devsite-nav-item-title"> Google Play Billing </div> </a> </li> <li class="devsite-nav-item"> <a href="https://web.archive.org/web/20210603174441/https://developers.google.com/interactive-media-ads" track-type="navMenu" track-name="Interactive Media Ads" track-metadata-position="nav" track-metadata-href="https://developers.google.com/interactive-media-ads" tooltip> <div class="devsite-nav-item-title"> Interactive Media Ads </div> </a> </li> </ul> </div> </div> </div> </tab> <tab> <a href="https://web.archive.org/web/20210603174441/https://developers.google.com/events" class="gc-analytics-event " track-type="globalNav" track-metadata-position="nav" track-metadata-eventdetail="nav" track-name="events" data-category="Site-Wide Custom Events" data-label="Tab: Events"> Events </a> </tab> <tab> <a href="https://web.archive.org/web/20210603174441/https://developers.google.com/learn" class="gc-analytics-event " track-type="globalNav" track-metadata-position="nav" track-metadata-eventdetail="nav" track-name="learn" data-category="Site-Wide Custom Events" data-label="Tab: Learn"> Learn </a> </tab> <tab dropdown> <a href="https://web.archive.org/web/20210603174441/https://developers.google.com/community" class="gc-analytics-event " track-type="globalNav" track-metadata-position="nav" track-metadata-eventdetail="nav" track-name="developerCommunities" data-category="Site-Wide Custom Events" data-label="Tab: Developer Communities"> Developer Communities </a> <a href="#" role="button" aria-haspopup="true" aria-expanded="false" aria-label="Dropdown menu for Developer Communities" track-type="globalNav" track-metadata-position="nav" track-metadata-eventdetail="nav" track-name="developerCommunities" data-category="Site-Wide Custom Events" data-label="Tab: Developer Communities" class="devsite-tabs-dropdown-toggle devsite-icon devsite-icon-arrow-drop-down"></a> <div class="devsite-tabs-dropdown" aria-label="submenu" hidden> <div class="devsite-tabs-dropdown-content"> <div class="devsite-tabs-dropdown-column "> <ul class="devsite-tabs-dropdown-section "> <li class="devsite-nav-item"> <a href="https://web.archive.org/web/20210603174441/https://developers.google.com/community/gdg" track-type="navMenu" track-name="Google Developer Groups" track-metadata-position="nav" track-metadata-href="https://developers.google.com/community/gdg" tooltip> <div class="devsite-nav-item-title"> Google Developer Groups </div> </a> </li> <li class="devsite-nav-item"> <a href="https://web.archive.org/web/20210603174441/https://developers.google.com/community/experts" track-type="navMenu" track-name="Google Developers Experts" track-metadata-position="nav" track-metadata-href="https://developers.google.com/community/experts" tooltip> <div class="devsite-nav-item-title"> Google Developers Experts </div> </a> </li> <li class="devsite-nav-item"> <a href="https://web.archive.org/web/20210603174441/https://www.womentechmakers.com/" track-type="navMenu" track-name="Women Techmakers" track-metadata-position="nav" track-metadata-href="https://www.womentechmakers.com/" tooltip> <div class="devsite-nav-item-title"> Women Techmakers </div> </a> </li> <li class="devsite-nav-item"> <a href="https://web.archive.org/web/20210603174441/https://developers.google.com/community/accelerators" track-type="navMenu" track-name="Accelerators" track-metadata-position="nav" track-metadata-href="https://developers.google.com/community/accelerators" tooltip> <div class="devsite-nav-item-title"> Accelerators </div> </a> </li> </ul> </div> <div class="devsite-tabs-dropdown-column "> <ul class="devsite-tabs-dropdown-section "> <li class="devsite-nav-item"> <a href="https://web.archive.org/web/20210603174441/https://developers.google.com/community/dsc" track-type="navMenu" track-name="Developer Student Clubs" track-metadata-position="nav" track-metadata-href="https://developers.google.com/community/dsc" tooltip> <div class="devsite-nav-item-title"> Developer Student Clubs </div> </a> </li> <li class="devsite-nav-item"> <a href="https://web.archive.org/web/20210603174441/https://developers.google.com/community/dsc-solution-challenge" track-type="navMenu" track-name="2021 Solution Challenge" track-metadata-position="nav" track-metadata-href="https://developers.google.com/community/dsc-solution-challenge" tooltip> <div class="devsite-nav-item-title"> 2021 Solution Challenge </div> </a> </li> </ul> </div> </div> </div> </tab> <tab> <a href="https://web.archive.org/web/20210603174441/https://developers.google.com/profile/u/me" class="gc-analytics-event " track-type="globalNav" track-metadata-position="nav" track-metadata-eventdetail="nav" track-name="developerProfile" data-category="Site-Wide Custom Events" data-label="Tab: Developer Profile"> Developer Profile </a> </tab> <tab> <a href="https://web.archive.org/web/20210603174441/https://developers.googleblog.com/" class="gc-analytics-event " track-type="globalNav" track-metadata-position="nav" track-metadata-eventdetail="nav" track-name="blog" data-category="Site-Wide Custom Events" data-label="Tab: Blog"> Blog </a> </tab> </nav> </devsite-tabs> </div> <devsite-search aria-expanded="false" aria-haspopup="listbox" enable-signin enable-search enable-suggestions enable-query-completion project-name="Google Developers" tenant-name="Google Developers" role="combobox"> <form class="devsite-search-form" action="https://web.archive.org/web/20210603174441/https://developers.google.com/s/results" method="GET"> <div class="devsite-search-container"> <div class="devsite-searchbox"> <input aria-activedescendant="" aria-autocomplete="list" aria-label="Search" aria-haspopup="false" aria-multiline="false" aria-label="Search box" autocomplete="off" class="devsite-search-field devsite-search-query" name="q" placeholder="Search" role="combobox" type="text" value=""> <div class="devsite-search-image material-icons" aria-hidden="true"></div> </div> <button type="button" search-open class="devsite-search-button devsite-header-icon-button button-flat material-icons" aria-label="Open search"></button> </div> </form> <button type="button" search-close class="devsite-search-button devsite-header-icon-button button-flat material-icons" aria-label="Close search"></button> </devsite-search> </div> <devsite-language-selector> <devsite-select class="devsite-language-selector-menu"> <select aria-label="Select your language preference." class="devsite-language-selector-select" name="language" track-name="click" track-type="languageSelector"> <option>Language</option> <option value="en" lang="en" track-metadata-original-language="en" track-metadata-selected-language="en" track-name="changed" track-type="languageSelector"> English </option> <option value="id" lang="id" track-metadata-original-language="en" track-metadata-selected-language="id" track-name="changed" track-type="languageSelector"> Bahasa Indonesia </option> <option value="de" lang="de" track-metadata-original-language="en" track-metadata-selected-language="de" track-name="changed" track-type="languageSelector"> Deutsch </option> <option value="es" lang="es" track-metadata-original-language="en" track-metadata-selected-language="es" track-name="changed" track-type="languageSelector"> Español </option> <option value="fr" lang="fr" track-metadata-original-language="en" track-metadata-selected-language="fr" track-name="changed" track-type="languageSelector"> Français </option> <option value="pt_br" lang="pt_br" track-metadata-original-language="en" track-metadata-selected-language="pt_br" track-name="changed" track-type="languageSelector"> Português – Brasil </option> <option value="ru" lang="ru" track-metadata-original-language="en" track-metadata-selected-language="ru" track-name="changed" track-type="languageSelector"> Русский </option> <option value="zh_cn" lang="zh_cn" track-metadata-original-language="en" track-metadata-selected-language="zh_cn" track-name="changed" track-type="languageSelector"> 中文 – 简体 </option> <option value="ja" lang="ja" track-metadata-original-language="en" track-metadata-selected-language="ja" track-name="changed" track-type="languageSelector"> 日本語 </option> <option value="ko" lang="ko" track-metadata-original-language="en" track-metadata-selected-language="ko" track-name="changed" track-type="languageSelector"> 한국어 </option> </select> </devsite-select> </devsite-language-selector> <devsite-user enable-profiles fp-auth id="devsite-user"></devsite-user> </div> </div> </div> <div class="devsite-collapsible-section devsite-header-no-lower-tabs "> <div class="devsite-header-background"> </div> </div> </div> </devsite-header> <devsite-book-nav scrollbars hidden> <nav class="devsite-book-nav devsite-nav nocontent" aria-label="Side menu"> <div class="devsite-mobile-header"> <button type="button" id="devsite-close-nav" class="devsite-header-icon-button button-flat material-icons gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Close navigation" aria-label="Close navigation"> </button> <div class="devsite-product-name-wrapper"> <a href="/web/20210603174441/https://developers.google.com/" class="devsite-site-logo-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Site logo" track-type="globalNav" track-name="googleDevelopers" track-metadata-position="nav" track-metadata-eventdetail="nav"> <img src="https://web.archive.org/web/20210603174441im_/https://www.gstatic.com/devrel-devsite/prod/v702c60b70d68da067f4d656556a48e4ab1cf14be10bb79e46f353f3fdfe8505d/developers/images/lockup.svg" class="devsite-site-logo" alt="Google Developers"> </a> <span class="devsite-product-name"> <ul class="devsite-breadcrumb-list"> <li class="devsite-breadcrumb-item devsite-has-google-wordmark"> </li> </ul> </span> </div> </div> <div class="devsite-book-nav-wrapper"> <div class="devsite-mobile-nav-top"> <ul class="devsite-nav-list"> <li class="devsite-nav-item"> <a href="/web/20210603174441/https://developers.google.com/products" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Products" track-type="globalNav" track-metadata-eventdetail="globalMenu" track-metadata-position="nav" track-name="products"> <span class="devsite-nav-text" tooltip> Products </span> </a> <ul class="devsite-nav-responsive-tabs devsite-nav-has-menu "> <li class="devsite-nav-item"> <span class="devsite-nav-title" tooltip> <span class="devsite-nav-text" tooltip menu="Products"> More </span> <span class="devsite-nav-icon material-icons" data-icon="forward" menu="Products"> </span> </span> </li> </ul> </li> <li class="devsite-nav-item"> <a href="/web/20210603174441/https://developers.google.com/events" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Events" track-type="globalNav" track-metadata-eventdetail="globalMenu" track-metadata-position="nav" track-name="events"> <span class="devsite-nav-text" tooltip> Events </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20210603174441/https://developers.google.com/learn" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Learn" track-type="globalNav" track-metadata-eventdetail="globalMenu" track-metadata-position="nav" track-name="learn"> <span class="devsite-nav-text" tooltip> Learn </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20210603174441/https://developers.google.com/community" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Developer Communities" track-type="globalNav" track-metadata-eventdetail="globalMenu" track-metadata-position="nav" track-name="developerCommunities"> <span class="devsite-nav-text" tooltip> Developer Communities </span> </a> <ul class="devsite-nav-responsive-tabs devsite-nav-has-menu "> <li class="devsite-nav-item"> <span class="devsite-nav-title" tooltip> <span class="devsite-nav-text" tooltip menu="Developer Communities"> More </span> <span class="devsite-nav-icon material-icons" data-icon="forward" menu="Developer Communities"> </span> </span> </li> </ul> </li> <li class="devsite-nav-item"> <a href="/web/20210603174441/https://developers.google.com/profile/u/me" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Developer Profile" track-type="globalNav" track-metadata-eventdetail="globalMenu" track-metadata-position="nav" track-name="developerProfile"> <span class="devsite-nav-text" tooltip> Developer Profile </span> </a> </li> <li class="devsite-nav-item"> <a href="https://web.archive.org/web/20210603174441/https://developers.googleblog.com/" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Blog" track-type="globalNav" track-metadata-eventdetail="globalMenu" track-metadata-position="nav" track-name="blog"> <span class="devsite-nav-text" tooltip> Blog </span> </a> </li> </ul> </div> <div class="devsite-mobile-nav-bottom" role="navigation"> <ul class="devsite-nav-list" menu="Products" aria-label="Side menu" hidden> <li class="devsite-nav-item devsite-nav-heading"> <span class="devsite-nav-title" tooltip> <span class="devsite-nav-text" tooltip> Develop </span> </span> </li> <li class="devsite-nav-item"> <a href="//web.archive.org/web/20210603174441/https://developer.android.com/" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Android" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav" track-name="android"> <span class="devsite-nav-text" tooltip> Android </span> </a> </li> <li class="devsite-nav-item"> <a href="//web.archive.org/web/20210603174441/https://cloud.google.com/" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Cloud" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav" track-name="cloud"> <span class="devsite-nav-text" tooltip> Cloud </span> </a> </li> <li class="devsite-nav-item"> <a href="//web.archive.org/web/20210603174441/https://firebase.google.com/" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Firebase" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav" track-name="firebase"> <span class="devsite-nav-text" tooltip> Firebase </span> </a> </li> <li class="devsite-nav-item"> <a href="//web.archive.org/web/20210603174441/https://flutter.dev/" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Flutter" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav" track-name="flutter"> <span class="devsite-nav-text" tooltip> Flutter </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20210603174441/https://developers.google.com/assistant" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Google Assistant" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav" track-name="googleAssistant"> <span class="devsite-nav-text" tooltip> Google Assistant </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20210603174441/https://developers.google.com/maps" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Maps Platform" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav" track-name="mapsPlatform"> <span class="devsite-nav-text" tooltip> Maps Platform </span> </a> </li> <li class="devsite-nav-item"> <a href="//web.archive.org/web/20210603174441/https://www.tensorflow.org/" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: TensorFlow" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav" track-name="tensorFlow"> <span class="devsite-nav-text" tooltip> TensorFlow </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20210603174441/https://developers.google.com/web" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Web" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav" track-name="web"> <span class="devsite-nav-text" tooltip> Web </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20210603174441/https://developers.google.com/youtube" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: YouTube" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav" track-name="youTube"> <span class="devsite-nav-text" tooltip> YouTube </span> </a> </li> <li class="devsite-nav-item devsite-nav-heading"> <span class="devsite-nav-title" tooltip> <span class="devsite-nav-text" tooltip> Grow </span> </span> </li> <li class="devsite-nav-item"> <a href="//web.archive.org/web/20210603174441/https://firebase.google.com/" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Firebase" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav" track-name="firebase"> <span class="devsite-nav-text" tooltip> Firebase </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20210603174441/https://developers.google.com/google-ads" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Google Ads" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav" track-name="googleAds"> <span class="devsite-nav-text" tooltip> Google Ads </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20210603174441/https://developers.google.com/analytics" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Google Analytics" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav" track-name="googleAnalytics"> <span class="devsite-nav-text" tooltip> Google Analytics </span> </a> </li> <li class="devsite-nav-item"> <a href="//web.archive.org/web/20210603174441/https://developer.android.com/distribute/" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Google Play" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav" track-name="googlePlay"> <span class="devsite-nav-text" tooltip> Google Play </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20210603174441/https://developers.google.com/search" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Search" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav" track-name="search"> <span class="devsite-nav-text" tooltip> Search </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20210603174441/https://developers.google.com/web/fundamentals/engage-and-retain/push-notifications" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Web Push and Notification APIs" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav" track-name="webPushAndNotificationAPIs"> <span class="devsite-nav-text" tooltip> Web Push and Notification APIs </span> </a> </li> <li class="devsite-nav-item devsite-nav-heading"> <span class="devsite-nav-title" tooltip> <span class="devsite-nav-text" tooltip> Earn </span> </span> </li> <li class="devsite-nav-item"> <a href="/web/20210603174441/https://developers.google.com/admob" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: AdMob" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav" track-name="adMob"> <span class="devsite-nav-text" tooltip> AdMob </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20210603174441/https://developers.google.com/google-ads/api" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Google Ads API" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav" track-name="googleAdsAPI"> <span class="devsite-nav-text" tooltip> Google Ads API </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20210603174441/https://developers.google.com/pay" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Google Pay" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav" track-name="googlePay"> <span class="devsite-nav-text" tooltip> Google Pay </span> </a> </li> <li class="devsite-nav-item"> <a href="//web.archive.org/web/20210603174441/https://developer.android.com/google/play/billing/" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Google Play Billing" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav" track-name="googlePlayBilling"> <span class="devsite-nav-text" tooltip> Google Play Billing </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20210603174441/https://developers.google.com/interactive-media-ads" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Interactive Media Ads" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav" track-name="interactiveMediaAds"> <span class="devsite-nav-text" tooltip> Interactive Media Ads </span> </a> </li> </ul> <ul class="devsite-nav-list" menu="Developer Communities" aria-label="Side menu" hidden> <li class="devsite-nav-item"> <a href="/web/20210603174441/https://developers.google.com/community/gdg" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Google Developer Groups" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav" track-name="googleDeveloperGroups"> <span class="devsite-nav-text" tooltip> Google Developer Groups </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20210603174441/https://developers.google.com/community/experts" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Google Developers Experts" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav" track-name="googleDevelopersExperts"> <span class="devsite-nav-text" tooltip> Google Developers Experts </span> </a> </li> <li class="devsite-nav-item"> <a href="https://web.archive.org/web/20210603174441/https://www.womentechmakers.com/" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Women Techmakers" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav" track-name="womenTechmakers"> <span class="devsite-nav-text" tooltip> Women Techmakers </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20210603174441/https://developers.google.com/community/accelerators" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Accelerators" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav" track-name="accelerators"> <span class="devsite-nav-text" tooltip> Accelerators </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20210603174441/https://developers.google.com/community/dsc" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Developer Student Clubs" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav" track-name="developerStudentClubs"> <span class="devsite-nav-text" tooltip> Developer Student Clubs </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20210603174441/https://developers.google.com/community/dsc-solution-challenge" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: 2021 Solution Challenge" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav" track-name="2021SolutionChallenge"> <span class="devsite-nav-text" tooltip> 2021 Solution Challenge </span> </a> </li> </ul> </div> </div> </nav> </devsite-book-nav> <section id="gc-wrapper"> <main role="main" class="devsite-main-content"> <devsite-toc class="devsite-nav" disabled></devsite-toc> <devsite-content> <article class="devsite-article"><style> /* Styles inlined from /site-assets/styles/landing.css */ /* Home page - hero */ .dgc-hero { border-bottom: 2px solid #f1f3f4; } .dgc-hero .devsite-landing-row-item .devsite-landing-row-item-body h3 { font-size: 32px; line-height: 40px; } .dgc-hero .devsite-landing-row-item-image { margin: 40px auto; } .dgc-hero .devsite-landing-row-item-buttons { padding-top: 38px; } /* Home page - logo garden */ .dgc-logo-garden .devsite-landing-row-item-custom-image-icon { width: 64px; } .dgc-logo-garden-cta { margin-bottom: 60px; } @media screen and (max-width: 600px) { .dgc-logo-garden-cta { margin-top: 40px; } } /* Home page - programs */ .dgc-programs.devsite-landing-row-item { overflow: visible; } .dgc-programs .devsite-landing-row-item-image { position: relative; } .dgc-programs .devsite-landing-row-item-image::before { background: center / contain no-repeat; content: ''; display: block; height: 160px; position: absolute; right: 8px; top: 50%; transform: translateY(-50%); width: 160px; } .dgc-programs--events .devsite-landing-row-item-image::before { background-image: url(/web/20210603174441im_/https://developers.google.com/site-assets/images/home/events-graphic.png); } .dgc-programs--community .devsite-landing-row-item-image::before { background-image: url(/web/20210603174441im_/https://developers.google.com/site-assets/images/home/community-graphic.png); } @media screen and (max-width: 840px) { .dgc-programs .devsite-landing-row-item-media { overflow: visible !important; } } /* Home page - experts */ .devsite-directory__wrapper { padding: 0 12px 0; } .devsite-directory__content { display: grid; grid-gap: 24px; grid-template-columns: repeat(var(--directory-columns, 4), 1fr); } .devsite-directory__content__item { background-color: #fff; margin: 0; padding: 0; } .experts-directory__item__profile { padding: 20px 20px 0; text-align: center; } .experts-directory__item__profile-pic-holder { background-size: cover; border-radius: 50%; display: block; height: 100px; margin: 0 auto 20px; overflow: hidden; position: relative; width: 100px; } .experts-directory__item__name { margin: 0; } .experts-directory__item__name h3 { font-size: 12px; font-style: normal; font-weight: 500; padding-top: 15px; text-align: center; } .experts-directory__item__location, .experts-directory__item__experience { font: 400 14px/20px; margin-top: 0; } .experts-directory__item__expertise { color: gray; } .experts-directory__item__view-profile { margin: auto auto 16px; } @media screen and (max-width: 1000px) { .devsite-directory__content { --directory-columns: 2; } } @media screen and (max-width: 500px) { .devsite-directory__content { --directory-columns: 1; } } </style> <div class="devsite-banner devsite-banner-announcement"> <div class="devsite-banner-message"> <div class="devsite-banner-message-text"> <style> .devsite-banner-announcement:not(.devsite-banner-tenant) { background: #202124; color: white; font-weight: 500; } .devsite-banner-announcement a { color: white; font-weight: 700; } .devsite-banner-announcement a:link, .devsite-banner-announcement a:visited { background: 0; } .devsite-banner-announcement a:hover, .devsite-banner-announcement a:focus { text-decoration: none; } .devsite-banner-announcement .devsite-banner-message-text { margin: 0 auto; } </style> Google is committed to advancing racial equity for Black communities. <a href="https://web.archive.org/web/20210603174441/https://google.com/racialequity" class="gc-analytics-event" data-category="Announcement" data-label="Racial Equity">See how.</a> </div> </div> </div> <div class="devsite-article-meta nocontent" role="navigation"> <ul class="devsite-breadcrumb-list" aria-label="Breadcrumb"> <li class="devsite-breadcrumb-item "> <a href="https://web.archive.org/web/20210603174441/https://developers.google.com/" class="devsite-breadcrumb-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Breadcrumbs" data-value="1" track-type="globalNav" track-name="breadcrumb" track-metadata-position="1" track-metadata-eventdetail="Google Developers"> Google Developers </a> </li> <li class="devsite-breadcrumb-item "> <div class="devsite-breadcrumb-guillemet material-icons" aria-hidden="true"></div> <a href="https://web.archive.org/web/20210603174441/https://developers.google.com/products" class="devsite-breadcrumb-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Breadcrumbs" data-value="2" track-type="globalNav" track-name="breadcrumb" track-metadata-position="2" track-metadata-eventdetail=""> Products </a> </li> </ul> </div> <devsite-toc class="devsite-nav" devsite-toc-embedded disabled> </devsite-toc> <div class="devsite-article-body clearfix devsite-no-page-title"> <section class="devsite-landing-row devsite-landing-row-1-up devsite-landing-row-hero devsite-landing-row-50 devsite-landing-row-no-image-background dgc-hero" header-position="top"> <div class="devsite-landing-row-inner"> <div class="devsite-landing-row-group"> <div class="devsite-landing-row-item" description-position="bottom"> <div class="devsite-landing-row-item-media "> <devsite-youtube autohide="1" showinfo="0" video-id="L7c4wS7T_T8?autoplay=1&mute=1&rel=0"></devsite-youtube> </div> <div class="devsite-landing-row-item-description"> <div class="devsite-landing-row-item-body"> <h3 id="img-srcsite-assetsimageshomeio-21-logosvg-stylewidth-80br-thats-a-wrap" data-text=" That's a wrap " class="hide-from-toc no-link" tabindex="0"> <a href="https://web.archive.org/web/20210603174441/https://events.google.com/io" data-category="Homepage Hero Banner" data-label="Google I/O 2021 Live, Main title" data-action="link"> <img src="/web/20210603174441im_/https://developers.google.com/site-assets/images/home/io-21-logo.svg" style="width: 80%"><br> That's a wrap </a> </h3> <div class="devsite-landing-row-item-description-content"> Thanks for attending the first virtual Google I/O! Catch up on what you missed or rewatch your favorites on demand. </div> <div class="devsite-landing-row-item-buttons"> <a href="https://web.archive.org/web/20210603174441/https://events.google.com/io" class="button button-primary " data-label="Google I/O 2021 Live, Watch now" data-category="Homepage Hero Banner">Watch now</a> </div> </div> </div> </div> </div> </div> </section> <section class="devsite-landing-row devsite-landing-row-4-up devsite-landing-row-header-centered devsite-landing-row-large-headings devsite-landing-row-logos dgc-logo-garden" background="/web/20210603174441im_/https://developers.google.com/white" header-position="top"> <div class="devsite-landing-row-inner"> <header class="devsite-landing-row-header"> <div class="devsite-landing-row-header-text"> <h2 id="build-stronganythingstrong-with-google" data-text="Build anything with Google" tabindex="0"> Build <strong>anything</strong> with Google </h2> </div> </header> <div class="devsite-landing-row-group"> <div class="devsite-landing-row-item" description-position="bottom"> <div class="devsite-landing-row-item-media "> <figure class="devsite-landing-row-item-custom-image"> <div class="devsite-landing-row-item-custom-image-icon-wrapper"> <a href="https://web.archive.org/web/20210603174441/https://developer.android.com/" data-category="Homepage Logo Garden" data-label="Android"> <div class="devsite-landing-row-item-custom-image-icon-container" size="medium"> <img class="devsite-landing-row-item-custom-image-icon" alt="" src="https://web.archive.org/web/20210603174441im_/https://developer.android.com/images/brand/Android_Robot.png" srcset="https://web.archive.org/web/20210603174441im_/https://developer.android.com/images/brand/Android_Robot_36.png 36w, https://web.archive.org/web/20210603174441im_/https://developer.android.com/images/brand/Android_Robot_48.png 48w, https://web.archive.org/web/20210603174441im_/https://developer.android.com/images/brand/Android_Robot_72.png 72w, https://web.archive.org/web/20210603174441im_/https://developer.android.com/images/brand/Android_Robot_96.png 96w, https://web.archive.org/web/20210603174441im_/https://developer.android.com/images/brand/Android_Robot_480.png 480w, https://web.archive.org/web/20210603174441im_/https://developer.android.com/images/brand/Android_Robot_720.png 720w, https://web.archive.org/web/20210603174441im_/https://developer.android.com/images/brand/Android_Robot_856.png 856w, https://web.archive.org/web/20210603174441im_/https://developer.android.com/images/brand/Android_Robot_960.png 960w, https://web.archive.org/web/20210603174441im_/https://developer.android.com/images/brand/Android_Robot_1440.png 1440w, https://web.archive.org/web/20210603174441im_/https://developer.android.com/images/brand/Android_Robot_1920.png 1920w, https://web.archive.org/web/20210603174441im_/https://developer.android.com/images/brand/Android_Robot_2880.png 2880w" sizes="192px" loading="lazy"> </div> </a> </div> </figure> </div> <div class="devsite-landing-row-item-description"> <div class="devsite-landing-row-item-body"> <div class="devsite-landing-row-item-description-content"> Android </div> </div> </div> </div> <div class="devsite-landing-row-item" description-position="bottom"> <div class="devsite-landing-row-item-media "> <figure class="devsite-landing-row-item-custom-image"> <div class="devsite-landing-row-item-custom-image-icon-wrapper"> <a href="https://web.archive.org/web/20210603174441/https://cloud.google.com/developers" data-category="Homepage Logo Garden" data-label="Google Cloud"> <div class="devsite-landing-row-item-custom-image-icon-container" size="medium"> <img class="devsite-landing-row-item-custom-image-icon" alt="" src="//web.archive.org/web/20210603174441im_/https://www.gstatic.com/images/branding/product/2x/google_cloud_64dp.png" srcset="" sizes="192px" loading="lazy"> </div> </a> </div> </figure> </div> <div class="devsite-landing-row-item-description"> <div class="devsite-landing-row-item-body"> <div class="devsite-landing-row-item-description-content"> Google Cloud </div> </div> </div> </div> <div class="devsite-landing-row-item" description-position="bottom"> <div class="devsite-landing-row-item-media "> <figure class="devsite-landing-row-item-custom-image"> <div class="devsite-landing-row-item-custom-image-icon-wrapper"> <a href="https://web.archive.org/web/20210603174441/https://firebase.google.com/docs" data-category="Homepage Logo Garden" data-label="Firebase"> <div class="devsite-landing-row-item-custom-image-icon-container" size="medium"> <img class="devsite-landing-row-item-custom-image-icon" alt="" src="https://web.archive.org/web/20210603174441im_/https://www.gstatic.com/images/branding/product/2x/firebase_64dp.png" srcset="" sizes="192px" loading="lazy"> </div> </a> </div> </figure> </div> <div class="devsite-landing-row-item-description"> <div class="devsite-landing-row-item-body"> <div class="devsite-landing-row-item-description-content"> Firebase </div> </div> </div> </div> <div class="devsite-landing-row-item" description-position="bottom"> <div class="devsite-landing-row-item-media "> <figure class="devsite-landing-row-item-custom-image"> <div class="devsite-landing-row-item-custom-image-icon-wrapper"> <a href="https://web.archive.org/web/20210603174441/https://flutter.dev/docs" data-category="Homepage Logo Garden" data-label="Flutter"> <div class="devsite-landing-row-item-custom-image-icon-container" size="medium"> <img class="devsite-landing-row-item-custom-image-icon" alt="" src="https://web.archive.org/web/20210603174441im_/https://www.gstatic.com/images/branding/product/2x/flutter_64dp.png" srcset="" sizes="192px" loading="lazy"> </div> </a> </div> </figure> </div> <div class="devsite-landing-row-item-description"> <div class="devsite-landing-row-item-body"> <div class="devsite-landing-row-item-description-content"> Flutter </div> </div> </div> </div> <div class="devsite-landing-row-item" description-position="bottom"> <div class="devsite-landing-row-item-media "> <figure class="devsite-landing-row-item-custom-image"> <div class="devsite-landing-row-item-custom-image-icon-wrapper"> <a href="https://web.archive.org/web/20210603174441/https://developers.google.com/assistant" data-category="Homepage Logo Garden" data-label="Google Assistant"> <div class="devsite-landing-row-item-custom-image-icon-container" size="medium"> <img class="devsite-landing-row-item-custom-image-icon" alt="" src="https://web.archive.org/web/20210603174441im_/https://www.gstatic.com/images/branding/product/2x/assistant_64dp.png" srcset="" sizes="192px" loading="lazy"> </div> </a> </div> </figure> </div> <div class="devsite-landing-row-item-description"> <div class="devsite-landing-row-item-body"> <div class="devsite-landing-row-item-description-content"> Google Assistant </div> </div> </div> </div> <div class="devsite-landing-row-item" description-position="bottom"> <div class="devsite-landing-row-item-media "> <figure class="devsite-landing-row-item-custom-image"> <div class="devsite-landing-row-item-custom-image-icon-wrapper"> <a href="https://web.archive.org/web/20210603174441/https://developers.google.com/maps" data-category="Homepage Logo Garden" data-label="Maps"> <div class="devsite-landing-row-item-custom-image-icon-container" size="medium"> <img class="devsite-landing-row-item-custom-image-icon" alt="" src="https://web.archive.org/web/20210603174441im_/https://www.gstatic.com/images/branding/product/2x/maps_64dp.png" srcset="" sizes="192px" loading="lazy"> </div> </a> </div> </figure> </div> <div class="devsite-landing-row-item-description"> <div class="devsite-landing-row-item-body"> <div class="devsite-landing-row-item-description-content"> Maps Platform </div> </div> </div> </div> <div class="devsite-landing-row-item" description-position="bottom"> <div class="devsite-landing-row-item-media "> <figure class="devsite-landing-row-item-custom-image"> <div class="devsite-landing-row-item-custom-image-icon-wrapper"> <a href="https://web.archive.org/web/20210603174441/https://www.tensorflow.org/tutorials" data-category="Homepage Logo Garden" data-label="TensorFlow"> <div class="devsite-landing-row-item-custom-image-icon-container" size="medium"> <img class="devsite-landing-row-item-custom-image-icon" alt="" src="https://web.archive.org/web/20210603174441im_/https://developers.google.com/site-assets/images/products/tensorflow-logo-196.png" srcset="https://web.archive.org/web/20210603174441im_/https://developers.google.com/site-assets/images/products/tensorflow-logo-196_36.png 36w, https://web.archive.org/web/20210603174441im_/https://developers.google.com/site-assets/images/products/tensorflow-logo-196_48.png 48w, https://web.archive.org/web/20210603174441im_/https://developers.google.com/site-assets/images/products/tensorflow-logo-196_72.png 72w, https://web.archive.org/web/20210603174441im_/https://developers.google.com/site-assets/images/products/tensorflow-logo-196_96.png 96w, https://web.archive.org/web/20210603174441im_/https://developers.google.com/site-assets/images/products/tensorflow-logo-196_480.png 480w, https://web.archive.org/web/20210603174441im_/https://developers.google.com/site-assets/images/products/tensorflow-logo-196_720.png 720w, https://web.archive.org/web/20210603174441im_/https://developers.google.com/site-assets/images/products/tensorflow-logo-196_856.png 856w, https://web.archive.org/web/20210603174441im_/https://developers.google.com/site-assets/images/products/tensorflow-logo-196_960.png 960w, https://web.archive.org/web/20210603174441im_/https://developers.google.com/site-assets/images/products/tensorflow-logo-196_1440.png 1440w, https://web.archive.org/web/20210603174441im_/https://developers.google.com/site-assets/images/products/tensorflow-logo-196_1920.png 1920w, https://web.archive.org/web/20210603174441im_/https://developers.google.com/site-assets/images/products/tensorflow-logo-196_2880.png 2880w" sizes="192px" loading="lazy"> </div> </a> </div> </figure> </div> <div class="devsite-landing-row-item-description"> <div class="devsite-landing-row-item-body"> <div class="devsite-landing-row-item-description-content"> TensorFlow </div> </div> </div> </div> <div class="devsite-landing-row-item" description-position="bottom"> <div class="devsite-landing-row-item-media "> <figure class="devsite-landing-row-item-custom-image"> <div class="devsite-landing-row-item-custom-image-icon-wrapper"> <a href="https://web.archive.org/web/20210603174441/https://developers.google.com/web" data-category="Homepage Logo Garden" data-label="Web"> <div class="devsite-landing-row-item-custom-image-icon-container" size="medium"> <img class="devsite-landing-row-item-custom-image-icon" alt="" src="https://web.archive.org/web/20210603174441im_/https://developers.google.com/web/images/web-fundamentals-icon192x192.png" srcset="https://web.archive.org/web/20210603174441im_/https://developers.google.com/web/images/web-fundamentals-icon192x192_36.png 36w, https://web.archive.org/web/20210603174441im_/https://developers.google.com/web/images/web-fundamentals-icon192x192_48.png 48w, https://web.archive.org/web/20210603174441im_/https://developers.google.com/web/images/web-fundamentals-icon192x192_72.png 72w, https://web.archive.org/web/20210603174441im_/https://developers.google.com/web/images/web-fundamentals-icon192x192_96.png 96w, https://web.archive.org/web/20210603174441im_/https://developers.google.com/web/images/web-fundamentals-icon192x192_480.png 480w, https://web.archive.org/web/20210603174441im_/https://developers.google.com/web/images/web-fundamentals-icon192x192_720.png 720w, https://web.archive.org/web/20210603174441im_/https://developers.google.com/web/images/web-fundamentals-icon192x192_856.png 856w, https://web.archive.org/web/20210603174441im_/https://developers.google.com/web/images/web-fundamentals-icon192x192_960.png 960w, https://web.archive.org/web/20210603174441im_/https://developers.google.com/web/images/web-fundamentals-icon192x192_1440.png 1440w, https://web.archive.org/web/20210603174441im_/https://developers.google.com/web/images/web-fundamentals-icon192x192_1920.png 1920w, https://web.archive.org/web/20210603174441im_/https://developers.google.com/web/images/web-fundamentals-icon192x192_2880.png 2880w" sizes="192px" loading="lazy"> </div> </a> </div> </figure> </div> <div class="devsite-landing-row-item-description"> <div class="devsite-landing-row-item-body"> <div class="devsite-landing-row-item-description-content"> Web </div> </div> </div> </div> <div class="devsite-landing-row-item" description-position="bottom"> <div class="devsite-landing-row-item-media "> <figure class="devsite-landing-row-item-custom-image"> <div class="devsite-landing-row-item-custom-image-icon-wrapper"> <a href="https://web.archive.org/web/20210603174441/https://developers.google.com/google-ads" data-category="Homepage Logo Garden" data-label="Google Ads"> <div class="devsite-landing-row-item-custom-image-icon-container" size="medium"> <img class="devsite-landing-row-item-custom-image-icon" alt="" src="https://web.archive.org/web/20210603174441im_/https://developers.google.com/ads/images/ads_192px_clr.svg" srcset="" sizes="192px" loading="lazy"> </div> </a> </div> </figure> </div> <div class="devsite-landing-row-item-description"> <div class="devsite-landing-row-item-body"> <div class="devsite-landing-row-item-description-content"> Google Ads </div> </div> </div> </div> <div class="devsite-landing-row-item" description-position="bottom"> <div class="devsite-landing-row-item-media "> <figure class="devsite-landing-row-item-custom-image"> <div class="devsite-landing-row-item-custom-image-icon-wrapper"> <a href="https://web.archive.org/web/20210603174441/https://developers.google.com/analytics" data-category="Homepage Logo Garden" data-label="Google Analytics"> <div class="devsite-landing-row-item-custom-image-icon-container" size="medium"> <img class="devsite-landing-row-item-custom-image-icon" alt="" src="https://web.archive.org/web/20210603174441im_/https://www.gstatic.com/images/branding/product/2x/analytics_64dp.png" srcset="" sizes="192px" loading="lazy"> </div> </a> </div> </figure> </div> <div class="devsite-landing-row-item-description"> <div class="devsite-landing-row-item-body"> <div class="devsite-landing-row-item-description-content"> Google Analytics </div> </div> </div> </div> <div class="devsite-landing-row-item" description-position="bottom"> <div class="devsite-landing-row-item-media "> <figure class="devsite-landing-row-item-custom-image"> <div class="devsite-landing-row-item-custom-image-icon-wrapper"> <a href="https://web.archive.org/web/20210603174441/https://play.google.com/console/about/" data-category="Homepage Logo Garden" data-label="Google Play"> <div class="devsite-landing-row-item-custom-image-icon-container" size="medium"> <img class="devsite-landing-row-item-custom-image-icon" alt="" src="https://web.archive.org/web/20210603174441im_/https://www.gstatic.com/images/branding/product/2x/play_prism_64dp.png" srcset="" sizes="192px" loading="lazy"> </div> </a> </div> </figure> </div> <div class="devsite-landing-row-item-description"> <div class="devsite-landing-row-item-body"> <div class="devsite-landing-row-item-description-content"> Google Play </div> </div> </div> </div> <div class="devsite-landing-row-item" description-position="bottom"> <div class="devsite-landing-row-item-media "> <figure class="devsite-landing-row-item-custom-image"> <div class="devsite-landing-row-item-custom-image-icon-wrapper"> <a href="https://web.archive.org/web/20210603174441/https://developers.google.com/youtube" data-category="Homepage Logo Garden" data-label="YouTube"> <div class="devsite-landing-row-item-custom-image-icon-container" size="medium"> <img class="devsite-landing-row-item-custom-image-icon" alt="" src="https://web.archive.org/web/20210603174441im_/https://www.gstatic.com/images/branding/product/2x/youtube_64dp.png" srcset="" sizes="192px" loading="lazy"> </div> </a> </div> </figure> </div> <div class="devsite-landing-row-item-description"> <div class="devsite-landing-row-item-body"> <div class="devsite-landing-row-item-description-content"> YouTube </div> </div> </div> </div> </div> </div> </section> <section class="devsite-landing-row devsite-landing-row-1-up devsite-landing-row-item-centered devsite-landing-row-100 dgc-logo-garden-cta" header-position="top"> <div class="devsite-landing-row-inner"> <div class="devsite-landing-row-group"> <div class="devsite-landing-row-item devsite-landing-row-item-no-media" description-position="bottom"> <div class="devsite-landing-row-item-description"> <div class="devsite-landing-row-item-body"> <div class="devsite-landing-row-item-buttons"> <a href="https://web.archive.org/web/20210603174441/https://developers.google.com/products" class="button button-primary " data-category="Homepage Logo Garden" data-label="View all developer products">View all developer products</a> </div> </div> </div> </div> </div> </div> </section> <section class="devsite-landing-row devsite-landing-row-2-up devsite-landing-row-cards devsite-landing-row-header-centered devsite-landing-row-no-image-background" header-position="top"> <div class="devsite-landing-row-inner"> <div class="devsite-landing-row-group"> <div class="devsite-landing-row-item dgc-programs dgc-programs--events" description-position="bottom"> <div class="devsite-landing-row-item-media "> <figure class="devsite-landing-row-item-image"> <a href="https://web.archive.org/web/20210603174441/https://developers.google.com/events" data-category="Homepage Promo Banner" data-label="Events, Main Title" data-action="link"> <img alt="" src="https://web.archive.org/web/20210603174441im_/https://developers.google.com/site-assets/images/home/card-header-grid.png" srcset="https://web.archive.org/web/20210603174441im_/https://developers.google.com/site-assets/images/home/card-header-grid_36.png 36w, https://web.archive.org/web/20210603174441im_/https://developers.google.com/site-assets/images/home/card-header-grid_48.png 48w, https://web.archive.org/web/20210603174441im_/https://developers.google.com/site-assets/images/home/card-header-grid_72.png 72w, https://web.archive.org/web/20210603174441im_/https://developers.google.com/site-assets/images/home/card-header-grid_96.png 96w, https://web.archive.org/web/20210603174441im_/https://developers.google.com/site-assets/images/home/card-header-grid_480.png 480w, https://web.archive.org/web/20210603174441im_/https://developers.google.com/site-assets/images/home/card-header-grid_720.png 720w, https://web.archive.org/web/20210603174441im_/https://developers.google.com/site-assets/images/home/card-header-grid_856.png 856w, https://web.archive.org/web/20210603174441im_/https://developers.google.com/site-assets/images/home/card-header-grid_960.png 960w, https://web.archive.org/web/20210603174441im_/https://developers.google.com/site-assets/images/home/card-header-grid_1440.png 1440w, https://web.archive.org/web/20210603174441im_/https://developers.google.com/site-assets/images/home/card-header-grid_1920.png 1920w, https://web.archive.org/web/20210603174441im_/https://developers.google.com/site-assets/images/home/card-header-grid_2880.png 2880w" sizes="(max-width: 600px) 100vw, (max-width: 840px) 50vw, 708px" loading="lazy"> </a> </figure> </div> <div class="devsite-landing-row-item-description"> <div class="devsite-landing-row-item-body"> <h3 id="events" data-text="Events" class="hide-from-toc no-link" tabindex="0"> <a href="https://web.archive.org/web/20210603174441/https://developers.google.com/events" data-category="Homepage Promo Banner" data-label="Events, Main Title" data-action="link"> Events </a> </h3> <div class="devsite-landing-row-item-description-content"> Bringing developers together in-person and online. Stay in the know about upcoming events, catch up on content you missed, and connect with Google experts. </div> <div class="devsite-landing-row-item-buttons"> <a href="https://web.archive.org/web/20210603174441/https://developers.google.com/events" class="button " data-label="Events, See Events" data-category="Homepage Promo Banner">See events</a> </div> </div> </div> </div> <div class="devsite-landing-row-item dgc-programs dgc-programs--community" description-position="bottom"> <div class="devsite-landing-row-item-media "> <figure class="devsite-landing-row-item-image"> <a href="https://web.archive.org/web/20210603174441/https://developers.google.com/community" data-category="Homepage Promo Banner" data-label="Community, Main Title" data-action="link"> <img alt="" src="https://web.archive.org/web/20210603174441im_/https://developers.google.com/site-assets/images/home/card-header-grid.png" srcset="https://web.archive.org/web/20210603174441im_/https://developers.google.com/site-assets/images/home/card-header-grid_36.png 36w, https://web.archive.org/web/20210603174441im_/https://developers.google.com/site-assets/images/home/card-header-grid_48.png 48w, https://web.archive.org/web/20210603174441im_/https://developers.google.com/site-assets/images/home/card-header-grid_72.png 72w, https://web.archive.org/web/20210603174441im_/https://developers.google.com/site-assets/images/home/card-header-grid_96.png 96w, https://web.archive.org/web/20210603174441im_/https://developers.google.com/site-assets/images/home/card-header-grid_480.png 480w, https://web.archive.org/web/20210603174441im_/https://developers.google.com/site-assets/images/home/card-header-grid_720.png 720w, https://web.archive.org/web/20210603174441im_/https://developers.google.com/site-assets/images/home/card-header-grid_856.png 856w, https://web.archive.org/web/20210603174441im_/https://developers.google.com/site-assets/images/home/card-header-grid_960.png 960w, https://web.archive.org/web/20210603174441im_/https://developers.google.com/site-assets/images/home/card-header-grid_1440.png 1440w, https://web.archive.org/web/20210603174441im_/https://developers.google.com/site-assets/images/home/card-header-grid_1920.png 1920w, https://web.archive.org/web/20210603174441im_/https://developers.google.com/site-assets/images/home/card-header-grid_2880.png 2880w" sizes="(max-width: 600px) 100vw, (max-width: 840px) 50vw, 708px" loading="lazy"> </a> </figure> </div> <div class="devsite-landing-row-item-description"> <div class="devsite-landing-row-item-body"> <h3 id="community" data-text="Community" class="hide-from-toc no-link" tabindex="0"> <a href="https://web.archive.org/web/20210603174441/https://developers.google.com/community" data-category="Homepage Promo Banner" data-label="Community, Main Title" data-action="link"> Community </a> </h3> <div class="devsite-landing-row-item-description-content"> Connect with fellow developers and startups in your area, hear from industry experts, share your skills, and learn new ones. </div> <div class="devsite-landing-row-item-buttons"> <a href="https://web.archive.org/web/20210603174441/https://developers.google.com/community" class="button " data-label="Community, Find community" data-category="Homepage Promo Banner">Find community</a> </div> </div> </div> </div> </div> </div> </section> <section class="devsite-landing-row devsite-landing-row-4-up devsite-landing-row-cards devsite-landing-row-header-centered" background="/web/20210603174441im_/https://developers.google.com/grey" header-position="top"> <div class="devsite-landing-row-inner"> <header class="devsite-landing-row-header"> <div class="devsite-landing-row-header-text"> <h2 id="news" data-text="News" tabindex="0"> News </h2> </div> </header> <div class="devsite-landing-row-group"> <div class="devsite-landing-row-item" description-position="bottom"> <div class="devsite-landing-row-item-media "> <figure class="devsite-landing-row-item-custom-image"> <div class="devsite-landing-row-item-custom-image-icon-wrapper"> <a href="https://web.archive.org/web/20210603174441/https://developers.google.com/learn/topics/on-device-ml" data-category="Homepage Promo Banner" data-label="Get started with Google On-Device ML, Main title" data-action="link"> <div class="devsite-landing-row-item-custom-image-icon-container" size="medium"> <img class="devsite-landing-row-item-custom-image-icon" alt="" src="https://web.archive.org/web/20210603174441im_/https://developers.google.com/site-assets/images/news/odml_logo.png" srcset="https://web.archive.org/web/20210603174441im_/https://developers.google.com/site-assets/images/news/odml_logo_36.png 36w, https://web.archive.org/web/20210603174441im_/https://developers.google.com/site-assets/images/news/odml_logo_48.png 48w, https://web.archive.org/web/20210603174441im_/https://developers.google.com/site-assets/images/news/odml_logo_72.png 72w, https://web.archive.org/web/20210603174441im_/https://developers.google.com/site-assets/images/news/odml_logo_96.png 96w, https://web.archive.org/web/20210603174441im_/https://developers.google.com/site-assets/images/news/odml_logo_480.png 480w, https://web.archive.org/web/20210603174441im_/https://developers.google.com/site-assets/images/news/odml_logo_720.png 720w, https://web.archive.org/web/20210603174441im_/https://developers.google.com/site-assets/images/news/odml_logo_856.png 856w, https://web.archive.org/web/20210603174441im_/https://developers.google.com/site-assets/images/news/odml_logo_960.png 960w, https://web.archive.org/web/20210603174441im_/https://developers.google.com/site-assets/images/news/odml_logo_1440.png 1440w, https://web.archive.org/web/20210603174441im_/https://developers.google.com/site-assets/images/news/odml_logo_1920.png 1920w, https://web.archive.org/web/20210603174441im_/https://developers.google.com/site-assets/images/news/odml_logo_2880.png 2880w" sizes="192px" loading="lazy"> </div> </a> </div> </figure> </div> <div class="devsite-landing-row-item-description"> <div class="devsite-landing-row-item-body"> <h3 id="get-started-with-google-on-device-ml" data-text="Get started with Google On-Device ML" class="hide-from-toc no-link" tabindex="0"> <a href="https://web.archive.org/web/20210603174441/https://developers.google.com/learn/topics/on-device-ml" data-category="Homepage Promo Banner" data-label="Get started with Google On-Device ML, Main title" data-action="link"> Get started with Google On-Device ML </a> </h3> <div class="devsite-landing-row-item-description-content"> We've launched a new site dedicated to on-device machine learning. It explains why you should care about running on-device ML, gives a clear overview of Google's solutions and tools, and helps you to quickly get started in your own apps. </div> <div class="devsite-landing-row-item-buttons"> <a href="https://web.archive.org/web/20210603174441/https://developers.google.com/learn/topics/on-device-ml" class="button button-white " data-category="Homepage Promo Banner" data-label="Get started with Google On-Device ML, Learn more" data-action="button">Learn more</a> </div> </div> </div> </div> <div class="devsite-landing-row-item" description-position="bottom"> <div class="devsite-landing-row-item-media "> <figure class="devsite-landing-row-item-custom-image"> <div class="devsite-landing-row-item-custom-image-icon-wrapper"> <a href="https://web.archive.org/web/20210603174441/https://docs.google.com/forms/d/1NPm1B6Xp5Bt9VwchFl5YOUnJrf7uJwcJI7qw8o9TUfs/edit?gxids=7826" data-category="Homepage Promo Banner" data-label="Amplifying the Black+ developer community, Main title" data-action="link"> <div class="devsite-landing-row-item-custom-image-icon-container" size="medium"> <img class="devsite-landing-row-item-custom-image-icon" alt="" src="https://web.archive.org/web/20210603174441im_/https://developers.google.com/site-assets/images/home/google_developers_logo.png" srcset="https://web.archive.org/web/20210603174441im_/https://developers.google.com/site-assets/images/home/google_developers_logo_36.png 36w, https://web.archive.org/web/20210603174441im_/https://developers.google.com/site-assets/images/home/google_developers_logo_48.png 48w, https://web.archive.org/web/20210603174441im_/https://developers.google.com/site-assets/images/home/google_developers_logo_72.png 72w, https://web.archive.org/web/20210603174441im_/https://developers.google.com/site-assets/images/home/google_developers_logo_96.png 96w, https://web.archive.org/web/20210603174441im_/https://developers.google.com/site-assets/images/home/google_developers_logo_480.png 480w, https://web.archive.org/web/20210603174441im_/https://developers.google.com/site-assets/images/home/google_developers_logo_720.png 720w, https://web.archive.org/web/20210603174441im_/https://developers.google.com/site-assets/images/home/google_developers_logo_856.png 856w, https://web.archive.org/web/20210603174441im_/https://developers.google.com/site-assets/images/home/google_developers_logo_960.png 960w, https://web.archive.org/web/20210603174441im_/https://developers.google.com/site-assets/images/home/google_developers_logo_1440.png 1440w, https://web.archive.org/web/20210603174441im_/https://developers.google.com/site-assets/images/home/google_developers_logo_1920.png 1920w, https://web.archive.org/web/20210603174441im_/https://developers.google.com/site-assets/images/home/google_developers_logo_2880.png 2880w" sizes="192px" loading="lazy"> </div> </a> </div> </figure> </div> <div class="devsite-landing-row-item-description"> <div class="devsite-landing-row-item-body"> <h3 id="amplifying-the-black-developer-community" data-text="Amplifying the Black+ developer community" class="hide-from-toc no-link" tabindex="0"> <a href="https://web.archive.org/web/20210603174441/https://docs.google.com/forms/d/1NPm1B6Xp5Bt9VwchFl5YOUnJrf7uJwcJI7qw8o9TUfs/edit?gxids=7826" data-category="Homepage Promo Banner" data-label="Amplifying the Black+ developer community, Main title" data-action="link"> Amplifying the Black+ developer community </a> </h3> <div class="devsite-landing-row-item-description-content"> Black developers are contributing important work to the world. We’re dedicating space to highlight what you’re making with Google technology. Submit to be considered in the Google Developers newsletter. </div> <div class="devsite-landing-row-item-buttons"> <a href="https://web.archive.org/web/20210603174441/https://docs.google.com/forms/d/1NPm1B6Xp5Bt9VwchFl5YOUnJrf7uJwcJI7qw8o9TUfs/edit?gxids=7826" class="button button-white " data-category="Homepage Promo Banner" data-action="button" data-label="Amplifying the Black+ developer community, Submit your work">Submit your work</a> </div> </div> </div> </div> <div class="devsite-landing-row-item" description-position="bottom"> <div class="devsite-landing-row-item-media "> <figure class="devsite-landing-row-item-custom-image"> <div class="devsite-landing-row-item-custom-image-icon-wrapper"> <a href="https://web.archive.org/web/20210603174441/https://events.flutter.dev/" data-category="Homepage Promo Banner" data-label="Flutter 2 is here, Main title" data-action="link"> <div class="devsite-landing-row-item-custom-image-icon-container" size="medium"> <img class="devsite-landing-row-item-custom-image-icon" alt="" src="//web.archive.org/web/20210603174441im_/https://www.gstatic.com/images/branding/product/2x/flutter_96dp.png" srcset="" sizes="192px" loading="lazy"> </div> </a> </div> </figure> </div> <div class="devsite-landing-row-item-description"> <div class="devsite-landing-row-item-body"> <h3 id="flutter-2-is-here" data-text="Flutter 2 is here" class="hide-from-toc no-link" tabindex="0"> <a href="https://web.archive.org/web/20210603174441/https://events.flutter.dev/" data-category="Homepage Promo Banner" data-label="Flutter 2 is here, Main title" data-action="link"> Flutter 2 is here </a> </h3> <div class="devsite-landing-row-item-description-content"> <br> Flutter 2 is a major upgrade to the framework that enables developers to ship native apps to mobile, web, and desktop devices. </div> <div class="devsite-landing-row-item-buttons"> <a href="https://web.archive.org/web/20210603174441/https://events.flutter.dev/" class="button button-white " data-label="Flutter 2 is here, Learn more" data-action="button" data-category="Homepage Promo Banner">Learn more</a> </div> </div> </div> </div> <div class="devsite-landing-row-item" description-position="bottom"> <div class="devsite-landing-row-item-media "> <figure class="devsite-landing-row-item-custom-image"> <div class="devsite-landing-row-item-custom-image-icon-wrapper"> <a href="https://web.archive.org/web/20210603174441/https://goo.gle/gdsc-leads" data-category="Homepage Promo Banner" data-label="Google Developer Student Club Leads, Main title" data-action="link"> <div class="devsite-landing-row-item-custom-image-icon-container" size="medium"> <img class="devsite-landing-row-item-custom-image-icon" alt="" src="https://web.archive.org/web/20210603174441im_/https://developers.google.com/site-assets/images/news/gdev-dsc-leads.svg" srcset="" sizes="192px" loading="lazy"> </div> </a> </div> </figure> </div> <div class="devsite-landing-row-item-description"> <div class="devsite-landing-row-item-body"> <h3 id="google-developer-student-club-leads" data-text="Google Developer Student Club Leads" class="hide-from-toc no-link" tabindex="0"> <a href="https://web.archive.org/web/20210603174441/https://goo.gle/gdsc-leads" data-category="Homepage Promo Banner" data-label="Google Developer Student Club Leads, Main title" data-action="link"> Google Developer Student Club Leads </a> </h3> <div class="devsite-landing-row-item-description-content"> Apply to become a lead at your university in '21-'22 and gain valuable mentorship from Google. Join a global community of leaders, help fellow students grow, learn to build solutions together, and more. </div> <div class="devsite-landing-row-item-buttons"> <a href="https://web.archive.org/web/20210603174441/https://goo.gle/gdsc-leads" class="button button-white " data-action="button" data-label="Google Developer Student Club Leads, Apply here" data-category="Homepage Promo Banner">Apply here</a> </div> </div> </div> </div> <div class="devsite-landing-row-item" description-position="bottom"> <div class="devsite-landing-row-item-media "> <figure class="devsite-landing-row-item-custom-image"> <div class="devsite-landing-row-item-custom-image-icon-wrapper"> <a href="https://web.archive.org/web/20210603174441/https://play.google.com/console/about/io2021/" data-category="Homepage Promo Banner" data-label="Updates in Play Console, Main title" data-action="link"> <div class="devsite-landing-row-item-custom-image-icon-container" size="medium"> <img class="devsite-landing-row-item-custom-image-icon" alt="" src="https://web.archive.org/web/20210603174441im_/https://developers.google.com/site-assets/images/news/play_logo.png" srcset="https://web.archive.org/web/20210603174441im_/https://developers.google.com/site-assets/images/news/play_logo_36.png 36w, https://web.archive.org/web/20210603174441im_/https://developers.google.com/site-assets/images/news/play_logo_48.png 48w, https://web.archive.org/web/20210603174441im_/https://developers.google.com/site-assets/images/news/play_logo_72.png 72w, https://web.archive.org/web/20210603174441im_/https://developers.google.com/site-assets/images/news/play_logo_96.png 96w, https://web.archive.org/web/20210603174441im_/https://developers.google.com/site-assets/images/news/play_logo_480.png 480w, https://web.archive.org/web/20210603174441im_/https://developers.google.com/site-assets/images/news/play_logo_720.png 720w, https://web.archive.org/web/20210603174441im_/https://developers.google.com/site-assets/images/news/play_logo_856.png 856w, https://web.archive.org/web/20210603174441im_/https://developers.google.com/site-assets/images/news/play_logo_960.png 960w, https://web.archive.org/web/20210603174441im_/https://developers.google.com/site-assets/images/news/play_logo_1440.png 1440w, https://web.archive.org/web/20210603174441im_/https://developers.google.com/site-assets/images/news/play_logo_1920.png 1920w, https://web.archive.org/web/20210603174441im_/https://developers.google.com/site-assets/images/news/play_logo_2880.png 2880w" sizes="192px" loading="lazy"> </div> </a> </div> </figure> </div> <div class="devsite-landing-row-item-description"> <div class="devsite-landing-row-item-body"> <h3 id="whats-new-in-google-play" data-text="What's new in Google Play" class="hide-from-toc no-link" tabindex="0"> <a href="https://web.archive.org/web/20210603174441/https://play.google.com/console/about/io2021/" data-category="Homepage Promo Banner" data-label="Updates in Play Console, Main title" data-action="link"> What's new in Google Play </a> </h3> <div class="devsite-landing-row-item-description-content"> Get the latest announcements from Google I/O and learn how our platform can help you grow your business, drive more installs, increase your engagement and revenue, and more. </div> <div class="devsite-landing-row-item-buttons"> <a href="https://web.archive.org/web/20210603174441/https://play.google.com/console/about/io2021/" class="button button-white " data-action="button" data-label="Updates in Play Console, Learn more" data-category="Homepage Promo Banner">Learn more</a> </div> </div> </div> </div> <div class="devsite-landing-row-item" description-position="bottom"> <div class="devsite-landing-row-item-media "> <figure class="devsite-landing-row-item-custom-image"> <div class="devsite-landing-row-item-custom-image-icon-wrapper"> <a href="https://web.archive.org/web/20210603174441/https://www.youtube.com/watch?v=qKkjCQlS1g4" data-category="Homepage Promo Banner" data-label="Whats new in Machine Learning, Main title" data-action="link"> <div class="devsite-landing-row-item-custom-image-icon-container" size="medium"> <img class="devsite-landing-row-item-custom-image-icon" alt="" src="https://web.archive.org/web/20210603174441im_/https://developers.google.com/site-assets/images/products/tensorflow-logo-196.png" srcset="https://web.archive.org/web/20210603174441im_/https://developers.google.com/site-assets/images/products/tensorflow-logo-196_36.png 36w, https://web.archive.org/web/20210603174441im_/https://developers.google.com/site-assets/images/products/tensorflow-logo-196_48.png 48w, https://web.archive.org/web/20210603174441im_/https://developers.google.com/site-assets/images/products/tensorflow-logo-196_72.png 72w, https://web.archive.org/web/20210603174441im_/https://developers.google.com/site-assets/images/products/tensorflow-logo-196_96.png 96w, https://web.archive.org/web/20210603174441im_/https://developers.google.com/site-assets/images/products/tensorflow-logo-196_480.png 480w, https://web.archive.org/web/20210603174441im_/https://developers.google.com/site-assets/images/products/tensorflow-logo-196_720.png 720w, https://web.archive.org/web/20210603174441im_/https://developers.google.com/site-assets/images/products/tensorflow-logo-196_856.png 856w, https://web.archive.org/web/20210603174441im_/https://developers.google.com/site-assets/images/products/tensorflow-logo-196_960.png 960w, https://web.archive.org/web/20210603174441im_/https://developers.google.com/site-assets/images/products/tensorflow-logo-196_1440.png 1440w, https://web.archive.org/web/20210603174441im_/https://developers.google.com/site-assets/images/products/tensorflow-logo-196_1920.png 1920w, https://web.archive.org/web/20210603174441im_/https://developers.google.com/site-assets/images/products/tensorflow-logo-196_2880.png 2880w" sizes="192px" loading="lazy"> </div> </a> </div> </figure> </div> <div class="devsite-landing-row-item-description"> <div class="devsite-landing-row-item-body"> <h3 id="whats-new-in-machine-learning" data-text="What's new in Machine Learning" class="hide-from-toc no-link" tabindex="0"> <a href="https://web.archive.org/web/20210603174441/https://www.youtube.com/watch?v=qKkjCQlS1g4" data-category="Homepage Promo Banner" data-label="Whats new in Machine Learning, Main title" data-action="link"> What's new in Machine Learning </a> </h3> <div class="devsite-landing-row-item-description-content"> Learn about the latest and greatest in machine learning (ML) from Google! We cover what’s available to developers when it comes to creating, understanding, and deploying models for a variety of different applications. From Responsible AI to TensorFlow 2.5, mobile devices, microcontrollers, and beyond. </div> <div class="devsite-landing-row-item-buttons"> <a href="https://web.archive.org/web/20210603174441/https://www.youtube.com/watch?v=qKkjCQlS1g4" class="button button-white " data-category="Homepage Promo Banner" data-action="button" data-label="Whats new in Machine Learning, Learn more">Learn more</a> </div> </div> </div> </div> <div class="devsite-landing-row-item" description-position="bottom"> <div class="devsite-landing-row-item-media "> <figure class="devsite-landing-row-item-custom-image"> <div class="devsite-landing-row-item-custom-image-icon-wrapper"> <a href="https://web.archive.org/web/20210603174441/https://developers.google.com/maps" data-category="Homepage Promo Banner" data-label="New on Google Maps Platform, Main title" data-action="link"> <div class="devsite-landing-row-item-custom-image-icon-container" size="medium"> <img class="devsite-landing-row-item-custom-image-icon" alt="" src="https://web.archive.org/web/20210603174441im_/https://www.gstatic.com/images/branding/product/2x/maps_64dp.png" srcset="" sizes="192px" loading="lazy"> </div> </a> </div> </figure> </div> <div class="devsite-landing-row-item-description"> <div class="devsite-landing-row-item-body"> <h3 id="see-whats-new-on-google-maps-platform" data-text="See what's new on Google Maps Platform" class="hide-from-toc no-link" tabindex="0"> <a href="https://web.archive.org/web/20210603174441/https://developers.google.com/maps" data-category="Homepage Promo Banner" data-label="New on Google Maps Platform, Main title" data-action="link"> See what's new on Google Maps Platform </a> </h3> <div class="devsite-landing-row-item-description-content"> We've redesigned the developer site to make it easier to find everything you need to build apps with Maps, Routes, and Places features from Google Maps Platform. Discover news, tutorials, videos, support, and more. </div> <div class="devsite-landing-row-item-buttons"> <a href="https://web.archive.org/web/20210603174441/https://developers.google.com/maps" class="button button-white " data-action="button" data-label="New on Google Maps Platform, Visit site" data-category="Homepage Promo Banner">Visit site</a> </div> </div> </div> </div> <div class="devsite-landing-row-item" description-position="bottom"> <div class="devsite-landing-row-item-media "> <figure class="devsite-landing-row-item-custom-image"> <div class="devsite-landing-row-item-custom-image-icon-wrapper"> <a href="https://web.archive.org/web/20210603174441/https://blog.golang.org/go1.16" data-category="Homepage Promo Banner" data-label="Boost Developer Productivity with Go, Main Title" data-action="link"> <div class="devsite-landing-row-item-custom-image-icon-container" size="medium"> <img class="devsite-landing-row-item-custom-image-icon" alt="" src="https://web.archive.org/web/20210603174441im_/https://developers.google.com/site-assets/images/news/go-logo.png" srcset="https://web.archive.org/web/20210603174441im_/https://developers.google.com/site-assets/images/news/go-logo_36.png 36w, https://web.archive.org/web/20210603174441im_/https://developers.google.com/site-assets/images/news/go-logo_48.png 48w, https://web.archive.org/web/20210603174441im_/https://developers.google.com/site-assets/images/news/go-logo_72.png 72w, https://web.archive.org/web/20210603174441im_/https://developers.google.com/site-assets/images/news/go-logo_96.png 96w, https://web.archive.org/web/20210603174441im_/https://developers.google.com/site-assets/images/news/go-logo_480.png 480w, https://web.archive.org/web/20210603174441im_/https://developers.google.com/site-assets/images/news/go-logo_720.png 720w, https://web.archive.org/web/20210603174441im_/https://developers.google.com/site-assets/images/news/go-logo_856.png 856w, https://web.archive.org/web/20210603174441im_/https://developers.google.com/site-assets/images/news/go-logo_960.png 960w, https://web.archive.org/web/20210603174441im_/https://developers.google.com/site-assets/images/news/go-logo_1440.png 1440w, https://web.archive.org/web/20210603174441im_/https://developers.google.com/site-assets/images/news/go-logo_1920.png 1920w, https://web.archive.org/web/20210603174441im_/https://developers.google.com/site-assets/images/news/go-logo_2880.png 2880w" sizes="192px" loading="lazy"> </div> </a> </div> </figure> </div> <div class="devsite-landing-row-item-description"> <div class="devsite-landing-row-item-body"> <h3 id="boost-developer-productivity-with-go-116" data-text="Boost Developer Productivity with Go 1.16" class="hide-from-toc no-link" tabindex="0"> <a href="https://web.archive.org/web/20210603174441/https://blog.golang.org/go1.16" data-category="Homepage Promo Banner" data-label="Boost Developer Productivity with Go, Main Title" data-action="link"> Boost Developer Productivity with Go 1.16 </a> </h3> <div class="devsite-landing-row-item-description-content"> The latest release of the Go programming language brings improvements to the linker for reduced memory consumption and binary sizes, a new embedded file system to speed up development, support for arm64 on macOS, and more. </div> <div class="devsite-landing-row-item-buttons"> <a href="https://web.archive.org/web/20210603174441/https://blog.golang.org/go1.16" class="button button-white " data-action="button" data-category="Homepage Promo Banner" data-label="Boost Developer Productivity with Go, Learn more">Learn more</a> </div> </div> </div> </div> </div> </div> </section> <section class="devsite-landing-row devsite-landing-row-1-up devsite-landing-row-header-centered" header-position="top"> <div class="devsite-landing-row-inner"> <header class="devsite-landing-row-header"> <div class="devsite-landing-row-header-text"> <h2 id="find-a-google-developer-expert" data-text="Find a Google developer expert" tabindex="0"> Find a Google developer expert </h2> <div class="devsite-landing-row-description"> Browse our directory of developer experts who have been recognized by Google for their depth of tech knowledge and skills. </div> </div> <div class="devsite-landing-row-header-buttons"> <a href="https://web.archive.org/web/20210603174441/https://developers.google.com/community/experts/directory" class="button " data-label="Find a Google Developers Expert" data-category="Homepage Google Developers Expert">View all developer experts</a> </div> </header> </div> </section> <section class="devsite-landing-row devsite-landing-row-1-up" header-position="top"> <div class="devsite-landing-row-inner"> <div class="devsite-landing-row-html"> <devsite-iframe><iframe src="/web/20210603174441if_/https://developers.google.com/root_cc8fea3dd2b41a6915695a668f743dc3f8935ae68c45d424519f3f7899a62307.frame" class="framebox inherit-locale devsite-directory" allowfullscreen is-upgraded></iframe></devsite-iframe> </div> </div> </section> </div> </article> </devsite-content> </main> <devsite-footer-promos class="devsite-footer"> </devsite-footer-promos> <devsite-footer-linkboxes class="devsite-footer"> <nav class="devsite-footer-linkboxes nocontent" aria-label="Footer links"> <ul class="devsite-footer-linkboxes-list"> <li class="devsite-footer-linkbox "> <h3 class="devsite-footer-linkbox-heading no-link">Connect</h3> <ul class="devsite-footer-linkbox-list"> <li class="devsite-footer-linkbox-item"> <a href="//web.archive.org/web/20210603174441/https://googledevelopers.blogspot.com/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 1)"> Blog </a> </li> <li class="devsite-footer-linkbox-item"> <a href="//web.archive.org/web/20210603174441/https://www.facebook.com/Google-Developers-967415219957038" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 2)"> Facebook </a> </li> <li class="devsite-footer-linkbox-item"> <a href="//web.archive.org/web/20210603174441/https://medium.com/google-developers" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 3)"> Medium </a> </li> <li class="devsite-footer-linkbox-item"> <a href="//web.archive.org/web/20210603174441/https://twitter.com/googledevs" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 4)"> Twitter </a> </li> <li class="devsite-footer-linkbox-item"> <a href="//web.archive.org/web/20210603174441/https://www.youtube.com/user/GoogleDevelopers" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 5)"> YouTube </a> </li> </ul> </li> <li class="devsite-footer-linkbox "> <h3 class="devsite-footer-linkbox-heading no-link">Programs</h3> <ul class="devsite-footer-linkbox-list"> <li class="devsite-footer-linkbox-item"> <a href="//web.archive.org/web/20210603174441/https://www.womentechmakers.com/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 1)"> Women Techmakers </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/web/20210603174441/https://developers.google.com/community/gdg" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 2)"> Google Developer Groups </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/web/20210603174441/https://developers.google.com/community/experts" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 3)"> Google Developers Experts </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/web/20210603174441/https://developers.google.com/community/accelerators" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 4)"> Accelerators </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/web/20210603174441/https://developers.google.com/community/dsc" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 5)"> Developer Student Clubs </a> </li> </ul> </li> <li class="devsite-footer-linkbox "> <h3 class="devsite-footer-linkbox-heading no-link">Developer consoles</h3> <ul class="devsite-footer-linkbox-list"> <li class="devsite-footer-linkbox-item"> <a href="//web.archive.org/web/20210603174441/https://console.developers.google.com/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 1)"> Google API Console </a> </li> <li class="devsite-footer-linkbox-item"> <a href="//web.archive.org/web/20210603174441/https://console.cloud.google.com/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 2)"> Google Cloud Platform Console </a> </li> <li class="devsite-footer-linkbox-item"> <a href="//web.archive.org/web/20210603174441/https://play.google.com/apps/publish" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 3)"> Google Play Console </a> </li> <li class="devsite-footer-linkbox-item"> <a href="//web.archive.org/web/20210603174441/https://console.firebase.google.com/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 4)"> Firebase Console </a> </li> <li class="devsite-footer-linkbox-item"> <a href="//web.archive.org/web/20210603174441/https://console.actions.google.com/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 5)"> Actions on Google Console </a> </li> <li class="devsite-footer-linkbox-item"> <a href="//web.archive.org/web/20210603174441/https://cast.google.com/publish" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 6)"> Cast SDK Developer Console </a> </li> <li class="devsite-footer-linkbox-item"> <a href="//web.archive.org/web/20210603174441/https://chrome.google.com/webstore/developer/dashboard" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 7)"> Chrome Web Store Dashboard </a> </li> </ul> </li> </ul> </nav> </devsite-footer-linkboxes> <devsite-footer-utility class="devsite-footer"> <div class="devsite-footer-utility nocontent"> <nav class="devsite-footer-sites" aria-label="Other Google Developers websites"> <a href="https://web.archive.org/web/20210603174441/https://developers.google.com/" class="devsite-footer-sites-logo-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Google Developers Link"> <img class="devsite-footer-sites-logo" src="https://web.archive.org/web/20210603174441im_/https://www.gstatic.com/devrel-devsite/prod/v702c60b70d68da067f4d656556a48e4ab1cf14be10bb79e46f353f3fdfe8505d/developers/images/lockup-developers.svg" loading="lazy" alt="Google Developers"> </a> <ul class="devsite-footer-sites-list"> <li class="devsite-footer-sites-item"> <a href="//web.archive.org/web/20210603174441/https://developer.android.com/" class="devsite-footer-sites-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Android Link"> Android </a> </li> <li class="devsite-footer-sites-item"> <a href="//web.archive.org/web/20210603174441/https://developer.chrome.com/home" class="devsite-footer-sites-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Chrome Link"> Chrome </a> </li> <li class="devsite-footer-sites-item"> <a href="//web.archive.org/web/20210603174441/https://firebase.google.com/" class="devsite-footer-sites-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Firebase Link"> Firebase </a> </li> <li class="devsite-footer-sites-item"> <a href="//web.archive.org/web/20210603174441/https://cloud.google.com/" class="devsite-footer-sites-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Google Cloud Platform Link"> Google Cloud Platform </a> </li> <li class="devsite-footer-sites-item"> <a href="/web/20210603174441/https://developers.google.com/products" class="devsite-footer-sites-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer All products Link"> All products </a> </li> </ul> </nav> <nav class="devsite-footer-utility-links" aria-label="Utility links"> <ul class="devsite-footer-utility-list"> <li class="devsite-footer-utility-item "> <a class="devsite-footer-utility-link gc-analytics-event" href="/web/20210603174441/https://developers.google.com/terms/site-terms" data-category="Site-Wide Custom Events" data-label="Footer Terms link"> Terms </a> </li> <li class="devsite-footer-utility-item "> <a class="devsite-footer-utility-link gc-analytics-event" href="//web.archive.org/web/20210603174441/https://policies.google.com/privacy" data-category="Site-Wide Custom Events" data-label="Footer Privacy link"> Privacy </a> </li> <li class="devsite-footer-utility-item devsite-footer-utility-button"> <span class="devsite-footer-utility-description">Sign up for the Google Developers newsletter</span> <a class="devsite-footer-utility-link gc-analytics-event" href="//web.archive.org/web/20210603174441/https://services.google.com/fb/forms/googledevelopersnewsletter/?utm_medium=referral&utm_source=google-products&utm_team=googledevs&utm_campaign=201611-newsletter-launch" data-category="Site-Wide Custom Events" data-label="Footer Subscribe link"> Subscribe </a> </li> </ul> <devsite-language-selector> <devsite-select class="devsite-language-selector-menu"> <select aria-label="Select your language preference." class="devsite-language-selector-select" name="language" track-name="click" track-type="languageSelector"> <option>Language</option> <option value="en" lang="en" track-metadata-original-language="en" track-metadata-selected-language="en" track-name="changed" track-type="languageSelector"> English </option> <option value="id" lang="id" track-metadata-original-language="en" track-metadata-selected-language="id" track-name="changed" track-type="languageSelector"> Bahasa Indonesia </option> <option value="de" lang="de" track-metadata-original-language="en" track-metadata-selected-language="de" track-name="changed" track-type="languageSelector"> Deutsch </option> <option value="es" lang="es" track-metadata-original-language="en" track-metadata-selected-language="es" track-name="changed" track-type="languageSelector"> Español </option> <option value="fr" lang="fr" track-metadata-original-language="en" track-metadata-selected-language="fr" track-name="changed" track-type="languageSelector"> Français </option> <option value="pt_br" lang="pt_br" track-metadata-original-language="en" track-metadata-selected-language="pt_br" track-name="changed" track-type="languageSelector"> Português – Brasil </option> <option value="ru" lang="ru" track-metadata-original-language="en" track-metadata-selected-language="ru" track-name="changed" track-type="languageSelector"> Русский </option> <option value="zh_cn" lang="zh_cn" track-metadata-original-language="en" track-metadata-selected-language="zh_cn" track-name="changed" track-type="languageSelector"> 中文 – 简体 </option> <option value="ja" lang="ja" track-metadata-original-language="en" track-metadata-selected-language="ja" track-name="changed" track-type="languageSelector"> 日本語 </option> <option value="ko" lang="ko" track-metadata-original-language="en" track-metadata-selected-language="ko" track-name="changed" track-type="languageSelector"> 한국어 </option> </select> </devsite-select> </devsite-language-selector> </nav> </div> </devsite-footer-utility> </section></section> <devsite-sitemask></devsite-sitemask> <devsite-snackbar></devsite-snackbar> <devsite-tooltip></devsite-tooltip> <devsite-heading-link></devsite-heading-link> <devsite-analytics enable-analytics-iframe> <script type="application/json" analytics>[{"gaid": "UA-24532603-1", "dimensions": {"dimension3": false, "dimension11": false, "dimension4": "Google Developers", "dimension1": "Signed out", "dimension8": null, "dimension5": "en", "dimension6": "en"}, "metrics": {"ratings_count": "metric2", "ratings_value": "metric1"}}]</script> <script type="application/json" gtm>{"parameters": {"freeTrialEligibleUser": "False", "internalUser": "False", "language": {"machineTranslated": "False", "requested": "en", "served": "en"}, "pageType": "landing", "projectName": "Google Developers", "scriptsafe": null, "signedIn": "False", "tenant": "developers", "recommendations": {"sourcePage": "", "sourceType": 0, "sourceRank": 0, "sourceIdenticalDescriptions": 0, "sourceTitleWords": 0, "sourceDescriptionWords": 0, "experiment": ""}}}</script> </devsite-analytics> <devsite-badger></devsite-badger> <script nonce="HZ4HDIbBHTh4tzr6aZ3Q1Iq6dZEjXN"> (function(d,e,v,s,i,t,E){d['GoogleDevelopersObject']=i; t=e.createElement(v);t.async=1;t.src=s;E=e.getElementsByTagName(v)[0]; E.parentNode.insertBefore(t,E);})(window, document, 'script', 'https://web.archive.org/web/20210603174441/https://www.gstatic.com/devrel-devsite/prod/v702c60b70d68da067f4d656556a48e4ab1cf14be10bb79e46f353f3fdfe8505d/developers/js/app_loader.js', '[1,"en",null,"/js/devsite_app_module.js","https://web.archive.org/web/20210603174441/https://www.gstatic.com/devrel-devsite/prod/v702c60b70d68da067f4d656556a48e4ab1cf14be10bb79e46f353f3fdfe8505d","https://web.archive.org/web/20210603174441/https://www.gstatic.com/devrel-devsite/prod/v702c60b70d68da067f4d656556a48e4ab1cf14be10bb79e46f353f3fdfe8505d/developers","https://web.archive.org/web/20210603174441/https://developers-dot-devsite-v2-prod.appspot.com",1,null,["/_pwa/developers/manifest.json","https://web.archive.org/web/20210603174441/https://www.gstatic.com/devrel-devsite/prod/v702c60b70d68da067f4d656556a48e4ab1cf14be10bb79e46f353f3fdfe8505d/images/video-placeholder.svg","https://web.archive.org/web/20210603174441/https://www.gstatic.com/devrel-devsite/prod/v702c60b70d68da067f4d656556a48e4ab1cf14be10bb79e46f353f3fdfe8505d/developers/images/favicon.png","https://web.archive.org/web/20210603174441/https://www.gstatic.com/devrel-devsite/prod/v702c60b70d68da067f4d656556a48e4ab1cf14be10bb79e46f353f3fdfe8505d/developers/images/lockup.svg","https://web.archive.org/web/20210603174441/https://fonts.googleapis.com/css?family=Google+Sans:400,500|Roboto:400,400italic,500,500italic,700,700italic|Roboto+Mono:400,500,700|Material+Icons"],1,null,[1,6,8,12,14,17,21,25,40,45,50,63,70,75,76,80,87,88,91,92,93,97,98,100,101,102,103,105,107,108,111,112,113,115,117,118,120,122,123,124,125,127,129,131,132,133,134,135,136,145],"AIzaSyAP-jjEJBzmIyKR4F-3XITp8yM9T1gEEI8","AIzaSyB6xiKGDR5O3Ak2okS4rLkauxGUG7XP0hg"]') </script> <devsite-a11y-announce></devsite-a11y-announce> </body> </html><!-- FILE ARCHIVED ON 17:44:41 Jun 03, 2021 AND RETRIEVED FROM THE INTERNET ARCHIVE ON 07:00:04 Dec 04, 2024. JAVASCRIPT APPENDED BY WAYBACK MACHINE, COPYRIGHT INTERNET ARCHIVE. ALL OTHER CONTENT MAY ALSO BE PROTECTED BY COPYRIGHT (17 U.S.C. SECTION 108(a)(3)). --> <!-- playback timings (ms): captures_list: 0.794 exclusion.robots: 0.038 exclusion.robots.policy: 0.024 esindex: 0.012 cdx.remote: 8.404 LoadShardBlock: 333.195 (6) PetaboxLoader3.datanode: 299.638 (7) load_resource: 248.332 PetaboxLoader3.resolve: 132.944 -->