This post originated from an RSS feed registered with Java Buzz
by Marc Logemann.
Original Post: Ext JS - From a java programmer perspective
Feed Title: Logemann Blog
Feed URL: http://feeds.feedburner.com/LogemannBlog
Feed Description: Marc Logemann's thoughts on java and other stuff
Background: I am java programmer with about 10 years knowledge in the area of java development. Mainly web programming with Frameworks like Struts, Struts2, Spring-MVC, plain Servlet and of course all the backend stuff like JPA, SOAP or JAXB. So i am definitely not a javascript programmer in a real sense. So far i am using js only in the context of using jquery plugins and stuff like that.
In the last days i ve done some very basic prototyping with Ext JS. Why Ext JS? I think its the most complete framework when it comes to RIA business development. Believe me, i ve tried jQuery and Dojo and they are all fine, as long as you dont want to use the full stack of GUI development. So yes, i need good grids, good form validation and a good layout system. If you try very hard, you can possibly use jQuery and find all the right plugins but then you are in a non-themeable world with a lot of different widget concepts. All other frameworks are just not complete enough when it comes to GUI.
But after a few hours of coding Ext JS, which in fact is quite cleanly designed from OO perspective, i feel like i dont want to code that much in js. Why? Because i dont like dynamic languages too much. I ve done PHP projects for some time and i dont want to go back in the world of weak typing and less superior IDE support, even though my lovely IntelliJ does a decent job for js projects.
Apart from the js issue, you have a lot of non-natural approaches. For instance i18n. Supplying js files with translation constants for each language and then dynmacily include the correct js file feels just weird for a server side programmer. The other way would be to call a json service and getting the desired translations. The Ext JS Designer, a GUI drawing tool, is in a very early stage and it feels like that. To me its quite unusable. Another issue the way you need to think about project layout. In js its not very easy to create a Single Page Interface without creating a maintenance nightmare from a project layout perspective.
But dont get me wrong. Ext JS is still a great tool but it targets different kind of developers. So in the next days i will prototype something with Ext-GWT. So far i was not a hughe fan of GWT but it seems to be a better alternative than doing everything on the client side. The skills in our company are definitely in the backend and in the java area. I dont want to lose that. I will post my experience with GWT and Ext-GWT in the near future. Stay tuned.