<p>We want to try Ext JS on new project. Is there any well-known best practice for integrating Ext JS with server side Java (Spring/Hibernate/JS) application? Is DWR a good choice for that?</p>

[{'answer_id': 70920, 'author': 'otto.poellath', 'author_id': 11678, 'author_profile': 'https://Stackoverflow.com/users/11678', 'pm_score': -1, 'selected': False, 'text': "<p>It's perfectly fine to build your application using Ext JS/DWR/Spring/Hibernate.</p>\n"}, {'answer_id': 71014, 'author': 'MatthieuGD', 'author_id': 3109, 'author_profile': 'https://Stackoverflow.com/users/3109', 'pm_score': 1, 'selected': False, 'text': '<p>Yes it\'s possible. </p>\n\n<p>I\'ve done the same thing with .NET : UI in ext-JS which communicates with the server trough JSON. In .NET world you can use DataContractSerializer (class from WCF) or JavascriptSerializer (ASP.NET)</p>\n\n<p>I\'m sure that there\'s several good JSON Serializer in the Java world too. I used <a href="http://jabsorb.org/" rel="nofollow noreferrer">Jabsorb</a> (but not enough to give you a solid feedback). It appears that other people have tried : [link text][2]</p>\n\n<p>[2]: <a href="http://extjs.com/forum/showthread.php?t=30759" rel="nofollow noreferrer">http://extjs.com/forum/showthread.php?t=30759</a> forum ext-js</p>\n'}, {'answer_id': 75007, 'author': 'noah', 'author_id': 12034, 'author_profile': 'https://Stackoverflow.com/users/12034', 'pm_score': 1, 'selected': False, 'text': '<p>In our application we subclass <a href="http://extjs.com/deploy/dev/docs/?class=Ext.data.DataProxy" rel="nofollow noreferrer">Ext.data.DataProxy</a> like this:</p>\n\n<pre><code>var MyProxy = function(fn) {\n  this.fn = fn;\n};\nExt.extend( MyProxy, Ext.data.DataProxy, {\n  load: function(params,reader,callback,scope,arg) {\n    this.fn(params,function(data) {\n      callback.call(scope,reader.readRecords(data),arg,true);\n    });\n  },\n  update: function() {}\n});\n</code></pre>\n\n<p>You use it with a store like so:</p>\n\n<pre><code>var store = new Ext.data.Store({\n  reader: myReader, proxy: new MyProxy(function(params,callback) {\n    // params are used for paging and searching, if you need it\n    callback(SomeService.getData(params));\n  })\n  // ...\n});\n</code></pre>\n\n<p>Our actual proxy class has some additional debug and error handling code that I left out for simplicity. You may also need to manipulate your data slightly so that the <a href="http://extjs.com/deploy/dev/docs/?class=Ext.data.JsonReader" rel="nofollow noreferrer">Ext.data.JsonReader</a> can handle it, but that\'s the basic idea. SomeService is the JavaScript name you specified for whatever bean you exposed in dwr.xml (or your Spring config).</p>\n'}, {'answer_id': 84955, 'author': 'big lep', 'author_id': 16318, 'author_profile': 'https://Stackoverflow.com/users/16318', 'pm_score': 4, 'selected': True, 'text': '<p>My team has been using Ext with DWR for almost year a year, and have had nothing but good things to say.  If you take this approach, you will end up using DWR\'s generated JavaScript classes for making your requests to the server.  This will often be done in place of using the Ext.Ajax and Ext.data.Connection classes.  When you use a class that require an Ext.data.Store (e.g. grip, combo box, etc.) and you want to fetch data from the server, you will need to use a proxy that can link in with DWR.  The user-community provided Ext.ux.data.DWRProxy has worked flawlessly for us: <a href="http://extjs.com/forum/showthread.php?t=23884" rel="noreferrer">http://extjs.com/forum/showthread.php?t=23884</a>.</p>\n'}, {'answer_id': 2892492, 'author': 'Erich Kitzmueller', 'author_id': 65464, 'author_profile': 'https://Stackoverflow.com/users/65464', 'pm_score': 0, 'selected': False, 'text': '<p>Take a look at Grails, it plays well together with ExtJS.</p>\n'}]
['https://Stackoverflow.com/questions/70785', 'https://Stackoverflow.com', 'https://Stackoverflow.com/users/7292/']