Blog of our latest news, updates, and stories for developers

Introducing Closure Tools

Thursday, November 5, 2009
Share on Twitter Share on Facebook
Google
Labels: faster web , javascript

75 comments :

  1. David KavanaghNovember 5, 2009 at 10:44 AM

    Very cool. I'll have to see how it can help with my own apps!

    ReplyDelete
    Replies
      Reply
  2. mjrNovember 5, 2009 at 10:55 AM

    Thanks for making these tools available to the world.

    ReplyDelete
    Replies
      Reply
  3. volnetNovember 5, 2009 at 11:04 AM

    It must be a nice one instead of Microsoft Ajax library!

    ReplyDelete
    Replies
      Reply
  4. Vizioz LimitedNovember 5, 2009 at 11:09 AM

    Sounds very cool, look forward to having a play with this and integrating it into an Umbraco project :)

    ReplyDelete
    Replies
      Reply
  5. Rob RussellNovember 5, 2009 at 11:22 AM

    Sounds cool, but please stop taking over commonly used jargon (chrome used to be a term for talking about a part of a browser window and now closure is going to have the same kinds of ambiguity).

    ReplyDelete
    Replies
      Reply
  6. YëcoNovember 5, 2009 at 11:38 AM

    Well... I just can say THANKS!!!

    This tools are a huge help for the community, thanks for making this available to everyone.

    ReplyDelete
    Replies
      Reply
  7. Markus KohlerNovember 5, 2009 at 11:46 AM

    Very cool!

    ReplyDelete
    Replies
      Reply
  8. XavierNovember 5, 2009 at 12:07 PM

    That's awesome guys! Gonna check it out...

    ReplyDelete
    Replies
      Reply
  9. LesNovember 5, 2009 at 12:08 PM

    The Tree demo is not working
    http://closure-library.googlecode.com/svn/trunk/closure/goog/demos/tree/demo.html

    ReplyDelete
    Replies
      Reply
  10. djfroofyNovember 5, 2009 at 12:08 PM

    Holy NIH on possibly the largest scale ever batman! ;)

    ReplyDelete
    Replies
      Reply
  11. Alexander FairleyNovember 5, 2009 at 12:55 PM

    I'm a fanboy too.

    ReplyDelete
    Replies
      Reply
  12. Ben AndersonNovember 5, 2009 at 12:58 PM

    +1 Rob Russell

    "Sounds cool, but please stop taking over commonly used jargon (chrome used to be a term for talking about a part of a browser window and now closure is going to have the same kinds of ambiguity)."

    What's up with the naming?

    ReplyDelete
    Replies
      Reply
  13. bcherryNovember 5, 2009 at 1:21 PM

    All over this. Been looking for a good RTE besides YUI, now I've got an excuse to plug one in and dive into Closure :)

    ReplyDelete
    Replies
      Reply
  14. cs44November 5, 2009 at 1:32 PM

    Loving how "Dojo-like" the API feels. Good stuff!

    ReplyDelete
    Replies
      Reply
  15. Denis SokolovNovember 5, 2009 at 1:37 PM

    I was suprised to read that and very excited to test the tool.

    Finally, I thought, somebody has wrote a very good JS minifier, since it is from Google.

    I run to the tool, run some tests and the results are not... very promising. Even at advanced level of compression, it runs quite behind Dead Edwards's packer.
    (http://dean.edwards.name/packer/)

    Take a look at packer and grab some ideas.
    :)
    Good luck!

    ReplyDelete
    Replies
      Reply
  16. aNovember 5, 2009 at 1:55 PM

    Is the Google JS lib meant to be a replacement for a library like jQuery, or will the two function in harmony? Are there any plans for a translator or translators?

    Obviously the compiler is most effective with Google's library. Is the compiler also effective in optimizing code written for existing libraries like jQuery, prototypejs, scriptaculous, mootools, etc?

    ReplyDelete
    Replies
      Reply
  17. SunnyNovember 5, 2009 at 2:03 PM

    Great news! Now I won't be able to see the source code on the web and learn anymore!

    ReplyDelete
    Replies
      Reply
  18. khurramNovember 5, 2009 at 2:12 PM

    Awesome stuff!

    A few questions regarding GWT vs. Closure -

    1. How does Closure compare to the optimized javascript that is generated by GWT (Google Web Toolkit)?

    2. Does GWT use some form of the Closure Compiler under covers?

    3. Does it makes sense for GWT developers to look at Closure?

    4. Is there any integration planned to make it easy for GWT developers to use Closure widgets and other UI libraries?

    ReplyDelete
    Replies
      Reply
  19. Nam NguyenNovember 5, 2009 at 4:28 PM

    very cool! thanks for this announcement!

    ReplyDelete
    Replies
      Reply
  20. kinglessNovember 5, 2009 at 4:38 PM

    offering a Firefox extension? How about Chrome?

    ReplyDelete
    Replies
      Reply
  21. Ben KeenNovember 5, 2009 at 4:39 PM

    +2 Bob Russell. 'sup with the name? ... very confusing indeed.

    ReplyDelete
    Replies
      Reply
  22. GavinNovember 5, 2009 at 5:20 PM

    Congratulations everybody! Closure is a GREAT library and I'm glad to see it get out in the wild.

    ReplyDelete
    Replies
      Reply
  23. live2hack.infoNovember 5, 2009 at 5:26 PM

    Nothing about Chrome - FireFox + Firebug - best dev&test platform now. :)

    ReplyDelete
    Replies
      Reply
  24. MatthiasNovember 5, 2009 at 6:05 PM

    Funny to see a UI library from Google. While your products and sites are known to be functional and compatible, they are also famous for being among the ugliest from a design and UI perspective.

    ReplyDelete
    Replies
      Reply
  25. edsleyNovember 5, 2009 at 7:02 PM

    good tool to use.

    ReplyDelete
    Replies
      Reply
  26. Carter ColeNovember 5, 2009 at 7:18 PM

    awesome i love all the open source stuff yall are doing blog post to follow on my blog

    ReplyDelete
    Replies
      Reply
  27. ZibboNovember 5, 2009 at 7:56 PM

    @Denis Sokolov :

    I'm sure they're quite aware of Packer.

    While packer is useful for obsfuscation, you do not gain much by the compression. The way it works, using eval and string substitution, exchanges computation time for file size. This gives poor performance where it counts, on netbooks, IE6 or phones.

    Packer is only useful for compression when saving bandwidth is more critical than reducing execution time, i.e. not often.

    ReplyDelete
    Replies
      Reply
  28. Remiz RahnasNovember 5, 2009 at 8:45 PM

    I'm exited to get my hands on it. Google did it again.

    ReplyDelete
    Replies
      Reply
  29. Cedric MiddlebourneNovember 5, 2009 at 10:23 PM

    Thanks for a very useful set of tools and services

    ReplyDelete
    Replies
      Reply
  30. Vishnu AgarwalNovember 5, 2009 at 10:25 PM

    How effective & accurate itz compressor is, if we compare with Yahoo! YUI Compressor [1] which is well tested & always give me good results.

    Any comparison / results / stats will be appreciated.

    Thanks,
    Vishnu

    [1] http://developer.yahoo.com/yui/compressor/

    ReplyDelete
    Replies
      Reply
  31. Emerson4brNovember 6, 2009 at 12:37 AM

    Thanks!

    ReplyDelete
    Replies
      Reply
  32. Satya PrakashNovember 6, 2009 at 1:44 AM

    i have used page-speed and optimized my website according to that.
    but I could not use the javascript profiler in that. I could not understand that. may be I need to give that more time.

    ReplyDelete
    Replies
      Reply
  33. Carlos MartinsNovember 6, 2009 at 2:56 AM

    This will definitely be quite useful! :)

    ReplyDelete
    Replies
      Reply
  34. V SriniNovember 6, 2009 at 2:58 AM

    This is really cool; this would be THE standard tool set for any serious Java Script developer.

    ReplyDelete
    Replies
      Reply
  35. Kir MaximovNovember 6, 2009 at 3:13 AM

    Really cool. Thanks, really.

    ReplyDelete
    Replies
      Reply
  36. Emanuele CiriachiNovember 6, 2009 at 3:53 AM

    Amazing stuff! Gonna test those ASAP - and perhaps I will be using them regularly.

    ReplyDelete
    Replies
      Reply
  37. Denis SokolovNovember 6, 2009 at 4:01 AM

    @Shelby Pratt

    I am sure they are aware of it as well. :)

    Packer is hardly useful for obsfucation, simply because obsfucation is hardly useful for anything at all. :)

    "Packer is only useful for compression when saving bandwidth is more critical than reducing execution time, i.e. not often."
    This statement, while is thoughtful, is hardly substantiated. I am pretty sure, that you, as well as I, have not calculated the exact loss of execution time versus download time the packer provides.
    Obviously, the results may be that the execution time loss is huge. In that case, surely packer is the wrong choice. However, it might be that the time needed to unpack the script is very very short. In that case, 0.5seconds, saved by the size compression really matters and mean, that we choose packer.

    Now, shall we perform real tests on packer'ed code, what do you think? :)
    I'm thinking about writing a test in JS itself, with measuring time to eval('') the packed code vs. google-compiled code.
    However, I am afraid that eval() is not very scientific.

    ReplyDelete
    Replies
      Reply
  38. =)November 6, 2009 at 4:36 AM

    Hello there.
    Yahoo released a similar set of tools long time ago. YSlow, YUI, etc.

    ReplyDelete
    Replies
      Reply
  39. bbeausejNovember 6, 2009 at 5:06 AM

    Thank you so much for releasing this guys!

    ReplyDelete
    Replies
      Reply
  40. Sean ONovember 6, 2009 at 5:59 AM

    @Awef: Others have released similar search engines a long time ago: Yahoo, Excite, Lycos, etc.

    ReplyDelete
    Replies
      Reply
  41. amatesiNovember 6, 2009 at 6:51 AM

    great FOSS addition!

    ReplyDelete
    Replies
      Reply
  42. andyNovember 6, 2009 at 10:43 AM

    Nice work. Looking forward to checking this out!

    ReplyDelete
    Replies
      Reply
  43. GallomimiaNovember 6, 2009 at 12:00 PM

    Big time kudos to google for putting out code for the developers of the world. It's acts like this that make the world of computing and internet a better place.

    ReplyDelete
    Replies
      Reply
  44. Bruno SouzaNovember 6, 2009 at 6:36 PM

    Hell yeah!!!!!
    God bless open source.

    ReplyDelete
    Replies
      Reply
  45. PakornNovember 6, 2009 at 8:09 PM

    Cool!

    ReplyDelete
    Replies
      Reply
  46. Yukio SaitohNovember 7, 2009 at 4:41 AM

    cool' good for dev mania :)

    ReplyDelete
    Replies
      Reply
  47. Luca Greco a.k.a. "rpl"November 7, 2009 at 7:18 AM

    This should raise an compile error, isn't it?

    function hello(name) {
    return
    alert('Hello, ' + name)
    }
    hello('New user');

    Compiled:

    function hello(){}hello("New user");

    ReplyDelete
    Replies
      Reply
  48. HEMANTH GNovember 7, 2009 at 7:51 AM

    Great work and thank you, I'm excited to check these out.

    ReplyDelete
    Replies
      Reply
  49. David BuzattoNovember 7, 2009 at 8:03 AM

    I loved Closure Compiler. I think that is just one thing missing - The option do compress CSS files. I´m using in my project and I'm getting 62,5% of compression in my JS files. It's better than YUI compressor ;)

    ReplyDelete
    Replies
      Reply
  50. nosrednaNovember 7, 2009 at 8:39 AM

    "Take a look at packer and grab some ideas."

    Packer was great for its time, but most have abandoned it for good reason, as it must unpack. That's why minification is now preferred. That's why, for example, jQuery switched from a packed version to a minified version.

    ReplyDelete
    Replies
      Reply
  51. nosrednaNovember 7, 2009 at 8:42 AM

    I am having great luck, except I have a couple scripts which do not work after being compiled on "advanced." These scripts are cool with JSLint and no warnings are given to me by the compiler. Anyone else having similar problems?

    ReplyDelete
    Replies
      Reply
  52. ManuNovember 7, 2009 at 11:09 PM

    Good good.

    But is there a way to compress the entire web-page (HTML+CSS+Javascript)? Many pages on the internet use client-code which are nearly 20-30% extra-sized. You can see unnecessary HTML tags, setting style attributes (CSS) which are default and Javascript which is not so efficient.

    There are tools to compress HTML and now you've a tool to optimize Javascript. But we need something more - something which looks the webpage in a holistic approach and optimizes it.
    If there is a 20% project on those lines, please fund it and build it!

    ReplyDelete
    Replies
      Reply
  53. nimisha mistryNovember 7, 2009 at 11:41 PM

    can i use this for blogger template..
    Science Update

    ReplyDelete
    Replies
      Reply
  54. tsohilNovember 8, 2009 at 9:40 AM

    hmm... this seems to be an another foot of google in the market...

    ReplyDelete
    Replies
      Reply
  55. Suresh BabuNovember 8, 2009 at 10:35 AM

    Lets see how this cool app fits to my needs..

    ReplyDelete
    Replies
      Reply
  56. SatishNovember 9, 2009 at 1:01 AM

    nice stuff. but in a very big API, it may be a problem of code readability.. Apart from that, it is a nice way of doing things writing less code.

    ReplyDelete
    Replies
      Reply
  57. mattymcgNovember 11, 2009 at 9:38 PM

    An alternative view point to the praise that's being heaped here: Google Closure: How Not To Write JavaScript

    ReplyDelete
    Replies
      Reply
  58. drawkNovember 11, 2009 at 11:35 PM

    Please add closure compiled libraries of all the libraries on google ajax apis hosting. Save on some bandwidth for everyone.

    ReplyDelete
    Replies
      Reply
  59. Matteo CaprariNovember 12, 2009 at 3:34 AM

    I had a look at the networking function of closure-library and found it's quite good. I posted my findings at Learning Closure. Ajax with goog.net.*.

    ReplyDelete
    Replies
      Reply
  60. Jordan23ShoesNovember 12, 2009 at 11:49 AM

    ***ATTENTION***

    Make $$$ to sell Exclusive sneakers without spending a dime. GUARANTEED!!! up to 25% commission

    If you use the internet, PLEASE do not overlook this offer :)

    ReplyDelete
    Replies
      Reply
  61. DBJDBJNovember 12, 2009 at 4:21 PM

    Closure compiler was not able to swallow this :

    function X(x,y,z) {
    return {
    a : x , b : y , c : z , total : x + y + z
    }
    }
    var t = X(1,2,3).total ;

    Any ideas ?

    ReplyDelete
    Replies
      Reply
  62. buduNovember 15, 2009 at 1:14 PM

    Is there any plan to make a Google Group or Wiki for Closure Tools. Started experimenting with it, it's awesome, but I have lots of questions. Specifically, what is the best way to organize/get images and stylesheets for ui widget? For now I'm retrieving them directly from the demos, there's surely a better way!

    ReplyDelete
    Replies
      Reply
  63. NabilNovember 16, 2009 at 5:22 AM

    nice! thanks for this announcement!

    ReplyDelete
    Replies
      Reply
  64. YuriNovember 17, 2009 at 2:31 PM

    Google should be able to afford better JavaScript programmers if they are serious about it...

    http://www.sitepoint.com/blogs/2009/11/12/google-closure-how-not-to-write-javascript/

    ReplyDelete
    Replies
      Reply
  65. JeebaNovember 17, 2009 at 3:04 PM

    Well it appears that Dmitry Baranovskiy disagree the way Closures is made, but this is the first version of it, i would think of this like a beta. Certainly this library will not work with unsafe code like undefined = 0 in the global , but Dmitry give those dudes in Google some javascript lessons. Anyway i will test this library in my hobbyist web game http://xeno.iasoftgroup.com

    I use jquery and raphael with no problems on the game, but lets see how Closures perform

    ReplyDelete
    Replies
      Reply
  66. Blogger TesterNovember 18, 2009 at 6:46 AM

    I love jQuery, every time I test it against newest jQuery wins. I'm dowloading Closure now and I promise to test it, the only winner here must be the user.

    ReplyDelete
    Replies
      Reply
  67. hamidNovember 21, 2009 at 11:00 AM

    Thank you for google closure.
    I think the source of this Html file is wrong:
    http://code.google.com/closure/library/samples/notepad2_2.html
    you should include notepad2_2.js into the html file's source.

    ReplyDelete
    Replies
      Reply
  68. EricNovember 23, 2009 at 8:36 AM

    Wow, google should have done this years ago... I love the UI widjets and controls only they are missing a few things like selectable and resizable. I'm sure those will be added in the following versions.

    for people having problems with their scripts after compiling them in advanced mode be sure to look in http://code.google.com/intl/iw/closure/compiler/docs/compilation_levels.html

    And there is the context menu UI widjet missing, but other than that I think it's a great library and will grow into something that is bigger and better.
    It just takes time to get to what JQuery and other libraries have achieved, it took them years, and google is just releasing theirs now to the giant google community.

    I'm going to use some controls in my quest after a complete online OS(Shedokan OS).

    ReplyDelete
    Replies
      Reply
  69. daniel-siagian.co.ccJanuary 1, 2010 at 5:39 PM

    Thanks for sharing.
    I'll try now !

    ReplyDelete
    Replies
      Reply
  70. JineeshSeptember 11, 2010 at 11:32 AM

    Thanks really waiting for this!!, For years.

    ReplyDelete
    Replies
      Reply
  71. paulhombusJanuary 22, 2011 at 12:11 PM

    404 Not Found -
    Closure Library Docs -- (Seriously. Check the docs.)
    - http://closure-library.googlecode.com/svn/trunk/closure/goog/docs/index.html

    ReplyDelete
    Replies
      Reply
  72. Nicolás GSSeptember 20, 2011 at 6:44 AM

    IT SUCKS!!!

    ReplyDelete
    Replies
      Reply
  73. MorganSeptember 24, 2011 at 4:48 AM

    So, does the name "Closure" come from the automatic translation of packages/classes/subclasses into the use of javascript closure?

    ReplyDelete
    Replies
      Reply
  74. Prasanth JayachandranNovember 13, 2011 at 11:33 PM

    looks awesome.. waiting to get hands on..

    ReplyDelete
    Replies
      Reply
  75. JustDoItNovember 18, 2011 at 11:25 AM

    Is there ant task available for this tool?

    ReplyDelete
    Replies
      Reply
