7 ms·
GWT just got a new look
- farresito 12y agoI think the word 'resource' is not well spelled ('ressource').
- zamalek 12y agoGah! Again! People not explaining what something is on the landing page! > GWT is used by many products at Google, including Google AdWords and Google Wallet. It's open source, completely free, and used by thousands of enthusiastic developers around the world. Any amount of things fit that description. Beer? Air? Clicking "Learn about GWT" gets you this: > GWT is a development toolkit for building and optimizing complex browser-based applications. That's all it takes! Can we please start seeing these kinds of descriptions on landing pages. You're not selling a clothing brand, you are selling a toolkit to developers: I care first and foremost what the thing does, not how fashionable it is.
- yitchelle 12y agoWhen I see a landing page like this, I feel that this is their filter. If you are interested in knowing more, you will seek the answers. Otherwise, you will move on to the next HN post... The ones that seek to know more are the ones they want to engage. Only my speculation.
- zamalek 12y ago> The ones that seek to know more are the ones they want to engage. GWT is a solution, not a community. It might have a community behind it, but some poor soul might land up on that page with the only intent of getting shit done within the scope of their own job. The ultimate core goal of GWT is to save people time: that is why developers write frameworks. Why should someone have to waste time [struggle to learn the purpose of 'framework X'] in order to save time [use 'framework X']. Saving people time starts on your landing page. They need to be able to accept or reject your framework with as little further research as possible. "This is what our product does, here are some people who use it, this is what people say." Once people know that you can carry on with the more floral explanations.
- yitchelle 12y agoThanks for the explanation. The collective wisdom of HN is right on having a landing page with a couple of short sentences on what GWT is all about.
- farresito 12y agoHow would you be interested in something you don't even know what it is for? Good descriptions is what generates interest.
- Kiro 12y agoI agree but GWT is such a well-known project that it's almost OK in this case.
- SwellJoe 12y agoI still don't quite grok GWT, even having known about it for something like a decade. Is it a web application frontend thing that compiles Java to JavaScript?
- prohor 12y agoBasically yes, you write in Java and it compiles it full-client side JavaScript application. But it also has a lot of goodies, like "templating" or rather binding DOM to code, internationalization, code splitting (so not everything is loaded upfront), client-server communication and other things needed in front development. You typically develop one-page applications with it (fully client side).
- jakobegger 12y agoThank you. This is the kind of explanation that should be on the landing page.
- huhtenberg 12y agoNever heard of it until today.
- prohor 12y agoI wonder though, why they don't mention the latest Google Inbox, which is also done in GWT.
- florian-f 12y agoIt was updated very recently, after not being touched for quite a long time. I'm sure they will keep making it better over the next weeks.
- kosinus 12y agoNot even that is enough. My train of thought was: "This is the Java thing, right?" But I wasn't sure, and it's not mentioned anywhere in the opening paragraph of that page either. Java is not mentioned until "The GWT SDK contains the Java API libraries, compiler, and development server."
- jzaruba 12y agoThat might be on purpose. Way too many people (even seasoned Java pros) tend to dismiss GWT based on the WRONG assumption that "GWT runs on Java". Not mentioning Java in the very first sentence might by an attempt to avoid this seemingly minor yet critically important misconception.
- florian-f 12y agoI will let them now, or maybe create a pull request :D By the way, the site is here: https://github.com/gwtproject/gwt-site https://github.com/gwtproject/gwt-site
- BilalBudhani 12y agocarousel switching buttons on the right hand side are not working, even in chrome.
- ciudilo 12y agoCould not easily find what version GWT is on now and OMG those showcases look like they are from previous century.
- jamies888888 12y agoI've never knowingly seen GWT used in practice. Does anyone have any examples of (semi) notable websites utilising it?
- buu700 12y agoMost of Google's Web apps use Closure AFAIK, but Inbox and Wave use GWT. Those are the most notable examples I know of.
- desdiv 12y agoAny non-Google examples? EDIT: Nevermind, found a list here: http://gwtreferencelist.appspot.com/ http://gwtreferencelist.appspot.com/
- mutagen 12y agoGoogle uses it for several properties, including: AdWords UI AdSense UI Blogger Groups Doclist Parts of Maps / Geo according to https://groups.google.com/forum/#!msg/google-web-toolkit/Mjjk5y9RQbw/hCWzIrZ1vzcJ https://groups.google.com/forum/#!msg/google-web-toolkit/Mjj... Their case studies page has a few more: http://www.gwtproject.org/casestudies.html http://www.gwtproject.org/casestudies.html
- gwtuser 12y agoevernote
- pavlov 12y agoAccording to an HN comment by user cromwellian, it's widely used inside Google including the new Inbox mail app: https://news.ycombinator.com/item?id=8554339 https://news.ycombinator.com/item?id=8554339 Other references mentioned by the poster are "Apple (iAds Workspace), Amazon (AWS Console), Nike".
- Nitramp 12y agoThough it's worth noting that Inbox and similar properties do not use it for UI code, but only (exclusively) for business logic below the UI layer. UI code is written in pure JavaScript/Closure.
- polskibus 12y agoI've never used GWT, but it looks a lot like ASP.NET (all the button declarations in code, heavy page lifecycle in code, etc.). Can anyone with ASP.NET knowledge comment on that? ASP.NET has many problems, there are valid reasons why most developers are moving towards ASP.NET MVC so I wonder what is the place for GWT in modern web dev.
- prohor 12y agoFirst difference is that ASP.NET is running on the server side. GWT is fully compiled to JavaScript and runs in browser. The server doesn't even need to be Java, can be even plain web server without server side code. With GWT you typically develop one-page web applications. As of doing everything in code - not necessary. As of now GWT has UiBinder - it is a kind of template or DOM + widgets, where you then bind code to it. But in upcoming 3.0 it will use web components standard (http://www.w3.org/TR/components-intro/ http://www.w3.org/TR/components-intro/)
- polskibus 12y agoThanks for clarification. Does GWT assist in storing component state on the server?
- prohor 12y agoNo, not at all. There is no concept of a component on the server side in GWT. For GWT server is like a second tier, similar as you would write in JavaScript. Though, GWT gives you few ways to communicate with server: 1. RPC, which is in a way similar to RMI. It supports polymorphism, so you can get an interface in response and GWT will create correct implementation. Java is required on server. 2. RequestFactory, which is more focused on data transfer than implementation. It also allows to transfer data model, which in server is not compatible with GWT. Sends only delta of changes when sending back to server. Also requires Java on server. 3. REST. It is not maybe advertised that mutch, but GWT can work with any REST endpoint. It has built in JSON (de)serialization with AutoBeans; or you could also use Overlay types. There also some third party libraries for REST. This time server can be anything, just to return JSON. But if you really want to have sibling component on the server side, then there is Vaadin - a framework built on top of GWT which has server-side components which synchronize with client-side counterparts. But then, all handlers are on server, rather than client as with GWT.
- raverbashing 12y agoSeems to me the textbook example of Java people trying to make everything Java (and failing at it, as usual) While it's funny (and sometimes silly) to see a huge amount of .js libraries popping up, they're not adding a big block between the programmer and the browser. And js may have its quirks, but it's not java and I'm thankful for that. I'd rather use js over java anyday, unless there's something really dependent on it.
- mradmin 12y agoGWT pronounced «gwit» Seriously? First I've heard this is how you pronounce it. And how does one pronounce gwit? I think I'll continue to call it: G.W.T.
- insin 12y agoFirst I've heard of this too. Obviously "gwit" is pronounced as "jwit", right?
- Dylan16807 12y agojw? In english?
- on_and_off 12y agoreference to the gif vs jif debate.
- taejo 12y agoYes, seriously (at least that's what I heard people at Google calling it). How many different ways could you pronounce "gwit"? (If you really don't get it, it's like "quit" but with a voiced consonant at the beginning).
- RossM 12y agoI was seeing it as gee-wit. jwit also comes to mind. Not that I have any stake in it, but the most confusing thing to me is that it doesn't mention the words "Google Web Toolkit" until the Tutorial page. It's an abbreviation; one that describes the product quite well (a toolkit for web apps, built by Google). Silly to bury it.
- bshimmin 12y agoIs it just me, or do the pagination blobs on the right really not work at all?
- x0rg 12y agoIt makes sense in the enterprise world where everyone love Java and Eclipse (at least as far as I can see). It doesn't make sense on HN, not at all.
- collyw 12y agoWhen does something "make sense on HN"? When it is a reinvention of the wheel done in JavaScript?
- JensRantil 12y agoI'm surprised GWT is still used out there. It's slow as hell to compile and JS libraries are so much better and more response nowadays.
- rdwallis 12y agoGWT 2.7 has incremental compilation. During development, recompile takes less than a second.
- mark_l_watson 12y agoThanks for that information. I used GWT on two personal projects years ago and for customer work three years ago. The only thing that I didn't like we're the long build times. I like web dev environments that use the same language on both client and server sides: Meteor, Clojure + ClojureScript, and GWT. I need to use several programming languages and there is always a small overhead for me when switching languages.
- deleted 12y ago[deleted]
- pjmlp 12y agoIt is used a lot in enterprise projects.
- florian-f 12y agoIt's not exactly been bleeding edge the past few years. Now with the 2.7 release and the 3.0 release (which is hopefully coming very soon) it's receiving a major revival. One of the most important new features are javascript interopt, which enables you to write libraries in java and let other people use it like any other js library. In the other direction, you can easily use javascript (libraries) in java. That means it's possible to just use modern stuff like polymer from within gwt without much of a hassle.
- johnyzee 12y agoBeen using GWT for almost a decade. It makes it easy to develop and maintain enormous and complex web applications, which would otherwise be difficult if you had to rely only on JavaScript (both the language and the toolchain). Being able to write the entire application, from the client and the domain model on down to the backend, in the same language, re-using classes across the entire application, is a big advantage. In addition, being a very mature toolkit by now, GWT has A LOT of features to make life easier. Transparent RPC/serialization, code obfuscation/deobfuscation, IDE integrated debugging, i18n, resource bundling, code splitting, JavaScript interoperability, and a lot of other stuff. Current project: Real-time multiplayer GTA-style game based on HTML5 canvas: http://www.webworks.dk/html5engine http://www.webworks.dk/html5engine
- ExpiredLink 12y ago> * GWT has A LOT of features ... and a lot of other stuff.* Yep, that's the problem. I had to learn GWT for a project last year and I don't share your enthusiasm. The learning curve is steep, integration with "the rest" of a Java EE application messy (but doable) and you still need a CSS expert. GWT is now a 'grown' framework. Many concepts have changed during the years and therefore many previous recommendations are obsolete nowadays. Documentation is meager. After a while I spent most of the time searching for the right code snippets on Stack Overflow.
- boobsbr 12y ago> and you still need a CSS expert. Like any decent project.
- amelius 12y agoI'm looking for a toolbox that can give me: 1. client-side (javascript) database access 2. automatic updates to the client's view of the database And also: 3. automatic optimal re-execution of javascript code whenever something changes in the input (e.g., the database). Note the word "optimal", e.g., no glitches, and no (or minimal) unnecessary work done. Of course, it should be fast :) Does anybody know where to find such a toolbox, or libraries that allow me to accomplish the above? Any pointers are greatly appreciated!
- thekaleb 12y agoTake a look at https://www.meteor.com https://www.meteor.com
- amelius 12y agoThanks for that link. I did a bit of reading, and found this [1]. > These are the main bottlenecks when scaling Meteor, and they introduce two main issues: 1. The polling and comparing logic takes a lot of CPU power and network I/O. 2. After a write operation, there is no way to propagate changes to other Meteor instances in real-time. Changes will only be noticed the next time Meteor polls (~10 seconds). This seems like quite a limitation. So I wonder if there are any libraries out there that successfully solved this? [1] https://meteorhacks.com/does-meteor-scale.html https://meteorhacks.com/does-meteor-scale.html
- killing_time 12y agoSpecifically about this issue, see the section about the MongoDB oplog further down in the article. This removes the polling interval/overhead, so should significantly improve performance and responsiveness.
- amelius 12y agoOk. It indeed seems to be the case that the polling delay can be eliminated. But I'm wondering, if db-changes are written to the client directly, is it still possible to apply security rules to that? Evidently, I don't want all my db-changes to be written to all clients, and, preferably, a security-filter should be able to determine which clients receive which updates.
- ezequiel-garzon 12y agoGrammar question from this non-native English speaker: does it sound right to say "you can quickly develop performance AJAX applications"? Wouldn't you say something like "high-performance AJAX applications" or "highly performant AJAX applications" (or just "performant AJAX applications")? It seems to be missing something.
- kra34 12y ago"Performant" actually isn't a dictionary word, there is sort of a debate about it's use: http://english.stackexchange.com/questions/38945/what-is-wrong-with-the-word-performant http://english.stackexchange.com/questions/38945/what-is-wro... the way they are using it seems like their spell checker just changed the word from "performant" to "performance"
- needusername 12y agoThis http://www.gwtproject.org/doc/latest/DevGuideCodingBasicsCompatibility.html http://www.gwtproject.org/doc/latest/DevGuideCodingBasicsCom... seems to indicate that GWT still supports only Java 1.5. Is this true or simply outdated documentation?
- florian-f 12y agoNo, currently it's 1.7 (with gwt2.7.0) and soon (when gwt 3.0.0 is released) it will support java 8. Parts of the page are still rather outdated and haven't really been touched since 2010/ 2012. This is why it's so great that the site got a new look now, it indicates that things are moving again and I'm sure the outdated parts are going to be removed soon.