Google Releases Open Source JavaScript Tools
Dan Jones writes "Google has open sourced several of its key JavaScript application development tools, hoping that they will prove useful for external programmers to build faster Web applications. According to Google, by enabling and allowing developers to use the same tools that Google uses, they can not only build rich applications but also make the Web really fast. The Closure JavaScript compiler and library are used as the standard Javascript library for pretty much any large, public Web application that Google is serving today, including some of its most popular Web applications, including Gmail, Google Docs and Google Maps. Google has also released Closure Templates which are designed to automate the dynamic creation of HTML. The announcement comes a few months after Google released and open sourced the NX server."
These could come in handy. Google has had a fair bit of experience making Javascript apps that run acceptably. I've got a project coming up, and I'll bookmark this for consideration.
Thanks Google. =)
Why are people investing so much in a fundamentally flawed scripting language that has almost no use at all outside the browser and that Palm Pre thing that is basically a browser in a plastic case?
yeah, do everything from inside a browser because every day 'users' seem unable to deal with anything that doesn't behave like a Web based interface. JavaScript is so inefficient and so many hacks are required to do anything useful we will probably see computers with JavaScript co-processors and Intel Core 3's with extra instructions to help cut through the cruft.
Good grief. Homophone insanity. We've got Clojure doing interesting things in the language and concurrency space. Block support in C/Objective-C reinjecting "closures" into everyone's vocabulary. And now Google jumps in with "Closure" just to make sure that no one has any idea what anyone else is talking about...
Half the demos don't work and these widgets are hideous even by Google standards. I'm gonna stick with ExtJs for the forseeable future.
I know that it probably work in current major browsers without problems, but somewhat look a bit like a push towards Chrome. If things start to base more and more in javascript, specially complex one, not only the old browsers will die (ok, killing IE6 for good is an obligation for the future of mankind, or at least internet), but also current/competitive browsers not so fast at the javascript arena will get a big hit too. Good enough will stop being enough when most internet need complex javascript and a blazing fast javascript engine to work. But i suppose that is better that it be based on open standards from the start than the adoble flash way.
I suppose that complaining about this sounds like asking to forget civilization and go back to rural communities and simpler old way of life, but sometimes you miss the good old web as it used to be (yes, even the slashdot comment editor from 1997)
Try Closure! It's open!
Sometimes, life itself is sarcasm...
Neither the summary nor TFA link to the actual code: http://code.google.com/p/closure/
what does this have to do with the NX server? or is it just the notion of being opensource as well?
I currently use jquery and jtemplates with json data. How do the closure template commands compare to jtemplates? I didn't really see any ajax functionality in the tutorials but I haven't had time to delve any deeper. Has anyone spent more time with this?
I'm still going to read through it, was just wondering if anyone else has more experience with closure.
It's not that rare. Many cellphones are going this route nowadays as well as the Mac OS X dashboard widgets and Mac OS X apps. Then of course, there are the gtk javascript bindings.
Javascript is finding itself in more and more places nowadays.
Once you start despising the jerks, you become one.
"The announcement comes a few months after Google released and open sourced the NX server."
That's a bit confused... it may just be a typo but it's resulted in a misleading statement. Google released *their* NX server as open source. Previously the FreeNX project had independently created an open source NX server, using libraries provided by NoMachine (inventor of the NX protocol) who provide all of the clever compression stuff from their server as open source libraries.
The summary makes it sound like Google were solely responsible for the existence of an open source NX server, whereas actually I'd say they're "standing on the shoulders of giants (NoMachine), next to some other dude who was already up there (FreeNX)"
It seams silly to mention that it's open source without giving the license. Btw It's not copyleft, allows linking from other licenses and is GPLv3 compatible
IranAir Flight 655 never forget!
Unless this library, or Javascript in general has a usable threading model, it will remain a toy.
The Closure Library has a lot of useful-looking classes and functions, like for working with Arrays, Dates, or the URL. They're divided into short files, so that you can use just the parts you want and not have to download one big file.
jQuery has definitely been a great library, especially at finding things in the DOM. And I think its API for handling events is easier (definitely less to type) than this. But it doesn't have all of the things that this has --- short helpers that probably I would end up writing on my own (and already have started to).
I'm also interested in the UI Widgets like an Autocomplete text field. I've been waiting for the jQuery UI team to finish that one widget for months, but for some reason their development is so slow!
Standard Disclaimer about JavaScript:
Like has been said, watch the Google Video "JavaScript: the Good Parts" to elaborate on this. And if you hate JavaScript but are forced to write it and haven't read JavaScript: The Definitive Guide, it's the best book on JavaScript and one of the best O'Reilly books period.
What would really be nice is an HTML/XML-like language that has features for building real desktop-like GUI's 95% declaratively in a state-ful way instead of JavaScript IF's, loops, and pathy set/gets.
Table-ized A.I.
Good grief. Homophone insanity. We've got Clojure [...] "closures" [...] And now Google jumps in with "Closure"
It's worse than that; there's also Clozure Common Lisp.
I heard you like to script, so I compiled your JavaScript to JavaScript, so you can script while you script.
So javascript is synonymous with ass-to-mouth? I take it you mean the receiving end.
... is google evil this week, or not?
I run: Windows, OS X, Linux, FreeBSD. Just because you have a hammer, doesn't mean everything is a nail.
I'm hoping for http and html to "drain out". They're a lot more crufty than any browser.
And Ruby, PHP and Perl. Check it out for yourselves: http://shootout.alioth.debian.org/u32/benchmark.php?test=all&lang=v8&lang2=python&box=1
GWT is a great Java to Javascript environment, but falls down in that to produce new components (ouside the toolbox provided) is difficult and requires raw javascript. Does anyone know if these products integrate or work together, because what would be really nice would be to be able to use closure to produce GWT components
Needs more doc
Google did nothing wrong here.
But it's the web moving the wrong way?! How am I gonna explain closures to my mom?
And killing off No Machine;'s business model while they are about it!
Do Google actually use NX in a big way? It is easy to imagine what they might do with it.
If you think Javascript isn't very powerful and cannot see its advantages, particularly with dynamic types, then you obviously haven't used it.
This is my sig.
err.. that's it really.
----------------------------------- My Other Sig Is Hilarious -----------------------------------
It would be really nice to know how Google Closure compares to GWT at a technical level. Of course, it's pretty clear to see how they differ at a high level: GWT is written in Java and compiled to JavaScript, and Closure seems to be an all JavaScript system with UI libraries and templating features. I'd just love to know more about their comparative analysis of their internals and targeted usage scenarios.
I've always loved the fact that there is more than one accepted spelling of standardise.
Ahh - My eye!
The doctor said I'm not supposed to get Slashdot in it!