Are there articles/blogs that compare web frameworks (RoR, Django)? Any starter kits for Javascript, CSS etc? How do I get a high-level overview of how things fit in?
I realize those are too many questions in one post :) I am just hoping to tap the HN resource lib and that might be helpful for others too. So, if you have anything at all that you think might be helpful to someone just starting, please do post it across
You won't regret it!
If you think in terms of map, fold, and filter, you'll be right at home in C#/VB.NET (they're just called Select/Aggregate/Where instead to be familiar to people whose background is SQL and not functional programming). Java, on the other hand, is agonizing to me.
MSDN contain mountains of webcast on everything, the educational value is huge. I wish more webcast existed for Java, Groovy, Javascript, Perl, Grails, Catalyst, Spring framework!
The soup to nuts series covers everything, similarly other webcast series, the idea is simple and very effective, you will spend your first 10 or so hours looking as vidoes and presentations, next you can move to books and online forums and blogs
After he finishes these webcast, moving to RoR will be a much simpler road, even when RoR is a different framework
You might not like it but ASP.NET is a popular and extremely effective environment for building interactive web applications. I personally use a variety of different tools to build web apps and .NET ranks with them.
If you want to just jump in and make something frameworks such as Django and Rails make a nice level of abstraction above the database and even above the raw HTML.
If you're looking for a recommendation, I love Django.
Why, given the existence of Rails, Django, TurboGears, Ramaze, Merb, etc.?
He wants to revamp the site, which he hasn't fundamentally changed in 5 years or more, and asked me what to suggest. 'python manage.py inspectdb', the built in admin, and clean separation between code and style converted him to Django.
Look and feel? No need to switch from PHP. Performance? A framework might help, but it might not. Maintenance time? Could be looking ground up here.
Again, if this is a redesign for the sake of redesigning, it doesn't really matter what you use. If there is a specific goal though, changing frameworks/languages should only be done if it provides a way to reach the goal.
But as far as what to learn, I'd highly recommend Python and a web framework such as Django or Pylons.
Maybe Seam would be interesting, too - created by the Hibernate guys, it is supposed to be inspired by Rails.
Plus is has great integrations with Ajax4JSF and RichFaces which makes adding a nice Ajax front end very very easy, even if you don't know much JS, like me.
GWT is a higher level of abstraction than most other frameworks, which some like and some do not. The top-most layer is actually not coupled to anything specific related to javascript, DOM, or HTML in general. DOM manipulation and javascript are treated much like in-line native assembly code in a traditional high-level language. You can develop an entire web application like GMail without ever seeing anything below this high level abstraction. This may make it sound weak or limited, but its actually very powerful b/c you can focus on building rich functionality rather than debugging erratic cross-browser quirks.
Maybe your first port of call could be jsp
Tis a shame.
To get a good overview read the HTTP RFC. IMO, JavaScript and CSS should be the last thing to learn.
If time is critical, then I figure you'll want screencasts for the language/framework you need to use.
I don't know of any that exist for any other language/framework, but Ruby on Rails has really excellent ones at:
http://peepcode.com - not free but no one else compresses an entire Rails book in 5 hours of video
http://railscasts.com - 5 to 15 min useful segments related to ruby on rails
Once you feel a little more comfortable after viewing the videos, the Pragmatic Programmer Series and Oreilly books are a good place to continue.
Almost forgot - you can test out all you learned at (YC startup) http://heroku.com (nothing to install on your computer - easy to start)
For CSS: I've never used Blueprint.css, but it looks pretty awesome.
django is a great framework for beginners.. start with sqlite for a quick db to use with django then get to postgres as soon as you can.