I've been procrastinating learning some framework for web apps w/ some library for AJAX, something like django with prototype, or turbogears with mootools, or zeta components with dojo, grok, jquery, symfony... The point is to spend some of my spare time, have "fun" and create cool stuff that hopefully is some useful. I think maybe I wouldn't like something like GWT or pyjamas because I wouldn't like to "get married" with some technology, I want to keep my freedom to add another javascript library, and so on.

I didn't decide even the language yet, but I think I'd prefer python. PHP could be fine if there is some framework that is nice enough.

Besides that, I don't even know where to start. I don't feel like learning a framework to then realize there is something that I cannot comfortably do, switch to another framework then find that a third framework has something really cool, etc. And the same goes for javascript libraries. So, some guidance would be really appreciated. I don't really know why are so many options available and what do they aim for, I guess some of them focus on some aspects and some on others, but I just want to make cool and nice apps that I can easily maintain, without spending too much time on coding or learning and avoiding the "trapped in the framework" feeling, when doing something is awfully complicated (or even impossible) with compared with the rest of things or doing that same thing on a different framework.

I guess in the end I'll go for django and jquery since they are the most widely used options, afaik, but if I was going for the most widely used options I guess I should choose Java or PHP (I don't really like Java for my spare time, but php is not so bad), so I preferred to ask first.

I think the question has to consider both, framework and library, since sometimes they are coupled. I think this is the place to ask this kind of things, sorry if not, and thank you.

  • Any programming language under your belt? what is your programming background? – Chiron Mar 22 '12 at 21:15
  • Have you considered using node.js? JavaScript on the server and client is popular these days – Raynos Mar 23 '12 at 15:35
  • I like python, php is also an option if there is some important pro (as a nice framework, efficient implementation, or similar) over python. Node.js is very nice, but it's also very new, as a beginner I think I'll wait for a while until it's more mature, for instance I guess the persistence for node.js will be improved during the next years. – Trylks Mar 26 '12 at 15:25

The choices you're considering are pretty much mine although I'm not sure Django is the most widely used yet. Whoever told you that has good taste though.

They are very flexible and will get out of your way when you want them to. The flipside is that both assume you know a thing or two about how browsers and the www actually work. jQuery is more of a tool for doing core JS tasks quickly and handling cross-browser normalization but there is a UI library you can attach to it and countless plugins of varying quality. If you know CSS and have programming experience, JQ should be pretty easy to learn for amateur use.

Django is more of a framework but like JQ it's easy to tell it to get the f out of your way and write your own Python or handle an SQL statement yourself. Like JQ it doesn't so much solve every problem for you as much as it just knocks a lot of the unfun stuff out of the way and provides some really powerful tools for building things quickly without sacrificing flexibility. Everybody stole its templating system and the regexed URLConfig approach to selecting controllers for a given page is awesome. I know the basics but haven't done a lot of DB work. This is another factor in Django's favor. It abstracts a lot of that out for you. Also, the instant admin feature is nice. It is definitely not on rails. You can pretty much organize files however you want.

Make no mistake though. If you're new to web development, you've got a lot of stuff to learn about other than writing code. Especially if you want to do anything fancy on the front end.

| improve this answer | |
  • Yes, I have a lot of stuff to learn, the point is to start on the right path and then build more and more complex or fancy things, in a continuous loop of improvements with immediate feedback, that's what makes it fun, IMHO. – Trylks Mar 26 '12 at 15:19

Not the answer you're looking for? Browse other questions tagged or ask your own question.