<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Really Aced &#187; gwt</title>
	<atom:link href="http://blog.sommestad.net/tag/gwt/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.sommestad.net</link>
	<description>Web and Cocoa development through the eyes of Kristofer Sommestad, a SWAD developer.</description>
	<lastBuildDate>Sun, 23 Jan 2011 12:21:05 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1</generator>
		<item>
		<title>Trying Google Web Toolkit again – and liking it</title>
		<link>http://blog.sommestad.net/2010/01/trying-google-web-toolkit-again-and-liking-it/</link>
		<comments>http://blog.sommestad.net/2010/01/trying-google-web-toolkit-again-and-liking-it/#comments</comments>
		<pubDate>Mon, 11 Jan 2010 10:26:21 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[google web toolkit]]></category>
		<category><![CDATA[gwt]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[productivity]]></category>

		<guid isPermaLink="false">http://blog.sommestad.net/?p=265</guid>
		<description><![CDATA[A while back, I tried out Google Web Toolkit to see if it was any interesting. My main concerns after that early glance was the stability of the applications and the possibilities to mix GWT code with plain JavaScript code. Giving it another stab I decided to give it another go last week, when re-building [...]]]></description>
			<content:encoded><![CDATA[<p>A while back, <a href="http://blog.sommestad.net/2009/03/a-first-glance-at-gwt-2/">I tried out Google Web Toolkit</a> to see if it was any interesting. My main concerns after that early glance was the stability of the applications and the possibilities to mix <a href="http://code.google.com/intl/en/webtoolkit/overview.html">GWT</a> code with plain JavaScript code.</p>
<h3>Giving it another stab</h3>
<p>I decided to give it another go last week, when re-building the <a href="http://www.spotiseek.com/mixtape/Coldplay">mixtape interface</a> for my side project <a href="http://www.spotiseek.com">Spotiseek</a>. A few things led me to creating an &#8220;Ajax&#8221; application with GWT:</p>
<ul>
<li>quite a few requests are required to present the view &#8211; I needed the requests to be cached in the client to reduce the server load</li>
<li>I needed an application built on stable and easily maintainable code</li>
<li>I figured it would be a good chance to learn more about GWT</li>
</ul>
<div id="attachment_269" class="wp-caption aligncenter" style="width: 310px"><a href="http://blog.sommestad.net/wp-content/2010/01/spotiseek_mixtape_screen.png"><img class="size-medium wp-image-269" title="Spotiseek Mixtape" src="http://blog.sommestad.net/wp-content/2010/01/spotiseek_mixtape_screen-300x231.png" alt="Spotiseek Mixtape based on Coldplay" width="300" height="231" /></a><p class="wp-caption-text">Spotiseek Mixtape interface</p></div>
<h3>Drawing some conclusions</h3>
<p>After completing the first release of the new interface, I feel confident enough to draw a few conclusions:</p>
<h4>Positive: It&#8217;s Java!</h4>
<p>When looking to write stable and easily maintained code, I really can&#8217;t find any better candidate than Java. Since I&#8217;ve been working with Java for a number of years, I&#8217;m of course very comfortable with developing GWT apps.<br />
The syntax is nice and clean and of course the magic of the fantastic <a href="http://www.jetbrains.com/idea/">IntellJ IDEA</a> is indispensible.</p>
<h4>Positive: It does what I want it do do</h4>
<p>It might appear a ridiculuous header, but I have to say it&#8217;s very easy to create widgets that does exactly what you want. There&#8217;s little confusion on how to actually construct the application.</p>
<h4>Negative: Problematic project setup in the IDE</h4>
<p>Even though IntelliJ is a fantastic IDE, there&#8217;s appearantly some improvements that could be made to the setting up of GWT projects.</p>
<p>Just setting up a GWT project is not a huge matter, but trying to add a GWT project module to an existing web project was a lot of hassle. There was a lot of problems getting the built-in build/make process to put the files in the right place etc.</p>
<h4>Negative: Surprisingly poor community support</h4>
<p>I honestly thought that the usage of GWT would be more widely spread across the internet. But when I &#8211; from time to time &#8211; got stuck with an issue, there wasn&#8217;t really that much help from Googling.</p>
<p>There are of course a few good forums and such where many questions are answered, but unfortunately not the answers I was looking for. I had to dig deeper in the Google documents in  order to get enough info to draw my own conclusions.</p>
<p>EDIT: One nice resource I&#8217;ve found is <a href="http://raibledesigns.com/rd/entry/developing_and_testing_gwt_client">Matt Raible&#8217;s blog</a>.</p>
<p>Maybe it&#8217;s not inadequate for most issues, but I had expected more&#8230;</p>
<h4>(Sort of) Negative : Building everything from scratch</h4>
<p>Usually, you try to mix as much HTML and JavaScript as possible in order to write code more efficiently. Building it all up from scratch is often a quite expensive process and rarely gives you the most maintainable code.</p>
<p>But with GWT I didn&#8217;t really see any way of not building everything from scratch. Partly because it&#8217;s very easy to do so, but also because I didn&#8217;t find any good way of reusing existing HTML components.</p>
<p>I&#8217;m not sure it&#8217;s a true negative having to build everything from scratch, but it requires a somewhat different approach than you might be used to.</p>
<h3>To sum it up&#8230;</h3>
<p>Even though there was a few problems during the development, <strong>I&#8217;m glad I chose to develop the application in GWT</strong>. It&#8217;s resulted in a nice (enough) application, built on code that is stable and easy to maintain.</p>
<p>Also, I&#8217;ve learned a lot about GWT development and will have no problems going forward with the development.</p>
<p>(Apart from the conclusions I&#8217;ve drawn, there&#8217;s of course <a href="http://code.google.com/intl/en/webtoolkit/overview.html">a bunch of positives</a> that comes with developing GWT applications. )</p>
<h4>Maybe not suitable for all products</h4>
<p>As I&#8217;ve stated before, I still feel that you should always consider if GWT is the best approach for your particular application.<br />
I guess a certain amount of complexity is required, as it&#8217;s probably more tedious to write GWT Java code than regular JavaScript. If you&#8217;re going to develop a small-sized application, you&#8217;re probably best of doing it the old fashion way.</p>
<h4>SEO issues with JavaScript applications</h4>
<p>Of course, there are some issues with building your applications in JavaScript. One of them being the drawback in Search Engine Optimization (SEO), as your content is hidden from the indexing robots.<br />
I know <a href="http://googlewebmastercentral.blogspot.com/2009/10/proposal-for-making-ajax-crawlable.html">Google have proposed a new standard</a> for specifying JavaScript content, in order to make the robots understand how to activate the content. But we&#8217;ll see what happens there&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sommestad.net/2010/01/trying-google-web-toolkit-again-and-liking-it/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>A first glance at GWT</title>
		<link>http://blog.sommestad.net/2009/03/a-first-glance-at-gwt-2/</link>
		<comments>http://blog.sommestad.net/2009/03/a-first-glance-at-gwt-2/#comments</comments>
		<pubDate>Mon, 09 Mar 2009 14:12:02 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[gwt]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://reallyaced.wordpress.com/?p=46</guid>
		<description><![CDATA[Web applications of today are often required to be quite complex &#8211; AJAX offers lots of nifty ways of giving the user a great experience. But developing stable applications using lots of JavaScript code can be quite challenging. Even though there&#8217;s help from great libraries such as Prototype, YUI and jQuery, it&#8217;s tricky to keep [...]]]></description>
			<content:encoded><![CDATA[<p>Web applications of today are often required to be quite complex &#8211; AJAX offers lots of nifty ways of giving the user a great experience. But developing stable applications using lots of JavaScript code can be quite challenging. Even though there&#8217;s help from great libraries such as Prototype, YUI and jQuery, it&#8217;s tricky to keep the code bullet-proof and fully tested.<br />
Also, it can be difficult maintaining a decent architecture as the application grows, i.e. how to implement an MVC solution.</p>
<p>There&#8217;s of course a few people out there trying to address these issue, one of which being Google Web Toolkit (GWT).<br />
We&#8217;ve discussed GWT from time to time, but haven&#8217;t really made a true effort of delving into it. I decided to try to find out how it really works and if it&#8217;s something for us to use in our applications.</p>
<h3>Do we really need it?</h3>
<p>I guess the first question you need to ask yourself is if you really need anything like GWT. Is our goal to build a full-feathered AJAX site without any browser reloading of pages? Do we want something with features like Gmail (from dialogues to rich-text editors)?</p>
<p>After researching GWT for a while, my feeling is that you either fully implement it (with effects on server-side and all) or you stick to using &#8220;old, self-developed&#8221; Javascript code. If you&#8217;re to have any kind of client-server communication (which you are), you&#8217;ll probably have to make some adjustments on the server-side as well.</p>
<p>Anyway&#8230; I tested a sample implementation usin GWT and as a Java fan, I was of course enjoying writing nice, strict Java code with full IDE support instead of regular JavaScript. There was really nothing to complain about when it comes to writing GWT code and it was fairly easy to get started and the compilation was quick enough and provided a nice debugging tool.</p>
<h3>Are there any limitations?</h3>
<p>My main concern is that using GWT will come with some limitations:</p>
<ul>
<li>What if I don&#8217;t what to write the code exactly like it&#8217;s done with GWT? Will I have to write all my code using GWT?</li>
<li>How painful is it really to mix &#8220;regular&#8221; Javascript with GWT code (they offer a way of doing it, but it doesn&#8217;t seem like something you&#8217;d really want to do)?</li>
<li>Is it really stable enough for an entire application/game? To be honest, the GWT site itself is actually quite buggy&#8230;</li>
</ul>
<p>One nice feature that comes with GWT is the support for creating modules. It seems quite easy to create a smaller module (perhaps a text-editor) and plug it in to your application. I&#8217;d say that doing so would be a first good test of GWT, as it still feels a bit scary to rely on it for an entire application (i.e. creating entire pages, browser history states etc).<br />
Maybe using it for smaller modules the best use of GWT in our case? It would be really nice if server-developers (Java guys) could implement advanced client-side features without being afraid to mess it all up&#8230; <img src='http://blog.sommestad.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<h3>To sum it up&#8230;</h3>
<p>I guess these questions never will be answered unless I/we actually try it out in a real implementation (or at least a real-enough prototype). There&#8217;s obviously a whole lot of things with GWT that is really nice, but I wouldn&#8217;t feel fully comfortable relying on it as of today. Trying it out in a module or two would probably be the best way to draw some real conclusions.</p>
<p>In the end, it&#8217;s all about what you and your product really need.</p>
<h3>References</h3>
<p><a href="http://code.google.com/intl/sv/webtoolkit/overview.html">Google Web Toolkit Website</a></p>
<p><a href="http://www.scribd.com/doc/7246148/Manning-GWT-in-Practice">GWT in Practice &#8211; Ebook</a> (lots of reading)</p>
<p><a href="http://extjs.com/explorer/#editablegrid">Ext GWT Library (great widgets)</a></p>
<p><a href="http://www.gwtsite.com/">Unofficial GWT blog</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sommestad.net/2009/03/a-first-glance-at-gwt-2/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

