Google Releases AJAX Framework
maquina writes "Google released a new AJAX framework based on Java. From Google's mouth: "Google Web Toolkit (GWT) is a Java software development framework that makes writing AJAX applications like Google Maps and Gmail easy for developers who don't speak browser quirks as a second language." This impressive framework promises to make AJAX available to the masses and is one more step towards Google becoming the de facto Internet platform provider."
Your source of, vangaurd of and now creator of all your information.
...is by far and above the fact that you are coding your website in Java, using their API and SWT-like objects, and the Javascript/Ajax is then generated from your classes.
I think Google is mostly responsible for launching the AJAX trend, and now they're moving in a brand new direction? Beautiful.
Oh and they even distributed half of the source code for the project in the JAR files.
I keep trying to read the story, and my brain just keeps seeing GOOGLE AJAX WEB DEVELOPMENT and filling in XML RUBY ON RAILS TAGBLOGCAST WEB 2.0.
xkcd.com - a webcomic of mathematics, love, and language.
Yahoo has already done this, but apparently they don't have fanboys like Google. http://developer.yahoo.com/yui/
Why?
Pixel image editor - http://www.kanzelsberger.com
Developers are tired of having to reinvent the wheel every time with dynamic components on web pages, and things like PEAR do not have all their component lib. in one centralized location like this. A developer framework for AJAX is definitely a revolutionary. It marks the move toward using web-based platforms for a greater and greater percentage of common computing functions.
Do not downmod posts "overrated" simply because you disagree with them.
Likely because it isn't a joke about an unfortunatly named Nintendo console.
I don't give a damn for a man that can only spell a word one way.
Mark Twain
...welcome our new buzzword-compliant overlords. MFG, all I read these days is Google, Java and/or AJAX.
Something about "stuff that matters".
No, they haven't - at least not unless you have some other information you're not sharing.
From the Google site:
From the Yahoo link you provided:
So, how is this the same thing?
I've seen ajax a few times....
But I usually don't inflict tired jokes on the slashdot audience (oh, wait, I do all the time, sorry)
There are shills on slashdot. Apparently, I'm one of them.
'cause i'm with this blog and I won't use it. I've already taken it (and ajaxtags) out of my current project and replaced it with js code based on DWR that won't conflict.
"But remember, most lynch mobs aren't this nice." (H.Simpson)
-- Joe
Bogtha Bogtha Bogtha
Prohibited Actions
Except for distributions for internal business and/or personal use to your employees or contractors in compliance with these Terms and Conditions, you may not distribute Google Web Toolkit Development Tools or any services or software associated with or derived from them, or modify, copy, license, or create derivative works from Google Web Toolkit Development Tools, unless you obtain Google's written permission in advance. If you wish to do any of the above, please contact us by emailing apis@google.com. You may not use the Google Web Toolkit Development Tools to develop or distribute products that violate the law or legal rights of third parties.
No, I'm not looking a gift horse in the mouth and why does this matter? Because I happen to prefer PHP for web development (just a personal preference). It would be nice to be able to move the JavaScript components off from the Java framework into a PHP based framework. Well, apparantly you can't do that without special permission.
BTW, the Yahoo UI Library is BSD licensed.
Bogtha Bogtha Bogtha
"http://www.w3.org/TR/html4/strict.dtd"><html<head <title>Re:Interesting?</></><body<h1<em>I</> Do believe there </><p<a
href="http://www.example.com"<em>there</></>.
Evil?</><p<a
href="http://www.example.com/">is</></></></>
Yes the above code is valid html. Do you speak it?
"In a time of universal deceit - telling the truth is a revolutionary act." - George Orwell
I'm not into fanboyism but this is very very impressive. I took a look at the demos. The Desktop App Clone is particularly very impressive and it shows you what can be achieved with this stuff! I've never liked web development for the compatibility nightmare and plus the fact that it's a very messy business. Java with it's object oriented goodness will allow feature full applications to be developed extremely quickly!
The oft-copied 'google suggest' dropdown stuff. It's not something demoed in the 'kitchensink' app they provide at http://code.google.com/webtoolkit/documentation/ex amples/kitchensink/.
.net can use atlas for most of these features, people using Ruby or other scripting langauges probably have bindings to scriptaculous and other libraries to handle most of this. There were/are probably Java bindings already for scriptaculous, but this makes it easier for java people already used to swing/awt stuff.
:)
I agree with someone else that the Yahoo UI (yui) toolkit seems to get ignored a bit, but I think this plays to a different crowd.
1) This is a java-based thing only it seems. People writing
2) The YUI stuff was more javascript oriented, and, from my experience, difficult to use in some settings. I had a hard time getting the slider stuff to work as needed based solely on their code and one example page, for example. Perhaps that makes me not as l33t as some others who can debug others' javascript in their sleep - I dunno. I do know that if Google makes this easy for people to adopt, it'll take off. Partially because there's a lot of google love amongst early-adopters in the tech community, and partially because making things easy is just a good way to attract people.
3) With the YUI stuff, Yahoo was/is seeming to cater to the scripting crowd more (witness the native serialized PHP responses you can get back). If google is going after the "I write Java apps" crowd, they may be able to bring in a new set of people to web-app development who before now were not in the web space.
I interviewed one of the Yahoo engineers who worked on the YUI widgets release at my podcast - http://webdevradio.com - you can get some more perspective on what Yahoo was/is doing and trying to achieve with that move.
Just some random thoughts...
creation science book
This is great news for all the developers out there. Google by doing this has proved once again that smart business practices and investments make a company, now how much software they patent and lock down. They specfically say that you can create applications like Google Maps and Gmail using their framework. Is someone gonna create a new Gmail or seach engine and take over Google? Prolly not, but Google has shown that not only can it develop high power applications and set the footprints for following developers, but they can also help the community advance just as they have. Just one of the many reasons I love Google.
Bryan
This is required by the Central Hype-Limit Theorem:
Sorry, but I have to give it to someone other than Microsoft. While they did essentially invent the tech behind Ajax, the only major project they used it on was basically something that was closed. I don't mean source, but not open to the public. You only saw it if you had an organization using Outlook/Exchange in the first place, which still excluded a huge majority of people using the web. Had they ported hotmail to the OWA interface, that would have been a major revolution far greater than google maps or anything else. But they didn't.
creation science book
That just proves the w3c validator has bugs in it. There's no way that's valid HTML.
No.. but then again I am not a developer... ;)
The sad part is I can read some of it...
I don't give a damn for a man that can only spell a word one way.
Mark Twain
.NET and AJAX really don't play nicely.
Have you seen ICallbackEventHandler in ASP.NET 2 and MS's own ATLAS toolkit?
This impressive framework promises to make AJAX available to the masses and is one more step towards Google becoming the de facto Internet platform provider."
Erm, actually they're playing catch up. From what I can tell, GWT is rather inferior to YUI.
The browser vendors consider this "a really good thing" because it offers "product differentiation" and "market segment focus". The cost in human lives is not an issue.
The Russians have won. They have made the world a cesspool of distrust, greed, fear and hate.
The w3c validator is fine, to my understanding this is valid html
http://virtuelvis.com/archives/2004/02/evilml
"In a time of universal deceit - telling the truth is a revolutionary act." - George Orwell
Yes, it is. It just uses HTML syntax that virtually no browsers have implemented. This is what the HTML 4.01 specification has to say on the matter:
Bogtha Bogtha Bogtha
Sounds great for really large sites, but for the average developer, is it an improvement? Sure, if you're already coding the site in Java, it's a great tool. Still, I'd just as soon keep my existing AJAX class in an external JavaScript file and include it with 1 line of html. Customizing it for each site is quite fast, and it leaves me with full control. It's the same major complaint I have against ASP.NET: Why learn code to generate your code when you can cut out the middle man and write your own *exactly* how you want it?
I have, but I don't feel comfortable yet, implementing a new MS technology. MS sometimes adopts, and then extinquishes new thing. AJAX, being universal, wouldn't succum to this, imo.
No, it includes some relatively unknown bits of the HTML 4.01 spec. You can use to close the most recent open element, but I don't know of any browsers that support it nor any web developers who use it. I'm not positive, but that might be something inherited from SGML.
'Yes, firefox is indeed greater than women. Can women block pops up for you? No. Can Firefox show you naked women? Yes.'
This is an impressive toolkit and a nice approach, but Google is not the first to do this. Has anyone heard of ThinWire (http://www.thinwire.com/)? There are already production applications in place built on this framework.
I didn't know Google was a Java shop. Do they mainly code serverside stuff in Java these days? If so, which technology are they using (O/R mapper, servlet container, tricks & quirks). Would be interesting to know.
Any infos?
More like .NET isn't ready for AJAX. AJAX doesn't really use any new web technologies, it just applies existing ones in a somewhat new way. ASP.NET OTOH is a framework that tries to completely shield the developer from the underlying web technologies, and it does so with varying degrees of success, in the process turning out web technology idiots.
It's really nice to see a company releasing new products to stay competitive instead of using litigation to destroy their competitors. I hope they can keep it up.
Search Slashdot for ATLAS (and make sure to copy over all of the negative posts about why people don't want this).
.NET GUI objects to render browser-compliant javascript and HTML.
Atlas is the AJAX framework built by Microsoft that allows you to use
It is a much more proper predecessor to Google's release, compared with Yahoo!'s offering (which I believe MS also predated).
Slashcode bug # 497457 - unfixed since December 2001 - Go look it up!
o/~ Join us now and share the software
http://developers.slashdot.org/article.pl?sid=06/0 2/14/1326238
Overlooked in what way? The title of the article was "Google Releases AJAX Framework," not "A Comprehensive Listing of All AJAX Toolkits."
-rd
I was all excited to start learning to do AJAX the Google way (Because I really don't have time to navigate the browser incompatibility minefield). I pulled up a demo in IE7... Blammo, error on page.
I'm excited for this tool, but I can't use it yet. Bummer.
~D
This sig has been enciphered with a one-time pad. It could say almost anything.
There is a certain amount of genius in this. For years I've wondered what the best way to combine HTML/Javascript and OO language is, and now it seems obvious: create a tool kit that structures and generates the HTML for you, just as a window toolkit handles it for you. Genius.
I've never been a big fan of % languages. Mixing HTML and anything always looks, bad and fails misrably at seperating code from presentation. Seperating code from presentation on a dynamic page is impossible, but sticking the code in the mark-up language is the wrong compromise, but was the better of two evils (see JSP/Servlets).
Actually having Java classes that represent HTML objects and using them to create dynamic webpages makes so much sense, I'm suprised no one, especially Sun, have tried it earlier.
Scared of flying, pointy things snce 1979!
From: http://code.google.com/webtoolkit/faq.html
"What's the catch? Does Google own my GWT application? Do I have to run AdSense? Do I have to give Google my first-born child?
There's no catch, we promise. See the Terms of Use for the nitty gritty details."
I checked the ToU, apparently you have to make Adsense space on your *second* born child. Premium crib space is up to eCPM of $0.42 cents too, diapers down to under 10 cents.
Very clever of them, I bet most people wouldn't check...
I haven't tried this yet, but I'm wary of any Java->JavaScript/HTML compiler. Inevitably, there will be something you need to work around in the JS/HTML but can't.
It's just an abstraction layer which may be nice for simple things that don't need much customization but in reality, it will end up being something that gets in the way and you have to hack some workarounds to get exactly what you want.
Really, how hard is it to code JavaScript and HTML? AJAX isn't braing surgery or rocket science. Most browser incompatabilities are well-known and there are published workarounds that are easy to find if you can't figure them out yourself.
I'd rather hand code my HTML/CSS so I get exactly what I want (and nothing extra). I hate auto-generated HTML.
And here I was all ready to take off my tinfoil hat.
Yes, it could be done. I've thought about it before, and I don't think it should be limited to a browser. Imagine an OS where the entire interface was essentially ajax. Any browser passing the acid2 test could replicate any OS look and feel. JS certainly isn't ideal for fancy UI effects, but ive used scriptaculous lib and it does a very good job with transparency and other cool effects. Of course, any OS that decided to take on this approach would certainly optimize js to death. This way, all you'd have to do to create a new theme would be to plug in a different CSS file.
Similes are like metaphors
Beg to differ. JavaScript has just as much "modularity" as any other object-oriented language; methods like JSON and libraries like Dojo, Prototype, and the aforementioned Yahoo! Web Services APIs are proof.
Every few years there comes along Yet Another Initiative to fire all the webdevs. No disrepect to Google's engineers, who are clearly brilliant, but we've been there and done that. For a good time, open up Firefox's DOM Inspector, crack into their Kitchen Sink demo, and boggle over the iframes and tables and embedded JavaScript, oh my!
I haven't heard anyone comment about what I think is a great feature in this toolkit:
I know this is something you can hack together if you're writing your own hand-crafted js, but this will be a nice feature -- I haven't looked at the toolkit yet, but I wonder how easy to use this will be.
Have any of the other frameworks provided this mechanism?
Fine, but what Google did is neither really. It's a way of writing Java code (which has great error checking) to produce XHTML and JavaScript.
Java is still involved, but it really isn't in either a client or server roles here.
I wonder how difficult it will be to write degradable applications with this toolkit. The demo applications I played with do nothing at all with javascript disabled... they're just a script tag in a body tag, so they make no attempt to render the application using plain HTML. I know they're just demos, but it won't save any time if you have to develop the non-js version separately... which is a problem particularly for those of us who have to develop to accessibility standards.
Also, this is coming right on the heels of the buzz about Oracle's AJAX Framework... and of course there's the Eclipse AJAX Toolkit Framework, which uses Dojo, Zimbra, and OpenRico (which in turn uses prototype)... others have mentioned Yahoo!'s toolkit and Atlas, as well, not to mention Rails... My point is that there are suddenly a ton of frameworks that all have slightly different approaches to the whole AJAX idea. Some are higher-level, some lower; some target a specific server backend; some offer UI libraries... Any or all of these might merge or die off or be made irrelevant at any time. It's almost harder to develop AJAXy applications now than back when you had to write your own HTTP request code... sure, you can knock one out in ten minutes now, but you spend the time you saved choosing the toolset beforehand.
I think I'll wait a bit... we've put the scorpions in the box and shaken it, so let's see who survives.
perl -e 'foreach(values %SIG){$_="IGNORE";}while(){}'
Coding your UI in java and having it translated into javascript and html without having to worry about cross browser compatibility?
Sounds familiar. It's rather like the echo framework
The big differences I see are:
1) Google toolkit advantages:
- No load on the server to render the UI. All ui code runs on the browser, so this may help server scalability.
2) Echo advantages:
- Fully open source.
- Richer set of ui components (IMO - see the demo at http://demo.nextapp.com/Demo/app )
-- MartinG To mail me: echo kewyjlcxyzvjfxbqwh | tr bcefhjklqvwxyz
Are they using this for their own webapps?
...when Google started vacuuming up a lot of stray Java talent? I'm thinking of folks like Josh Bloch (author of Effective Java, one of the best books I've ever read on Java) and Adam Bosworth (former CTO of BEA). I was always sort of curious about what Google was up to. I've got no proof that either of these gentlemen we involved in GWT, but I'd be surprised if they weren't. Good job, Google.
I will see your ICallbackEventHandler and raise you a ActionListener It existed long before Atlas. I do both
You'll need IETab or (gasp) IE5+, but this comes to mind:
http://omar.mvps.org/
I can't decide whether he's clever or just insane...
Note that this toolkit primarly seem to try solve the problems of browser quirks, more efficiently design web sites using AJAX, and do remote procedure calls, not really to leverage the power of Java development and its language to web developers and Javascript.
The Google Web Toolkit supports only a small fraction of the Java Standard Library and seem to be able to replicate the functionality of only a few classes through its emulation library.
This is the stuff from the Java libraries that you can use and have it be able to "translate" your work: java.lang classes and java.util classes.
Beware: In C++, your friends can see your privates!
O.K... I've got to have the doctor change my caffeine prescription. The quote (and sig.) is a clever reversal of Clarke's law. You may take the rest of my Karma points now.
Ask me about my sig!
Central hype-limit theorem: once in a while, somebody on SD says something positively brilliant. This was it. Mod it up.
I haven't dug all the way through this yet, but I'd assume you can't just turn any old Java app into HTML+JS web app. I doubt there's support for the Swing API or even the SWT (though it looks at first glance to be based more off of SWT?). Am I right to assume you have to use their UI classes to get this to work? Other than that does it support using the rest of the API?
Yeah, I was actually wondering about this. Google claims you don't need to know the quirks of browser programming, but for those of us who are well versed in JS and not-so-much in java, this isn't necessarily a good thing. I'm also _somewhat_ wearly of generated code, however not too much a concern with it coming from google whom I have great faith in.
I'm also certain that Java code cannot, in it's entirety and full functionality, translate into js. This is where my confusion sets in. How can you debug javascript, in Java, before it has been "translated" to javascript. What if I create an object in java using inheritance, interfaces, constructors, destructors, function overloading... etc. How would that ever possibly translate? Or am i missing the point?
Finally, when I hear "AJAX Framework," I think of a framework that facilitates the creation of both a server and client (which I am currently working on btw, to be released open source shortly). As far as I can tell, Google's framework is for the development of the client portion of an AJAX application.
Somebody, please enlighten me.
Similes are like metaphors
Is it free-/opensoftware?
Yes the above code is valid html. Do you speak it?
;-)
Yeah, but I also know English pretty well, and that wasn't syntactically correct English. The "there" should be "they're". And the "Do" really shouldn't be capitalized, unless you're also going to capitalize "believe".
Oh, and where's the closing > for the <body tag?
Those who do study history are doomed to stand helplessly by while everyone else repeats it.
In their Kitchen Sink Demo, click on the text tab. In the Text area box, type some text in. Then, highlight some of it. Notice how the Selection on the right shows what you have highlighted. Now, highlight some other text, but drag out of the window before you release the mouse button. Now, you have text in the box highlighted, but the selection indicates the wrong thing. It looks like they are updating the selection field only on mouseup...
x amples/kitchensink/demo.html#Text
http://code.google.com/webtoolkit/documentation/e
Randy.Flood@RHCE2B.COM
I keep seeing the phrase "Internet platform". Is there a coherent definition of this phrase? Or is it another of those phrases like "Web 2.0" that means whatever the writer wants it to mean, and is just used to impress the newbies with something that sound technical but isn't?
Those who do study history are doomed to stand helplessly by while everyone else repeats it.
Hm, for the first time ever, Google is playing catch-up with Microsoft. Microsoft has in fact released an AJAX toolkit a long time ago -- see ATLAS which is currently in community technology preview.
It's also free, so can anyone tell my Google's is better (and I don't want to hear arguments like "it's google's!")? Has anybody done a comparison?
I could easily extend this argument and say that everyone just needs to learn assembler.
I agree it is important to know lower level concepts at a certain level. However, should I really need to learn every intricacy of the bugs in the DOM of IE vs. Mozilla in order to be productive with AJAX?
--
I suppose that's nice if you actually like programming in Java.
I'll stick to rolling my own, thanks. I suspect I wouldn't be able to use a tool like this for more than a half hour without finding something I want to do that the toolkit doesn't support. What then? Can you edit the JavaScript output by hand or is it totally obfuscated?
If I don't put anything here, will anyone recognize me anymore?
Environment: Windows XP Pro, Firefox 1.5.0.3
Test Case:
1. Launch Kitchen Sink Demo
2. Select the "popup" group from the list on the left
3. Click the Show Dialog button
4. Drag the dialog that pops up to the left of your browser window until the mouse pointer and the dialog are completely off the screen, and release it there (it's easiest to do if you have dual monitors or you reduce your browser window so you can "drop" the dialog on the desktop. Grab hold of the dialog on the very right edge of the title bar).
Result: The dialog is no longer in the browser and visible. You can't re-drag it back into view. And because it's a modal dialog, the controls that are visible are no longer clickable.
If anyone from Google is reading this, would I qualify for a job now? :-)
Phemur
As fascinating as all this Yahoo vs Google bickering is, it might be nice to have a discussion about the framework itself. For instance, how reliable is the Java-to-JS compiler? What are the odds that something breaks and then I can't debug it because I either don't know JavaScript or the JavaScript the compiler spit out is illegible? How do I know the Google team has anticipated all the things that I can do with AWT that I might want to do in the browser? Admittedly, I should read the documentation more thoroughly, but I still think these are good questions.
On a related note, since I've recently started programming in ASP.NET and C# (not by my own choice), does anyone care to compare GWT to Atlas?
I looked at the license and it is free to use (i.e. free as in beer), but not free to modify, copy, or distribute (free as in speech).
We've been working on C++ AJAX toolkit called Wt. Similar to GWT, it completely hides the complexity resulting from Javascript ui logic, DHTML, XML, etc associated with creating AJAX applications. Best of all, it is pattterned from the Qt toolkit and allows you to design webapps as you would in any desktop Qt application.
It is completely object-oriented and the event mechanism is even handled by the signal and slots approach, allowing the same programming elegance found in Qt-based software. It allows you to focus on the design and logic of your program in one place and one place only! Quite similar to how Qt hides the details of the underlying window system from the programmer.
See this overview and a sample
Note the familar Qt-like syntax in creating a tree widget. [kuleuven.ac.be]
If you like writing GUI apps in Qt and would like to do the same in AJAX apps including the possiblity to integrate with desktop programs, please check it out!
I am surprised that no one has yet brought up lisp macros which can be used to develop a similar framework. Code can be written in Lisp and compiles/generates to javascript. See http://www.cliki.net/Parenscript and http://www.cliki.net/jsgen for implementations in common lisp. The problem I see with any form of generated javascript is that it will be hard to debug should something unexpectedly go wrong.
Aside from being funny, that's one of the most insightful things I've read in a while.
As the size of the sample increases, the average opinion of the group approaches the actual utility of the product in question.
Superb.
Actually, GWT works with all server technologies (PHP, ASP, Java, etc). GWT is primarily a client-side technology that is deployed as HTML and JavaScript that can be served by any web server. If you want to do RPCs from GWT to a non-Java server, that is easy too; check out our JSON RPC example here: http://code.google.com/webtoolkit/documentation/ex amples/jsonrpc/. We created this example to demonstrate this exact use case.
Bret Taylor
Product Manager, Google Web Toolkit
Finally, my knowledge of statistics helps me understand a joke on slashdot.
I guess that makes us both HUGE NERDS. Bravo!
> I could easily extend this argument and say that everyone just needs to learn assembler.
Actually, that would be wrong, since the lowest practical denominator are the OS APIs, not CPU registers. The language is quite immaterial.
> should I really need to learn every intricacy of the bugs in the DOM of IE vs. Mozilla in order to be productive with AJAX?
You shouldn't have to, but it helps. Besides, these frameworks address a lot more than just AJAX--in fact, some don't even address AJAX at all. The real issue here is the abstraction of page creation on the server side. Instead of generating raw HTML+JavaScript from within server-side executable pages (PHP, ASP etc.) using a language that doesn't introduce any serious abstractions, we are now creating web pages as a side effect of manipulating fairly abstracted classes. This is nifty and very productivity enhancing, but you are developing around a different paradigm, and different frameworks will have slightly different takes on this paradigm. And if there are bugs or glitches in the framework, you have to drop down to HTML+JavaScript and examine the client side code that is generated to see what the problem is. Then you have to dig through the framework classes to find where the problem is, provided you even have access to the source code. A good framework will give you lots of opportunities to intervene in the page creation process to manipulate the final output.
Anyway, my main concern is that when you move away from PHP or ASP (which mainly differ in syntax more than anything else) and target a particular framework as your lowest level API (so to speak), you become dependent on that particular paradigm. Switching to a different framework may require considerable relearning of class hierarchies and the way things are done. Still, given a significant overall productivity jump, this may be acceptable overall.
"Google Web Toolkit (GWT) is a Java software development framework that makes writing AJAX applications like Google Maps and Gmail easy for developers who don't speak browser quirks as a second language."
Does this mean that Google will finally be able to get their apps working properly in all of the major browsers?
Why am I not brimming with confidence?
-30-
I'm not sure if this has anything to do with my post at all...
I'm also certain that Java code cannot, in it's entirety and full functionality, translate into js. This is where my confusion sets in. How can you debug javascript, in Java, before it has been "translated" to javascript. What if I create an object in java using inheritance, interfaces, constructors, destructors, function overloading... etc. How would that ever possibly translate? Or am i missing the point?
How about you read the docs? It's all there. Partial support of the java.util and java.lang packages. No destructor support...and interfaces are only used on the Java side for type-checking (which is fine, it's what they're for). Furthermore, Javascript supports inheritance through the prototype chain already. There are also constructors.
As far as overloading goes, as long as you're controlling the compiler, you can choose to output multiple methods - one for each overload.
"the general consensus among Java devs curious enough to check out another language is that Ruby is far better"
I'd like to see some backup for that statement. I'm a Java dev that has taken the time to check out both Ruby and Python, and have reached the conclusion "don't quite your day job".
AJAX, for me, is very simple to understand. I just don't see the need for complexity. Consider the following reasons.
I find that using HTML with CSS to be simple.
I find that using HTML, CSS, with javascript to be simple
I find that using HTML, CSS, javascript, XML, XSLT to be simple.
I find that using HTML, CSS, javascript, XML, XSLT, "Server Side Language that Handles WebServices", XSD to be simple.
I find that using HTML, CSS, XML, XSLT, "Server Side Language that Handles WebServices", XSD to be simple.
On should notice that at this point that javascript is purly optional. Consider the argument that one can use javascript as a crutch until one is more familiar with XML. Also, javascript could be used to help the User with various edit checkings.
This is not meant to make small these framework developer's creativities, I'm just not seeing the need for complexity of using Java or Microsoft Frameworks for what can easily be done by using Notepad/vi. My webservice language of choice is PERL; But PHP, C#, Ruby, VB, Python, any language that could do the job of web services would work just as well.
My point is, these frameworks look like a laced version of "Bloat".
This is nice but fairly wacky. It conflates two separate ideas:
1) Browser-independent toolkit.
2) Java into JavaScript.
The second one no doubt appeals to many, although not to me since I am perfectly comfortable writing JavaScript. On the other hand, I'd love to see Google's take on the all-too-common browser-independent toolkit in *JavaScript*, but apparently I'm not going to!
It will be ok to be a web technology idiot once HTML & Javascript can be used like Assembly. There are many programmers that are Assembly idiots, but it doesn't matter since the compilers create perfect assembly code for you. Even though HTML & Javascript are human readable, they are a pain to use directly since you either have to find or build your own higher level widgets and functions. HTML is especially difficult to separate into components when you are writing it by hand, since it is just a big string of text. Because of this, it is incredibly difficult to combine two different groups of widgets since you can't define the parameters or return values of blocks of HTML so that you can validate that two chunks work together.
AJAX libraries have only become possible because development of IE has been stagnant, and development of Firefox/Mozilla has been very backwards compatible. Future versions of IE have the potential of killing AJAX libraries unless the popularity of cross-browser supporting websites prevents new incompatible versions of IE from gaining market share.
I hava a better idea -- write an applet. You can then have a real gui.
I'll never understand why HotJava died -- running applets on HotJava was a joy -- instantaneous startup.
Don't forget those, as well. Spry is being released under an OS license. All this makes it very difficult to pick a simple, efficient framework to base future projects on. *Sigh*
Heh, what a warped perspective you have. The only people moving to rails are the people that were using php. Java devs aren't going anywhere, its a damn good platform. Just the Java standard libraries alone puts it in a whole league of its own that is matched by no other. Perl's CPAN is a distant second. Oh and don't forget about Ruby's horrible performance. Do benchmarks, ruby is a few magnitudes of order slower than most other scripting language. About 10 times slower than python and about 50 times slower than perl. meanwhile Java can often outperform native code with a modern jvm simply because it handles memory so much more efficiently than most C coders can. This assumes that the native code isn't just doing raw calculations, but instead has to move memory around a bit.
In using Java to write JavaScript?
I have to admit that the live demo seemd to have some interesting things to offer. Thanks for the link.
"There is more worth loving than we have strength to love." - Brian Jay Stanley
I think you might be mis-interpreting what this thing does. Unless I've been seriously mis-guided I don't think this--at all--aims to replace PHP or ASP, or Servlets or any of those server side technologies.
:)
I believe this serves a primary purpose of enhancing the UI and any client-side processing that might be done as part of an app. In no way do I see it removing or replacing much of the server-side data validation or processing. I bet this stuff works great along side EJB, RoR, or PHP. Just paste the generated JavaScript right in there amongst your PHP code
--
First I want to say "Thank you" for releasing the project for free use and a double "Thank you" for having large portions under the Apache license.
.java files have an Apache license prefixed. Excellent!
I figured that the output would be owned by the user, but the terms initially looked like the toolkit itself was restricted except for the parts you got from other projects.
I opened the tarball and the two jars and have been reviewing some of the files. I see that substantial numbers of the
Once you unzip/untar the distribution and open the jars, lots of the classes are accompanied by .java source with an Apache license.
Forget "acceptable" - website design and development is perhaps the most practical science ever created. Nobody "does things because they can" in web development - people create toolkits, APIs, services, layouts, hacks, and other bits of code for the Web so that other people can use them to *actually build websites.* That means productivity is not only key, but it is desired at the practical exclusivity of knowledge of the code. In fact, if this toolkit means an art student largely ignorant of programming constructs can create a website like Flickr or Slashdot or a smoother looking Gmail, then I applaud that, because too few web designers really have any grasp of the word design.
The other difference between websites and most programs is that a lot of standalone programs are designed for niche users with specific needs, and can't be translated for other uses easily, whereas most website programming is designed out of flexibility. Because the web uses such loose languages (XML, JSON, SOAP, etc) toolkits are a great way to address the flexibility in a more intuitive way.
It's apples to oranges, really. Web design is 100% practicality.
...might be an alternative for those looking for an AJAX GUI toolkit/IDE as opposed to a Java-based AJAX code generator.
They have several "developer" and "public-display" licenses, although obviously a commercial solution: http://www.tibco.com/software/ria/default.jsp
body massage!
Not disagreeing with the rest — not competent to judge — but I know enough to know that. Guilt-by-association damn near fatally weakens your argument, though.
As always, all IMO. Insert "I think" everywhere grammatically possible.
1. Get Google's attention... http://developers.slashdot.org/article.pl?sid=05/0 2/09/1836256
2. ???
3. Profit!
> I think you might be mis-interpreting what this thing does.
Wow, I got this completely wrong. I admit I didn't RTFA, and simply assumed JSP or something like that as soon as I saw Java mentioned. This thing actually creates clean HTML+JavaScript files, which you're right, you can simply integrate with existing server side code. In fact, I may have to play with this some.
"You write your front end in the Java programming language, and the GWT compiler converts your Java classes to browser-compliant JavaScript and HTML." .NET works.
It's kinda like how
A little old, but here is one example: http://furryland.org/~mikec/bench/ :) Don't get me wrong, I love python, and prefer it whenever I can... but its slowness can be a real pain.
I've never seen python beat perl for anything (on that site you'll see python beat it for hashes but that is simply because of the underlying data structures, in the real world you would have done it differently in perl). For alot of graphics work or text processing, or heavy I/O though python is just slow as hell. Just walking a directory tree will take forever if it has a few levels to it. It really depends on the type of work you are doing, but often times for me, perl is more than 5 times faster, I was being generous with the 5
Regards,
Steve
What are the chances that a related package using Python instead of Java will be released/developed some time in the near future?
I don't know the technical obstacles to doing this (and please elaborate on this if you want), but I think it'd be a useful addition. I'm sure there's lots of people who use Python, but not Java (for a variety of reasons).
Thanks!
Salis
Favorite
That's like saying RISC assembler is easier to debug if you write it yourself than it is to debug if generated by a compiler.
Well, not exactly, but the tools for debugging JavaScript in browsers suck. I'd rather have to worry about compiler bugs in the Java->JS compiler.
Quick comparison of "program AJAX UI in Java frameworks":
echo2: released, server side executed, wysisyg ui editor
millstone: prerelease, server side executed, theme separated from application
zk: released, server side executed, xul support
google web toolkit: beta, java executed on client, google brand
All of the toolkits try to solve the same problem - allow creation of rich web ui with Java and avoid infinite testing often with JavaScript centric AJAX programming. From technical point of view, millstone, echo2 and fk are fairly similar. Google stands out with novel idea of cross-compiling java to javascript, that might make UI more responsive, lower server load and introduce security problems and make creation of client-server separation harder.
From marketing point of view the game is quite clear - Google is the brand.
echo2, zk and millstone are backed by small companies that support and live from the frameworks. All those products somehow combine open source licensing with business. Googles motivations are not clear in this stage.
For a quick demo about Millstone, see:
http://demo.itmill.com/AJAX/
Disclaimer: I am CEO of IT Mill Ltd that is the company behind Millstone UI Library.
Vaadin - the best open source framework for building web applications in Java - no plug
I don't know how many of the people making glib, sarcastic observations here have actually used Java from within Eclipse, but having recently worked on a project involving Java, JavaScript, and C all at once, I'm practically moist with glee that I may have much less JavaScript to deal with and debug natively. If you have to deal with Java, Eclipse is the way to go.
Maybe they need an "English 1.0 (transitional)" validator?
-- Trinity in high heels carrying a whip: The donimatrix - there is no spoonerism
Worst. Kept. Secret. Ever. Morfik builds AJAX RAD IDE. Google releases AJAX RAD IDE. Morfik uses a "compiler" to take Java and turn it into JavaScript, CSS, DHTML, etc. Google releases "compiler" to take Java and turn it into JavaScrip, CSS, DHTML, etc.
I'm SOOOOOOOOOOOOOOOOO surprised. It was nice to see that these two companies finally teamed up to get this into the hands of the masses. Good job!
Friends help you move. Real friends help you move bodies.
Never forget: 2 + 2 = 5 for extremely large values of 2.
What about people who use screen readers and such? Taking are of those people also means your site can be used for government and will probably work well with various other devices.
From what I can see in the documentation and sample source code, the GWT produces the client-side code and an extended servlet. This requires a J2EE container (e.g. Tomcat) to be running on the web server, in order to deploy the application to the Web.
However, most consumer hosting providers offer LAMP (Linux, Apache, MySQL, PHP) style packages rather than J2EE, so I'm curious to know if the GWT offers any support for this as the server-side AJAX component? If not, and if it relies on a J2EE-powered server, it's surely missing a trick.
I have mentioned Laszlo a fair few times here... but Laszlo does what this framework does, but far better, far more extensively, in an easier to code in language (XML + Javascript), and can render your output to Flash OR DHTML from the same source code (note that the DHTML output is in pre-beta form).
Hurray for Google for providing this, and it'll be nice for some... but it's not revolutionary.
Same here.
lightweight huh?
Hi Bret, could you pass this to the Google Desktop team please?
I recently received a Dell laptop, WinXP SP2. It came pre-loaded with Google desktop. I did NOT enable Google desktop. I also patched WinXP from the MS update site.
I do a lot of Java/JSP development, using Java 1.5, Eclipse, MyEclipse, and Tomcat. All this resides on the laptop and browser access is via the 127.0.0.1 loopback. I am on an Intranet which had no access to the Internet.
1.
I was getting random "Page not found" errors. I could not find a pattern to the errors. The same page would work 10 times, would fail twice, then would work again. When it failed I saw that a Google search was being performed on the http://127.0.0.1/ address.
I went through every browser option I could find to turn off ALL automated searches for web links. Still had the problems. I d/l and installed a special patch which was supposed to fix a loop-back problem in the WinXP firewall. Still had the problems.
2. When I am doing testing I do a lot of back and forthing between pages. This is usually between the LIST page and the EDIT page. The LIST page displays a bunch of rows. You click on the Edit button, and that row is loaded into the EDIT page. Clicking on Save saves the info to the database, and takes you back to the LIST page.
I noticed that after the EDIT page was loaded, a phantom call to the LIST servlet was being made. This was not in any part of the code and was not an action I initiated. Trying out the LIST/EDIT cycle from another machine (Win2K) did not cause this to happen.
Note that I try REALLY hard to turn off all browser caching through every header directive I could locate.
The Fix.
After a frustrating week, and since the loopback failure was using Google, I tried to remove Google Desktop. I used the Uninstall file. The un-install stated that it completed successfully, BUT what i really did was to turn it on. I now had an extra box in IE for Google Desktop!
Ok, I rooted through the registry and removed anything to do with Google. I deleted all the Google EXEs/ DLLs I could find.
Once this was done, the loopback error disappeared AND the phantom call to the LIST servlet went away. This was over three months ago.
I can only surmise that Google was intercepting page calls and:
- every so often it would "fail" the loopback and try to find it on the Internet
- in spite of all the no-cache directives, it noticed the pattern of LIST/ EDIT/ LIST/ EDIT, and "helpfully" tried to pre-fetch the LIST page
Just some thoughts.....
- - - - - - - - - - -
I am a programmer. I am paid to produce syntax not grammar. Deal with it.
In one sense this is true. However in ASP.Net you are encouraged to use the ASP.Net WebUI controls, which include postback, server side events etc. The reality is that these are implemented with client side Javascript and Postback, to force the request to the server. The end result is HTML and Javascript that is often unpleasant, doesn't conform to standards and not cross-browser compatible.
.Net for a living.
I should know, I code
meh
Looking at the kitchen sink demo -- Wouldn't it be so much better if HTML forms included all common UI elements, rather than web devs having to keep building them for themselves out of tonnes of html and javascript?
I mod down anyone who says "I will be modded down for this", regardless of the rest of their comment
I guess I'm the only one here on the cutting edge, trying out IE7 B2.
The Google system does not work in IE7 B2.
Will Microsoft fix this,.... or simply let all of google's toys die as time passes, and the vast majority of people upgrade their browsers from IE6 to IE7?
George Bush + Linux = "I will not let information get in the way of the fight against Windows"
I ment to say 'I do believe there is', which I'm pretty sure is correct. The 'Evil' was left in by mistake from the original. It should be 'they're' otherwise.
"In a time of universal deceit - telling the truth is a revolutionary act." - George Orwell