Add comment
Load more...

  

Labels


  • .app
  • .dev
  • #AIY
  • #CSEdWeek
  • #devfest18 #devfeststories #gdg #googledevelopers #developers #community
  • #freeandopen
  • #GDC20
  • #GooglePlay #AndroidDevStory #PlayStore #DeveloperConsole #StoreListingExperiments
  • #growwithgoogle
  • #io12
  • #io13
  • #io14
  • #io15
  • #io16
  • #io17
  • #io18
  • #io2012
  • #io2013
  • #io2014
  • +1
  • 20% project
  • 3d
  • 3D face mesh
  • about.com
  • accelerator
  • Access
  • accessibility
  • Account Linking
  • actions
  • Actions Builder
  • Actions console
  • actions on google
  • Actions SDK
  • actionsongoogle
  • activity
  • Administrative APIs
  • AdMob
  • adobe
  • Adobe Creative Cloud
  • Adobe Creative Cloud Libraries
  • Ads
  • adsense
  • advanced
  • advogato
  • AdWords
  • africa
  • agency program
  • agpl
  • AI
  • AI Principles
  • AIY
  • AIY Projects
  • AIYProjects
  • ajax
  • ajax apis
  • ajax search
  • ajax search books news apis
  • Alfred Camera
  • all for good
  • amarok
  • AMP
  • AMP Cache
  • analytics
  • and Assistant
  • android
  • Android App Development
  • Android Developer
  • android developer certification
  • android developers
  • Android Development
  • Android Studio
  • Android Things
  • Android Tools
  • Android TV
  • android wear
  • android11
  • androidstudio
  • animation
  • Announcement
  • announcements
  • apache
  • api
  • API.AI
  • apis
  • apis console
  • apis explorer
  • apis. charts
  • app
  • app design
  • App dev
  • App Development
  • app engine
  • app indexing
  • app indexing api
  • App Invites
  • apple
  • Application Development
  • apps
  • apps script
  • AR
  • ARCore
  • area 120
  • artifact management
  • Artificial Intelligence
  • asia
  • assistant
  • atom publishing protocol
  • Audio
  • augmented faces
  • Augmented images
  • augmented reality
  • australia
  • Auth
  • authentication
  • authsub
  • automatic speech recognition
  • AutoML
  • awards
  • axsjax
  • barcodes
  • beacon
  • beacons
  • Belarus
  • bespin
  • best practices
  • beta
  • bigquery
  • bitcoin
  • Black Consciousness Day
  • Blockly
  • blogger
  • Bluetooth
  • book search
  • books API
  • bootcamp
  • braintree
  • Brazil
  • british english
  • Brotli
  • browser
  • Build Out
  • building ajax apps
  • BuildOut
  • Bulgaria
  • business
  • business console
  • buzz
  • c++
  • Cache
  • caja
  • caldav
  • calendar
  • camino
  • campfire one
  • caption
  • cardboard
  • CardDAV
  • cast
  • Cast Connect
  • celebrating
  • Certification
  • certification award
  • channel
  • chinese
  • chrome
  • chrome apps
  • chrome dev summit
  • chrome devtools
  • chrome experiment
  • chrome extensions
  • chrome os
  • Chrome OS IO
  • Chrome OS IO19
  • chrome web store
  • Chromebooks
  • chromecast
  • chromium
  • chronoscope
  • cifs
  • classes
  • classroom api
  • client libraries
  • closure tools
  • cloud
  • Cloud anchor
  • Cloud Anchors
  • Cloud Computing
  • cloud datastore
  • Cloud Functions
  • cloud functions for firebase
  • Cloud Next
  • cloud platform
  • cloud portability
  • cloud services
  • cloud sql
  • cloud storage
  • Cloud Study Jam
  • cms
  • coca cola
  • CocoaPods
  • code for educators
  • code jam
  • code review
  • code-in
  • codeedu
  • codelabs
  • coding
  • coffee with a googler
  • Colaboratory
  • collada
  • color
  • Colt McAnlis
  • commerce
  • community
  • community connectors
  • compatibility
  • competition
  • Compilers
  • compression
  • compressorhead
  • computer science
  • Computer Science Education Week
  • computer vision
  • computing heritage
  • conference
  • conferences
  • Console
  • contacts api
  • Containers
  • contest
  • contextual gadgets
  • conversation design
  • conversations
  • Coral
  • Coral updates
  • Core ML
  • couchdb
  • countdown to I/O 2012
  • country support
  • courses
  • COVID
  • COVID-19
  • COVID19DetectProtect
  • CPU
  • crash course
  • Crash Reporting
  • crashlytics
  • creative commons
  • cricket
  • crisis response
  • Croatia
  • Crostini
  • cryptocurrency
  • cryptography
  • css
  • css3
  • Custom Elements
  • custom search
  • custom search api
  • Czechia
  • DA
  • danish linux forum
  • dart
  • Data Compression
  • Data science
  • Data Visualization
  • database
  • Databases
  • Dataset
  • Datasets
  • datastore
  • dataviz
  • Daydream
  • deprecation
  • Depth
  • design
  • desktop
  • desktop apps
  • Dev Tools
  • devart
  • develop
  • developer
  • Developer Advocate
  • Developer Communities
  • Developer Culture
  • developer expert
  • developer features
  • Developer Keynote
  • Developer Preview
  • developer relations
  • developer student clubs
  • developers
  • developers. meetup
  • Development
  • devfest
  • devfest developer chrome maps social wave apps
  • DevFest18
  • DevFestStories
  • Device
  • DFP
  • Dia da Consciência Negra
  • dialogflow
  • differential privacy
  • discovery service
  • diversity
  • django
  • dns
  • do-it-yourself
  • Docker
  • docs
  • documentation
  • documents list api
  • dojo
  • domain
  • domains
  • doodles
  • dot net
  • doubleclick
  • dreamweaver
  • Drive
  • drupal
  • dsc
  • dynamic links
  • earn
  • earth
  • Ebay
  • eclipse
  • eclipsecon
  • eddystone
  • Edge AI
  • Edge TPU
  • Edge TPU Accelerator
  • Edge TPU Dev Board
  • educatio
  • education
  • email
  • EMEA
  • endpoints
  • enterprise
  • Entity Extraction
  • entrepreneurs
  • Error logging
  • Estimator
  • Estimators
  • estonia
  • Ethics
  • Europe
  • event
  • events
  • evolution
  • execution api
  • extensions
  • Fabric
  • face detection
  • Fairness
  • fairness in machine learning
  • faster web
  • FCM
  • FCP
  • featured
  • feeds
  • finance
  • fintech
  • Firebase
  • Firebase Analytics
  • Firebase Cloud Messaging
  • Firebase Dynamic Links
  • firebug
  • firefox
  • firestore
  • firevox
  • firstbeta
  • fitness
  • flutter
  • Flutter 1.2
  • Flutter 1.5
  • Flutter 1.9
  • Flutter at IO
  • Flutter Clock
  • Flutter Create
  • Flutter for desktop
  • Flutter for web
  • Flutter Interact
  • Flutter Live
  • flutter release preview 1
  • flutter release preview 2
  • Follow Us
  • font api
  • Fonts
  • fosdem
  • founders
  • freebsd
  • freenet
  • Fridaygram
  • fusion tables
  • G Suite
  • G Suite Developer
  • G+
  • gadgets
  • Game Developers Conference
  • games
  • gaming
  • gcc
  • gci
  • GCP
  • GDA
  • gdata
  • GDC 2020
  • GDC17
  • GDD
  • gdd07
  • gdd08
  • gdd09
  • GDD11
  • GDE
  • gdg
  • gdl
  • gdl weekly
  • gears
  • geo
  • geolocation
  • geoserver
  • GET
  • getpaid
  • ghop
  • Gigster
  • git
  • github
  • GKE
  • Glass
  • gmail
  • Gmail Add-on
  • Gmail API
  • Gmail APIs
  • GMTC
  • gnome
  • gnome women's summer outreach program
  • Go
  • golang
  • goo.gl
  • Google
  • Google AI
  • Google Analytics
  • Google APIs
  • google apps
  • google apps api
  • google apps for your domain
  • google apps marketplace
  • Google AR
  • google assistant
  • Google Assistant Bluetooth
  • Google Assistant Developer Day
  • Google Assistant IO
  • Google Assistant IO19
  • google assistant sdk
  • Google Brain
  • google buzz
  • Google Cardboard
  • google cast
  • google certification
  • google chart api
  • Google Charts
  • google checkout
  • google chrome
  • Google Cloud
  • Google Cloud Messaging
  • Google Cloud Platform
  • google cloud storage
  • Google Cloud Talks
  • google code
  • google code project hosting
  • google code search
  • google code university
  • google compute engine
  • Google Coral
  • google data apis
  • google data protocol
  • Google Data Studio
  • google developer day
  • google developer days
  • Google Developer Experts
  • Google Developer Groups
  • Google Developer Scholarship
  • google developers
  • Google Developers Academy
  • google developers certification
  • google developers community groups
  • Google Developers Groups
  • Google Developers Live
  • Google Developers site
  • Google Developers University Consortium
  • google docs
  • Google Docs Add-on
  • Google Docs API
  • google doctype
  • google domains
  • Google Drive
  • Google Drive SDK
  • google earth
  • google fit
  • Google Fonts
  • Google For Games
  • google for startups
  • google friend connect
  • google gadgets
  • google gears
  • google grants
  • Google Groups Settings
  • google health
  • Google Home Hub
  • Google I/O
  • Google Identity Platform
  • Google in Asia
  • google io
  • Google IOS Android
  • Google Maps
  • Google Maps Platform
  • google mashup editor
  • Google Noto fonts
  • google pay
  • google pay account
  • google pay api
  • google pay business
  • Google Pay Developers
  • Google Pay India
  • google pay integration
  • google pay support
  • google photos
  • google platform
  • Google Play
  • Google Play Developer API
  • google play services
  • Google Registry
  • google scholarships
  • Google Science Fair
  • Google sheets
  • Google Sheets Add-on
  • Google Sheets API
  • Google Slides
  • Google Slides Add-on
  • Google Slides API
  • google space
  • Google Spreadsheets API
  • google storage
  • google summer of code
  • Google tech talk
  • Google technology
  • google technoloy user groups
  • google tv
  • google visualization api
  • google wallet
  • Google Wave
  • google web elements
  • google web toolkit
  • Google Workspace
  • Google Workspace Add-ons
  • Google Workspace Developer
  • google.org
  • google+
  • GoogleAssistant
  • googlecast
  • googledevelopers
  • googleio
  • googlenew
  • GooglePlay
  • GooglePlay AndroidDev
  • googlewebelements googleio
  • GPE
  • GPGS C++ Games
  • GPT
  • Gradle
  • green linux
  • Groovy
  • Groups API
  • grow
  • grow with google
  • gsoc
  • GSuite
  • gtags
  • gtug
  • guest post
  • guice
  • gulp
  • GWSOP
  • gwt
  • gzip
  • hackathon
  • hacking
  • hackthon
  • hamilton
  • Handwriting
  • hangouts
  • Hangouts Chat
  • Hangouts Chat API
  • haproxy
  • Headset
  • hg
  • hibernate
  • howto
  • hpux
  • html
  • html5
  • http
  • I/O
  • I/O 17
  • I/O 2017
  • I/O Extended
  • I/O Live
  • ical
  • ICYMI
  • identity
  • ietf
  • ignite
  • igoogle
  • iguanas
  • iiw
  • Image Compression
  • image search
  • Imara
  • In-app billing
  • in-app payments
  • in-app purchase
  • incubator
  • India
  • indie
  • Indie Games Accelerator
  • information visualization
  • Instagram
  • integration status
  • intelligentwire
  • interactive music
  • International Women’s Day
  • internationalization
  • internet explorer
  • internet of things
  • internship
  • interviews
  • IO
  • IO17
  • io18
  • IO19
  • IO19 Flutter
  • IO2017
  • ios
  • iOS SDK
  • IoT
  • ipad
  • iphone
  • iPhone Development
  • israel
  • Issue Tracker
  • IWD 2020
  • jaiku
  • japanese
  • java
  • javascript
  • jetpack
  • joomla
  • joomladayus2007
  • joomladayusa
  • JS
  • json
  • karaoke
  • KDE
  • KDE 4.0
  • Keras
  • kernel
  • kernel summit
  • keynote
  • khronos
  • kids
  • kids coding
  • kids coding team
  • kml
  • korean
  • Kotlin
  • Krakow
  • Kubernetes
  • labs
  • lanchpad
  • language
  • languages
  • laptop apps
  • laptops
  • latam accelerator
  • LatAm startups
  • Latest
  • Latin America
  • latitude
  • latvia
  • launch
  • launchpad
  • launchpad accelerator
  • launchpad studio
  • LaunchShow
  • lca
  • Leadership
  • Learning
  • lens
  • lessons
  • licenses
  • linux
  • linux foundation
  • Linux on Chrome OS
  • Linux on Chromebooks
  • linux summit
  • linux virtual server
  • linuxconf eu
  • lithuania
  • Local Home
  • Local Home SDK
  • localization
  • Location
  • LoCo
  • Logging
  • london
  • mac
  • MacFuse
  • Machine
  • machine intelligence
  • machine learning
  • machine learning accelerator
  • maker
  • Makers
  • malware
  • maps
  • maps apis
  • Marketplace
  • material
  • material components
  • material design
  • MDL
  • MediaPipe
  • meetup
  • mercurial
  • Mexico startups
  • Micronaut
  • Microservices
  • MIT CSAIL
  • MIT Media Lab
  • ml
  • ML Kit
  • MLCC
  • mobile
  • Mobile App Development
  • mobile design
  • Mobile Development
  • mobile performance
  • mobile sites
  • mobile speed
  • mobile UX
  • Mobile web
  • Mobile World Congress
  • mod_pagespeed
  • Moderator
  • monetize
  • Monthly roundup
  • MOOC
  • mozilla
  • multi-platform
  • mylar
  • myspace
  • MySQL
  • mythtv
  • named
  • narratives
  • native ads
  • native client
  • nearby
  • Nest
  • Nest WiFi
  • netbsd
  • Next Billion Users
  • non-profit
  • nonsense
  • nosql
  • notifications
  • Noto Serif CJK
  • NPM
  • nss
  • nvidia
  • NYT
  • O3D
  • oauth
  • OAuth playground
  • OAuth2
  • Object Detection and Tracking
  • objective-c
  • OCaml
  • Occlusion
  • ocr
  • ODF
  • office hours
  • oha
  • online payments
  • OOXML
  • open data
  • open source
  • open source blog
  • open source releases
  • open web
  • open-source
  • openajax alliance
  • opengl
  • openid
  • opensocial
  • openssh
  • openssl
  • Optimization
  • oreilly
  • orkut
  • oscon
  • oscon2007
  • osi
  • oss devs
  • ossjam
  • osx
  • pactester
  • page speed
  • PageSpeed
  • palette
  • payment handler
  • payment request api
  • payment web standard
  • payments
  • paypal
  • Peer bonus program
  • performance
  • persistence
  • persistent AR
  • phone
  • photos
  • picasa
  • picasa web
  • places API
  • play services
  • playground
  • plone
  • plone sprint
  • podcast
  • poland
  • Poly
  • polymer
  • Polymer Summit
  • portugal
  • Pose Detection
  • Pose Estimation
  • posix
  • POST
  • PowerMeter API
  • prediction api
  • Prerender
  • preview
  • privacy
  • prizes
  • processing
  • production access
  • products - slides
  • programmers
  • programming
  • Progressive Web App
  • Project Connected Home over IP
  • project hosting
  • Project Loon
  • Project Tango
  • prototype
  • proximity
  • pubsubhubbub
  • PWA
  • py3k
  • python
  • python sprint
  • Qualcomm
  • Qualcomm Google
  • rails
  • random hacks of kindness
  • Rasberry Pi
  • React
  • reader
  • releases
  • Remote Config
  • research
  • reserve seats
  • Resources
  • Responsible AI
  • REST
  • result snippets
  • Reto Meier
  • review process
  • Rewarded Ads
  • Rewarded Video Ads
  • rhino
  • Saatchi
  • Safety & Security
  • safety and security
  • salesforce
  • samba
  • Sample dialogs
  • sandbox
  • Santa Tracker
  • Scala
  • scalability
  • scale-ups
  • Sceneform
  • schedule
  • scholarship
  • scholarships
  • scopes
  • Scratch
  • screencast
  • sdk
  • sdks
  • search
  • security
  • Selfie Segmentation
  • Serbia
  • serif
  • Serverless
  • service worker
  • sessions
  • seurat
  • shape
  • Sheets
  • Sheets API
  • shindig
  • shopping
  • Shoreline Amphitheatre
  • shortcuts
  • showcase
  • sidewiki
  • sign-in
  • silverstripe
  • SIMD
  • sitemaps
  • sites api
  • sixapart
  • sketchup
  • Slides API
  • small business
  • small businesses
  • Smart Home
  • Smart Lock for Passwords
  • soap search api
  • soc
  • social
  • social graph
  • solaris
  • solutions challenge
  • souders
  • spa2007
  • Space
  • spdy
  • speakers
  • speech
  • speed
  • speed tracer
  • Spring
  • spyware
  • Stable release
  • Stackdriver
  • standards
  • startup
  • Startup accelerator
  • startup africa roadtrip
  • startups
  • Static Sites
  • STEM
  • storage
  • stories
  • Street View
  • Strobe
  • student programs
  • students
  • stuff
  • style
  • subscribed links
  • subscription
  • subversion
  • summer of code
  • Sundar Pichai
  • SVG
  • sxsw
  • syndication
  • targeted spyware
  • tasks API
  • Team Drives (new)
  • techmakers
  • Technical Writing
  • technology
  • templates
  • TensorFlow
  • tensorflow dev summit
  • TensorFlow Lite
  • TensorFlow Research Cloud
  • tensorRT
  • Test Lab
  • testing
  • text embedding models
  • Tez
  • TF Lite
  • tfdevsummit
  • TFLite
  • themes
  • thought leadership
  • tool
  • Toolkit
  • tools
  • topp
  • TPU
  • TPU Dev Board
  • training
  • Traits
  • tranparency
  • transit
  • translate
  • translation
  • tutorials
  • tv
  • ubiquitous computing
  • ubiquity
  • ubucon
  • ubuntu
  • Udacity
  • UI
  • Ukraine
  • UN
  • UNDP
  • UNICEF
  • unicode
  • unit test
  • Unity
  • universal
  • Universal App Campaigns
  • University
  • unix
  • Update
  • updates
  • url
  • url shortener
  • URLs
  • UX
  • verification
  • video
  • videos
  • Vim
  • virtual keyboard
  • virtual reality
  • visualization
  • voice
  • voice kit
  • voice user interface
  • VR
  • VUI
  • wattpad
  • Wearables
  • Weave
  • web
  • web animations api
  • web apps
  • web components
  • web design
  • web designer
  • web development
  • web exponents
  • web fonts
  • web performance
  • web platform docs
  • web registry
  • webfonts
  • webgl
  • webmaster
  • WebP
  • website optimizer
  • websites
  • webVR
  • weekly roundup
  • WhiteHouse.gov
  • Who's at Google I/O
  • win
  • windows
  • windows programming
  • Winter of Code
  • women developers
  • Women in Tech
  • Women Tech Makers
  • women techmakers
  • WomenTechmakers
  • writing
  • wtm
  • xauth
  • yahoo
  • young developers
  • Young Makers
  • youtube
  • zlib
  • zurich
  • ZXing


