All big projects have to start out as small projects first, and so most small projects. If a small project uses a framework that's great for big projects, they're paying all the overhead for that up-front, which puts them at a disadvantage in the marketplace. I could see Closure being quite useful for rewrites, but once a dev is in charge of rewriting a project with dozens of devs and hundreds of thousands of users, he probably doesn't have time to blog about the latest JS framework.
There are definitely overlapping concerns, but they've dogfooded Angular for both the YouTube TV[1] portal as well as their DoubleClick site, and so I don't think it's just for external purposes.
From my point of view, it's just the next logical step after GWT and Closure. The annotations are baked into the language's syntax, you get the usual JS-like development cycle (save -> F5), and Java/C#-like tooling.
TS is somewhat similar. CS, however, isn't. CS doesn't offer any tooling advantages over JS.
> looks strikingly like Angular at times
Heh. There is also a Dart version of Angular:
And I think the Angular community would be thrilled if it had even close to the kind of documentation that Rails has. You are correct, no one framework will rule them all, but there are examples of OS projects that have good docs (like jQuery and Rails) that can be used as comparisons when evaluating a framework.
In this thread, we're talking about Google's Closure (with an S) Library. Google also makes a Closure (with an S) Compiler, but it's more of an optimizer — it "compiles" from JavaScript to optimized JavaScript.
https://developers.google.com/closure/library/
All google Saas apps use this lib.
- It requires a running JVM to compile it all down (not a bad thing).
- Can take upwards of a second to compile depending on code base size and compression setting (even if the JVM is warm).
- Kills all ability to debug. Looks like "a.call().call()" etc.
That said, ClojureScript has been fun to work with, but IMO, Google Closure as dependency thwarts a lot of people looking to try it out like they might try CoffeeScript or TypeScript.
Here's an example for the kids at home.
compiled: https://github.com/gtrak/node-cljs-template/blob/master/src/...
from: https://github.com/gtrak/node-cljs-template/blob/master/src-...
Perhaps they still haven't solved the SEO problem of GWT internally, and so only things that don't need SEO-features like control panels, dashboards (but ironically, the google groups forums too) are in GWT.
I don't think the SEO nature of GWT is fundamentally different from Closure or Angular.
I used GWT for a while and it would be great for enterprise and large teams. The static typing which I usually love/insist on though, does seem pretty cumbersome for something as simple as a web page. I've switched to scala play for the back end and lots of tiny angular 'apps' on the front, and it's so much faster to develop for.
http://www.google.com/fonts <-- loads fast for me. In fact, i think GWT apps can do loading in such an optimized way that hand coding js will only beat it if the programmer is very very careful about it.
(ps, i have no affiliation with google, i just don't like mistunderstood tech to suffer…)
But i m pretty sure GWT was created as a result of the research/code written for closure (which, even tho it was opensourced after GWT, existed before GWT in some form or another).
People use to say that about ExtJS a few years ago , then BackboneJS, etc ... There will never be one framework to rule them all , like Rails never ruled server-side developpment, Rails influenced other frameworks. Likewise Angular will , and something better than Angular will come by.
> Angular needs someone versed in developer usability to take control of the public facing Angular stuff and give it a complete overhaul. Right now, it's the result of hundreds of people haphazardly making changes.
that's how most open-source projects work. Angular is not a Google library, Google already has closure[1] , which is neat and scales(ie great performance,unlike Angular), Gmail is built on top of it , but strangely nobody else but google is using it...
EDIT :
[1] https://developers.google.com/closure/library/