Poll: Ask HN: Which web application framework should I learn?
I have been working as a java programmer for last 7 years. I only know Java/jsp/struts/spring and that is sufficient to so consulting with so called big business organizations. But everyday on HN I see people talking about php, ruby on rails, python etc. I want to learn one of those new framework to develop some personal side projects. Which web framework should I learn?
5 comments
[ 3.1 ms ] story [ 16.3 ms ] threadI like this because it separates the concerns of UI and business logic. It is faster to develop the UI because you are working in HTML, CSS and Javascript (make a change refresh look at firebug). It also allows me to stub the server side by writing json files. By the time I am done with the UI prototype, I have a very good definition of the services that I will need on the server side.
The nice part about the loose coupled nature of building a web app this way is that you are not heavily invested in a server infrastructure, if you decide you no longer like your server language then you just start implementing new services in the language du jour.
Long answer:
For the record, I am biased. I prefer functional, readable code that is not subject to some mystical "coolness" quotient dictated by some "gurus" in Silicon Valley. I can program in almost any language, and yet I still find Ruby almost completely unreadable.
I will not hire a developer who "can write that in 10 lines of Ruby", because none of those 10 lines is documented, readable, or debugged. Not that there's anything wrong with Ruby per se, but my experience is that it's an attempt at RAD which is a process that usually isn't preceded by an architectural design stage.. Again, my experience, not necessarily common.
For single-threaded web functionality, I prefer Object Oriented PHP 5.3 + jQuery + PHPLiveX (for object oriented Ajax) + Postgresql (database).
For server process (single or multi-threaded) code, I prefer C# (mono-project.com) over Java. Perl is still a contender, but its dwindling number of monks available, and its waning interest level among new developers makes it a distant second.
For mobile App development, PhoneGap, Corona and MonoTouch are good for quick development, but Objective C still owns the house for native development until someone comes up with a contender (I hear that there's a mono project under way to compile C# (Mono) to Objective C... which would be cool. C# is much easier to manage than Objective C.
R