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
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 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.
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?