Live data from Hacker News

Google Closure Library has been archived

github.com

21–30 of 89 posts

Re: Google Closure Library has been archived

#24
GCL, the Google Closure Library was sunset and this was announced almost a year ago on the mailing lists. The archiving was scheduled for 2024-08-01.

GCC, the Google Closure Compiler, is still used by Google internally and they are shifting towards supporting the compiler for tools that emit "ClosureJS" (remember goog.define and goog.provide?). ClojureScript is one of several tools that target "ClosureJS" and there is not much to fear.

ClojureScript has always distributed GCC and GCL as date-versioned JARs since there is no formal release process of either component outside of Google. The GCL code "just works" for the most part and is frozen in time. GCL became unnecessary for two reasons.

  1. GCL existed at a time when JavaScript had no notion of a module system whatsoever (not even CommonJS). It was very tedious to import third-party code. So GCL was designed as a kitchensink that'd work across browsers.

  2. Many parts of the GCL kitchensink became unnecessary as the JavaScript standard library gained equivalent functionality and browsers standardized.

For instance, goog.net.BrowserChannel predates WebSockets and has lots of hacks so it works reliably on various versions of Internet Explorer. There has realistically been no need to use goog.net.BrowserChannel over WebSocket for almost a decade now.

Another example: goog.crypt methods (base64, encodeStringToByteArray, etc.) are now provided by the JavaScript standard library

Yet another example: all of the functionality in the goog.async package (besides Debouncer) is provided by the JavaScript standard library through Promise.

Then there's other things that existed purely for browser compatibility, like goog.net.XhrIo (an XHR wrapper that isn't needed unless you care about IE5 quirks). Almost everybody, even in ClojureScript, uses fetch nowadays.

There's more examples, but look around for yourself and you will see that almost everything in the library can be served by modern JavaScript and a few NPM packages. https://google.github.io/closure-library/api/

Re: Google Closure Library has been archived

#25
post #8

Earlier quoted context omitted.

Can you clarify what you mean for someone unfamiliar? If Closure Compiler is sticking around (and the linked issue is very clear that it will), what is it that ClojureScript needs to have a plan to remove?

[flagged]

I have a causeway (going with something different for variety) to sell you because you don’t take into account that the ClojureScript project can just fork because they have sufficient access to expertise (most projects don’t, but they do, partly because they’re big enough and partly because they’re very strong with computer science). You raise a good point but don’t allow for solutions to be presented and assume it’s a distaster scenario.

Re: Google Closure Library has been archived

#26

Closure is two separate projects, the Compiler and the Library, and this is the Library that's being archived. Might be good to note that in title, if @dang or another mod is around.

I’m here and I made the update. I think it will have an effect on both and I considered putting library in the title but decided to have a shorter title, however by popular demand I changed it.

Edit: looked at the closure compiler repo and maybe it’s good, though I always thought of it as partly depending on the library…

Edit 2: This explains the situation. Sounds like Closure Compiler has a bright future! I could see ClojureScript eventually taking over maintenance though. https://news.ycombinator.com/item?id=41396522

Re: Google Closure Library has been archived

#27
post #24

GCL, the Google Closure Library was sunset and this was announced almost a year ago on the mailing lists. The archiving was scheduled for 2024-08-01. GCC, the Google Closure Compiler , is still used by Google internally and they are shifting towards supporting the compiler for tools that emit "ClosureJS" (remember goog.define and goog.provide?). ClojureScript is one of several tools that target "ClosureJS" and there…

I updated the title but perhaps you could summarize the situation and submit closure compiler to HN and that story could take off and paint a more accurate picture of the situation? Maybe there’s a blog post that explains it more fully? It sounds quite promising, actually.

Re: Google Closure Library has been archived

#28
post #8

Earlier quoted context omitted.

Can you clarify what you mean for someone unfamiliar? If Closure Compiler is sticking around (and the linked issue is very clear that it will), what is it that ClojureScript needs to have a plan to remove?

[flagged]

All of Google's JavaScript and TypeScript is compiled with Closure compiler. It's not going anywhere.

You're only relating the two because they share a name from being kind of sort of part of the same project 20 years ago. Closure library hasn't been used internally for a new code for a very long time.

Re: Google Closure Library has been archived

#29
post #2

An older version of their README says: > Closure Library is a powerful, low-level JavaScript library designed for building complex and scalable web applications. It is used by many Google web applications, such as Google Search, Gmail, Google Docs, Google+, Google Maps, and others. I wonder if they still use it in all those services, or if they migrated to something else.

They still use it in all those services.

Not really. Those projects now use JsLayout, Wiz, and a couple of other more modern libraries.

There may be some Closure widgets on very old, barely maintained, pages, but they'll be fine. Closure library is still in the Google monorepo, it's just not going to be copied to GitHub anymore.

Re: Google Closure Library has been archived

#30
post #24

GCL, the Google Closure Library was sunset and this was announced almost a year ago on the mailing lists. The archiving was scheduled for 2024-08-01. GCC, the Google Closure Compiler , is still used by Google internally and they are shifting towards supporting the compiler for tools that emit "ClosureJS" (remember goog.define and goog.provide?). ClojureScript is one of several tools that target "ClosureJS" and there…

I’ve used the Google Closure Compiler for some JS13K projects, since it is so effective at producing small JavaScript code. At the time (a few years ago), there were some rough edges trying to use the Closure Compiler without the Closure Library, but they weren’t major problems—in fact, there was only one thing I added to my project as a workaround:

  const goog = { define(name, value) { return value; } };
That was it. I used it to select between development and release versions of the project, because the release version had to fit in 13 KB (compressed).
Post reply on HN