Archive


  •     2021
    • Jan
  •     2020
    • Dec
    • Nov
    • Oct
    • Sep
    • Aug
    • Jul
    • Jun
    • May
    • Apr
    • Mar
    • Feb
    • Jan
  •     2019
    • Dec
    • Nov
    • Oct
    • Sep
    • Aug
    • Jul
    • Jun
    • May
    • Apr
    • Mar
    • Feb
    • Jan
  •     2018
    • Dec
    • Nov
    • Oct
    • Sep
    • Aug
    • Jul
    • Jun
    • May
    • Apr
    • Mar
    • Feb
    • Jan
  •     2017
    • Dec
    • Nov
    • Oct
    • Sep
    • Aug
    • Jul
    • Jun
    • May
    • Apr
    • Mar
    • Feb
    • Jan
  •     2016
    • Dec
    • Nov
    • Oct
    • Sep
    • Aug
    • Jul
    • Jun
    • May
    • Apr
    • Mar
    • Feb
    • Jan
  •     2015
    • Dec
    • Nov
    • Oct
    • Sep
    • Aug
    • Jul
    • Jun
    • May
    • Apr
    • Mar
    • Feb
  •     2014
    • Dec
    • Nov
    • Oct
    • Sep
    • Aug
    • Jul
    • Jun
    • May
    • Apr
    • Mar
    • Feb
    • Jan
  •     2013
    • Dec
    • Nov
    • Oct
    • Sep
    • Aug
    • Jul
    • Jun
    • May
    • Apr
    • Mar
    • Feb
    • Jan
  •     2012
    • Dec
    • Nov
    • Oct
    • Sep
    • Aug
    • Jul
    • Jun
    • May
    • Apr
    • Mar
    • Feb
    • Jan
  •     2011
    • Dec
    • Nov
    • Oct
    • Sep
    • Aug
    • Jul
    • Jun
    • May
    • Apr
    • Mar
    • Feb
    • Jan
  •     2010
    • Dec
    • Nov
    • Oct
    • Sep
    • Aug
    • Jul
    • Jun
    • May
    • Apr
    • Mar
    • Feb
    • Jan
  •     2009
    • Dec
    • Nov
    • Oct
    • Sep
    • Aug
    • Jul
    • Jun
    • May
    • Apr
    • Mar
    • Feb
    • Jan
  •     2008
    • Dec
    • Nov
    • Oct
    • Sep
    • Aug
    • Jul
    • Jun
    • May
    • Apr
    • Mar
    • Feb
    • Jan
  •     2007
    • Dec
    • Nov
    • Oct
    • Sep
    • Aug
    • Jul
    • Jun
    • May
    • Apr
    • Mar
    • Feb
    • Jan
  •     2006
    • Dec
    • Nov
    • Oct
    • Sep
    • Aug
    • Jul
    • Jun
    • May
    • Apr
    • Mar
    • Feb
    • Jan
  •     2005
    • Dec
    • Nov
    • Oct
    • Sep
    • Aug
    • Jul
    • Jun
    • May
    • Apr
    • Mar
Subscribe
Visit Google Developers for docs, event info, and more.
  • Google
  • Privacy
  • Terms