Ask HN: How do you learn a web framework?

8 points by kulkarnic ↗ HN
Hi.

I've been disconnected from "web development" for sometime since I don't do it at work. I once used Rails pretty well (pre 2.0), but now I find I'm out of touch and Rails too bloated (as a framework) and slow (due to Ruby?). Perhaps, it is also more expensive to run experimental sites on than, say, Django).

I frequently have ideas which I want to experiment with, and know should take less than a weekend to hack together with one of the newer frameworks/libraries.

So, two questions: first, what are the best frameworks to get a prototype as fast as possible. Scalability is not a major issue for now: I think if an idea's good, it will still be used if it's slow/unreliable (e.g. early Twitter), and one can scale in the meanwhile.

Second, how does one learn enough to hack something quickly together in the framework you suggest? I've seen "Getting started" tutorials are frequently insufficient for real work, but books are too tedious (old examples: Rails screen-cast and the Pragmatic book). Is there a middle-ground for your framework?

4 comments

[ 1.4 ms ] story [ 25.7 ms ] thread
> what are the best frameworks to get a prototype as fast as possible.

Rails is good for that. Worry about 'bloat' later.

> Second, how does one learn enough to hack something quickly together in the framework you suggest?

Start hacking on it, keeping in mind that you may throw it away and redo it.

Well, I actually meant bloated as a framework. Too much magic, too many APIs and too many ways to do the same thing.

Actually, I don't know if it is true, but I wasn't happy with Rails the last time around, and I want to learn something different.

Django seems popular too, and Python's a good language.

If you really wanted to try something 'out there' you could fiddle around with Erlang, but that's probably more fiddling for fiddling's sake than 'getting stuff done'. I think for most people, Ruby, Python, and others like them are where the sweet spot is in terms of productivity.

I highly recommend going with Google App Engine + Django for getting something up and running and learning a web framework at the same time. You get a lot of features for free right out of the box, namely data store.