3 ms·
I have no idea why Closure doesn't get more publicity. You never hear about it on Reddit/Slashdot/HN, but in the real world it's the foundation for virtually E
by StevePerkins 12y ago
I have no idea why Closure doesn't get more publicity. You never hear about it on Reddit/Slashdot/HN, but in the real world it's the foundation for virtually EVERYTHING Google does on the client-side, save for a handful of things still using GWT. Like GWT... Closure has been around awhile, has gentle-to-nonexistant migration issues, and will be around for at least a decade to come. Unlike GWT, and virtually everything else Google does... Closure is pure JavaScript, rather than a trans-compiling mess that tries (and fails) to replace JavaScript.
In client-side land, it's like there's inverse relationship between "blog chatter" and "real-world use in large projects". The tools that get all the attention are only used for personal tinkering, or by startups that mostly won't exist in a few years. Over the past several years, if something seems popular then that's a sign it's probably a children's toy for which you shouldn't stick your neck out within your company.
- paulddraper 12y agoHaving used Closure Tools for a couple years, I often wonder that. But it lacks a lot of magic. It's based around reusability, maintainability, and performance, and not just features. Like you said, features get blogged, maintainability gets (silently) used.
- aikah 12y agoThe closure-compiler is written in java. Here is your problem.
- paulddraper 12y agoIt could be written in NodeJS, Haskell, or BF, but I doubt it would matter. I know a lot of JS developers that use Git, which is written in C.
- aikah 12y ago> It could be written in NodeJS, Haskell, or BF, but I doubt it would matter. I know a lot of JS developers that use Git, which is written in C. Well git isnt a javascript compiler and git doesnt need the JVM to run.
- StevePerkins 12y agoIf you don't mind my asking, what do you mean by this? If you're doing non-trivial client-side development, then you are probably already managing the details of your building/minification/testing through Grunt or something like it anyway. Does the issue boil down to, "Needing a Node.js installation on my laptop to do client-side development is fine... but having a JVM installed on my laptop sucks because ermahgerd-old-people-enterprise-uncool"?
- aikah 12y agoDont shoot the messenger,i'm just explaining you why the js community doesnt give a damn about all these closure tools written in java.
- btown 12y agoWell, Rails was talked about plenty back in the day (with its fair share of expletives), and it's proved to be anything but a children's toy. Regarding Closure and its libraries, my impressions are that it gives tremendous maintainability and structure when you have a large team and a long-term project, but there's still a lot of boilerplate when you need things like a simple data binding. Having searched around, I've found that Angular (1.2) provides a good balance between structured, easy-to-find-things code, and fewer keystrokes to iterate fast on features. I wish React were like that, but the lack of best practices in the Flux architecture makes it hard to know where to put things - I found I was constantly worrying about shooting myself in the foot when I made architectural decisions in React. I do think that Angular's going to get a Python-like version split, and it's refreshing that plenty of people are still writing Python 2 libraries... because I'm not leaving Angular 1.2 any time soon!
- kylecordes 12y agoI am also frustrated by the lack of broad interest in Closure. Partly because I am working in Clojure and ClojureScript, the latter of which relies on the Closure compiler for reasonably sized output and Closure libraries. Keeping the various spellings of the name right is a challenge, but it seems to work very well. Yet it is so far from the rest of the ecosystem. When you roam across some interesting JavaScript library online, there is basically a 0% chance that it does things the Closure way.
- paulddraper 12y agoClosure and Clojure...unfortunate naming conflict :P