<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-7549051506505063996</id><updated>2012-02-09T23:37:10.784-05:00</updated><category term='ux'/><category term='frameworks'/><category term='java'/><title type='text'>Viren/0</title><subtitle type='html'>Software Development Blues</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://www.v1r3n.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7549051506505063996/posts/default'/><link rel='alternate' type='text/html' href='http://www.v1r3n.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Viren Baraiya</name><uri>https://profiles.google.com/113621676225518354075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-tFtpMryCa_8/AAAAAAAAAAI/AAAAAAAAAAA/Thc43ODOvNI/s512-c/photo.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>1</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-7549051506505063996.post-5785670486719399124</id><published>2012-01-29T23:30:00.001-05:00</published><updated>2012-02-09T23:29:36.602-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='frameworks'/><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='ux'/><title type='text'>Current state of Java based UI frameworks</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;How many different ways can you build your user interface in a typically Java application?&lt;/span&gt;&lt;br /&gt;&lt;ol style="text-align: left;"&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="color: #073763; font-family: Arial, Helvetica, sans-serif;"&gt;Old fashioned JSPs and tag libraries with frameworks like struts, webwork etc.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="color: #073763; font-family: Arial, Helvetica, sans-serif;"&gt;Recent frameworks like wicket, Grails etc.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="color: #073763; font-family: Arial, Helvetica, sans-serif;"&gt;Purely HTML+CSS+Javascript, no Java code for UI. &amp;nbsp;Here the UI elements talks to the server using RESTful services.&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;If I have to build a new framework from start, what would I want?&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Clear separation of UI from backend&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Ability to use the best UI designer out there (and it is unlikely anyone would know how to code in Java)&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Be able to write code behind in Java (because that is where my backend developers are most experienced, also most of the integration points are in Java)&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Be able to write UI using pure HTML, CSS and Javascript allowing:&lt;/span&gt;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Easy portability across various devices&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Be able to outsource (not necessarily offshore) UI to someone who is good at developing user interface&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Put frameworks like ExtJS or jQuery at use in developing interactive apps&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Coding by convention, no XML based configuration. &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Automatic bindings of data models to form/UI elements&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Easy to write and integrate with server side code for:&lt;/span&gt;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Access control of the UI elements&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Events that interact with server side&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Pushing events from server to client&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;ul&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7549051506505063996-5785670486719399124?l=www.v1r3n.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.v1r3n.com/feeds/5785670486719399124/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.v1r3n.com/2012/01/java-ui-frameworks.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7549051506505063996/posts/default/5785670486719399124'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7549051506505063996/posts/default/5785670486719399124'/><link rel='alternate' type='text/html' href='http://www.v1r3n.com/2012/01/java-ui-frameworks.html' title='Current state of Java based UI frameworks'/><author><name>Viren Baraiya</name><uri>https://profiles.google.com/113621676225518354075</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-tFtpMryCa_8/AAAAAAAAAAI/AAAAAAAAAAA/Thc43ODOvNI/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry></feed>
