I have an idea for a web app. It's been a couple of years since I've written anything from the ground up and I'd like to scratch my learning itch. Ideally, the framework/tools would have support for persistence, users, and REST. I don't care about language, but I'd prefer something easy to learn and maintain. I'm not worried about scalability (yet?). What are you guys using today? Any sharp weapons that aren't getting the spotlight they deserve? Have things advanced much in the last couple of years?
Python and Flask framework. You could try Django as well but I personally found Django to be too bloated for me (not trying to start flame war here). The beauty of Flask is that it comes with just about enough core functionality to get you started and you can always use their extensions to add on top as needed.
I have a couple of libraries<p>a library for mapping http requests to domain objects (see 'naked objects' pattern), with convention based runtime form generation. no more writing controllers, most views are generated, full feature REST API out of the box. A bit like Django admin template, but more powerful.<p>an in memory 'db', persisted using an event log of user inputs to the domain model (see 'prevalence' pattern). no more worrying about network latency, no more mapping objects to database columns, no more writing update scripts (or at least not much)<p>I don't think either of these approaches have much love in the mainstream, but I think they make me way more productive than the standard MVC/(SQL/NOSQL) approaches.
python on google app engine<p><a href="https://developers.google.com/appengine/docs/python/overview" rel="nofollow">https://developers.google.com/appengine/docs/python/overview</a><p>Easy to use, can support what you want to do, easy to maintain, easy to scale.
At work: C# MVC4/SQL Server<p>At home: Rails/Postgres/Heroku<p>C# is a lot more rigid, and I find it a lot harder to find quick answers to the obscure errors I inevitably generate (as opposed to Rails, where Google has the answer every time).
backbone.js+jQuery+ROR+Mongo
I find this selection easy to use an powerful.
backbone.js+jQuery has a lot of adoption and strong community, so it's easy to find answers and additional components.<p>ROR got strong community and language. Almost every functionality is available as a gem with code published on github.