<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Volta, GWT and leaky abstractions</title>
	<atom:link href="http://jamesmckay.net/2007/12/volta-gwt-and-leaky-abstractions/feed/" rel="self" type="application/rss+xml" />
	<link>http://jamesmckay.net/2007/12/volta-gwt-and-leaky-abstractions/</link>
	<description>because there are few things that are less logical than business logic</description>
	<lastBuildDate>Mon, 19 Dec 2011 16:13:58 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
	<item>
		<title>By: James</title>
		<link>http://jamesmckay.net/2007/12/volta-gwt-and-leaky-abstractions/comment-page-1/#comment-2294</link>
		<dc:creator>James</dc:creator>
		<pubDate>Sun, 03 Feb 2008 22:50:59 +0000</pubDate>
		<guid isPermaLink="false">http://jamesmckay.net/2007/12/volta-gwt-and-leaky-abstractions/#comment-2294</guid>
		<description>@Bruce: You&#039;ve clarified a point that I think I could possibly have been a bit clearer about myself. I&#039;m not intending to be anti-GWT/Volta/RJS here so much as pro-JavaScript. As you say, actual JavaScript objects, via JSNI or however, will help to fill in the gaps and I quite agree.

@Mats/@A_min: see my response to Bruce. While it is possible to do a lot in GWT/Volta, and perhaps most things, IMO you are doing yourselves a disservice if you hide from the raw JavaScript aspect of it altogether. The fact remains that there will be gaps and cases that it doesn&#039;t cover where you will need to resort to JavaScript to do what you need to do. Besides, as I said, JavaScript isn&#039;t quite the monster that we tend to think of it as being.</description>
		<content:encoded><![CDATA[<p>@Bruce: You&#8217;ve clarified a point that I think I could possibly have been a bit clearer about myself. I&#8217;m not intending to be anti-GWT/Volta/RJS here so much as pro-JavaScript. As you say, actual JavaScript objects, via JSNI or however, will help to fill in the gaps and I quite agree.</p>
<p>@Mats/@A_min: see my response to Bruce. While it is possible to do a lot in GWT/Volta, and perhaps most things, IMO you are doing yourselves a disservice if you hide from the raw JavaScript aspect of it altogether. The fact remains that there will be gaps and cases that it doesn&#8217;t cover where you will need to resort to JavaScript to do what you need to do. Besides, as I said, JavaScript isn&#8217;t quite the monster that we tend to think of it as being.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Bruce Johnson</title>
		<link>http://jamesmckay.net/2007/12/volta-gwt-and-leaky-abstractions/comment-page-1/#comment-2276</link>
		<dc:creator>Bruce Johnson</dc:creator>
		<pubDate>Fri, 01 Feb 2008 16:43:19 +0000</pubDate>
		<guid isPermaLink="false">http://jamesmckay.net/2007/12/volta-gwt-and-leaky-abstractions/#comment-2276</guid>
		<description>GWT is indeed a leaky abstraction. This is the case both because (1) all abstractions leak, and (2) we designed GWT that way on purpose. 

GWT aims to provide lots of leverage around the problem of building complex, portable Ajax code for browsers. But that is very intentionally not the same thing as trying to enforce some sort of idealized walled garden, pretending that it isn&#039;t really a browser underneath. That would be hopelessly unrealistic and probably not even in the developer&#039;s best interest. What if a hot new plug-in comes out (e.g. Google Gears)? You need to make it easy to use any browser technology directly from a GWT code base. That&#039;s the reason for GWT&#039;s JavaScript Native Interface (JSNI) and its special treatment of the JavaScriptObject class as a zero-overhead handle to actual JS objects.

We like to think this philosophy provides the best of both worlds: easy interop with handwritten JavaScript, yet highly optimized compiled JavaScript code. (Check out the JS code produced by the latest versions of the GWT compiler to see just how far it goes optimizing Java source.)</description>
		<content:encoded><![CDATA[<p>GWT is indeed a leaky abstraction. This is the case both because (1) all abstractions leak, and (2) we designed GWT that way on purpose. </p>
<p>GWT aims to provide lots of leverage around the problem of building complex, portable Ajax code for browsers. But that is very intentionally not the same thing as trying to enforce some sort of idealized walled garden, pretending that it isn&#8217;t really a browser underneath. That would be hopelessly unrealistic and probably not even in the developer&#8217;s best interest. What if a hot new plug-in comes out (e.g. Google Gears)? You need to make it easy to use any browser technology directly from a GWT code base. That&#8217;s the reason for GWT&#8217;s JavaScript Native Interface (JSNI) and its special treatment of the JavaScriptObject class as a zero-overhead handle to actual JS objects.</p>
<p>We like to think this philosophy provides the best of both worlds: easy interop with handwritten JavaScript, yet highly optimized compiled JavaScript code. (Check out the JS code produced by the latest versions of the GWT compiler to see just how far it goes optimizing Java source.)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: A_min</title>
		<link>http://jamesmckay.net/2007/12/volta-gwt-and-leaky-abstractions/comment-page-1/#comment-2256</link>
		<dc:creator>A_min</dc:creator>
		<pubDate>Tue, 29 Jan 2008 03:05:38 +0000</pubDate>
		<guid isPermaLink="false">http://jamesmckay.net/2007/12/volta-gwt-and-leaky-abstractions/#comment-2256</guid>
		<description>I believe, that GWT will go being great ... there is seriously no need for us to think how to let browsers execute ... Lets just focus more on the logic, let the browsers world become an independent feild, an abstracted one ... Let the computer do this job

Moreover, I must tell JavaScript experts that GWT and others will start making web browsers techonologies more sophisticated and harder to implement, this is mainly because GWT will become very famous soon... This is a revolution for java again ... Thanks to Google ...</description>
		<content:encoded><![CDATA[<p>I believe, that GWT will go being great &#8230; there is seriously no need for us to think how to let browsers execute &#8230; Lets just focus more on the logic, let the browsers world become an independent feild, an abstracted one &#8230; Let the computer do this job</p>
<p>Moreover, I must tell JavaScript experts that GWT and others will start making web browsers techonologies more sophisticated and harder to implement, this is mainly because GWT will become very famous soon&#8230; This is a revolution for java again &#8230; Thanks to Google &#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mats Helander</title>
		<link>http://jamesmckay.net/2007/12/volta-gwt-and-leaky-abstractions/comment-page-1/#comment-2127</link>
		<dc:creator>Mats Helander</dc:creator>
		<pubDate>Thu, 13 Dec 2007 20:12:13 +0000</pubDate>
		<guid isPermaLink="false">http://jamesmckay.net/2007/12/volta-gwt-and-leaky-abstractions/#comment-2127</guid>
		<description>&quot;I am also sceptical of the benefit of being able to move parts of your application between the client and the server. Far from making things simpler, this could introduce a whole new can of worms if it is not carefully thought out, partly in terms of performance, particularly if you end up with a very chatty interface between them,&quot;

Well, the risk is certainly there, agreed. But you also have the potential to build a lot less chatty, more high performing applications.

Before, as soon as the client needed any interesting computation done it would have to call the server for this...well, at least it would if I had coded it, since wild horses couldn&#039;t make me attempt implementing complex computations in JavaScript. Yet again. 

But now I can write the computations in C# but have them execute as JavaScript on the client. This means the client won&#039;t have to call back to the server anymore, making for a less chatty and probably more responsive app - and potentially more high performing since it can then utilize the client&#039;s idle supercomputer instead of further overloading a poor server. 

/Mats</description>
		<content:encoded><![CDATA[<p>&#8220;I am also sceptical of the benefit of being able to move parts of your application between the client and the server. Far from making things simpler, this could introduce a whole new can of worms if it is not carefully thought out, partly in terms of performance, particularly if you end up with a very chatty interface between them,&#8221;</p>
<p>Well, the risk is certainly there, agreed. But you also have the potential to build a lot less chatty, more high performing applications.</p>
<p>Before, as soon as the client needed any interesting computation done it would have to call the server for this&#8230;well, at least it would if I had coded it, since wild horses couldn&#8217;t make me attempt implementing complex computations in JavaScript. Yet again. </p>
<p>But now I can write the computations in C# but have them execute as JavaScript on the client. This means the client won&#8217;t have to call back to the server anymore, making for a less chatty and probably more responsive app &#8211; and potentially more high performing since it can then utilize the client&#8217;s idle supercomputer instead of further overloading a poor server. </p>
<p>/Mats</p>
]]></content:encoded>
	</item>
</channel>
</rss>

