Sunday, January 9, 2011

Struts, Spring, Hibernate... What next?

I have started my career in 2006 as a Java Developer. Since then most of the times I was being involved in developing web applications using Servlets, JSP, Struts, IBatis and Hibernate. In late 2008 I started working with Spring and now I am a big fan of Spring.


I am pretty much interested in learning new technologies/frameworks. So i started playing with several things like Quartz, JMS, JSF,JasperReports, DWR, XStream API, JPA, JavaMail, DisplayTag, JUnit, Ant, ApachePOI, JExcel blah blah blah. I am very much bored of doing the same things over and over using Struts, Spring, Hibernate etc.

Apart from Job market perspective there could be many people(like me) learning new languages/frameworks/tools out of interest or for fun/timepass. I am a regular visitor for JavaLobby and I am seeing lot of new things coming in java technology everyday.

So I thought of learning something new and I listed down what are all the new things that are there in the java world.
1. RIA frameworks (EXTJS, DOJO, YUI, Flex)
2. PHP, RubyOnRails, Groovy/GRAILS
3. Social networking APIs like SpringSocial


RIA frameworks:
It seems to me that we have enough well established serverside technologies(Spring, EJB3 etc...) to develop middleware components.
Now majority of the new applications are being developed/enhanced to add AJAX flavour to have a rich look. And there are plenty of Ajax frameworks.
I choose EXTJS, DOJO, YUI frameworks based on their popularity. I have prior experience with ExtJS and ExtJS is unbeatable AJAX library for developing web applications with Rich UI widgets.

Especially the ExtJS grid is awesome. And you can find almost every kind of UI widget in ExtJS. But I dont know why majority of the people are using other Ajax libraries instead of ExtJS.

I recently take a look at Dojo and it is really good at some points. Especially Dojo's validations embedded within markup looks great for people like who don't like putting validations somewhere else in javascript file. But i didn't find any information about Grid supprt with Pagination, Sorting, Filtering. For me(many of others also) a grid control with pagination, sorting and filtering a minimum expected widget to be in an Ajax library.

I am working currently using YUI in my project. The YUI features are good but look and feel wise its very poor compared to ExtJS and Dojo.

I had a chance to play with Flex sometime back in 2009 and its simply superb. But Flex should be used for flashy kinf applications, otherwise it will be a overusage if Flex is used for simple CRUD kind of applications.

Secondary Programming Language:
My primary programming is Java and I want to learn a new programming language now which should be cool, funny and suitable for rpid application development. Can somebody suggest what would be better to learn among PHP, ROR, GROOVY/Grails from the percpective of Job market and ease of use to develop small to medium sized web applications.

Social Networking:
Recently I am hearing that many websites are providing interfaces to interact with Social Networking sites like Twitter, Facebook, Linkedin etc.
SpringSocial might be a good one to learn this time.

After Struts, Spring, Hibernate era, I am feeling like the future would be Rich Applications development with Social Networking sites interactions.
What do you say?

3 comments:

  1. Hi there,

    In terms of RIA it might be worth looking at Google Web Toolkit (GWT)

    It does have quite a following now and allows for Java-Javascript compilation!

    Eggsy

    ReplyDelete
  2. From that list, and from the perspective of the job market, choose PHP.

    To improve your programming chops, and still do pretty well in the job market, choose Ruby.

    ReplyDelete
  3. Since you are a java developer, it makes a lot of sense for you to look Groovy/Groovy++/Grails. This will be a nice and natural extension to your Java skills (you cam mix Java with those very easily).

    ReplyDelete