Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I currently know a working knowledge of Python and some related libraries (including the included-with-Python SQLite) for the purpose of making desktop applications.

I would now like to start to make "web applications". By this, I mean that whatever is on the desktop application will be done by visiting a the web page will have all the same sorts of widgets found in desktop apps (buttons, pulldowns, textboxes, etc).

I am not interested in making just static web sites or online magazines or things like that.

All I know about anything web-related is the basics of HTML and CSS. I also get the sense that I will have to learn Javascript and find a Javascript widget toolkit for the widgets. I'm unclear on what else I will need. I've heard a lot of good things about the Django web framework, but I'm not sure what the role of a "web framework" is in the mix here (and I got the sense that Django was used mostly to build things like online magazines, not web applications), though I get the sense I will need one to handle the basics of routing information through the web.

I'm also open to the idea of using a different programming language than Python, though I like it and would prefer to keep using it. I'd like to start simple and make small toy apps just to get the basic ideas, and then build from there.

EDIT FOR SPECIFIC QUESTION: What are the minimum tools/services will I need to get/learn to produce web apps (as defined above) using Python?

EDIT 2: I'm removing references to SaaS. Let's just call it a widget-using web app.

share|improve this question
There really isn't a solid question here. Can you edit this question to ask something more specific? – maple_shaft Mar 5 '12 at 20:50
@maple_shaft I hope that helps. – Chelonian Mar 5 '12 at 20:55
Why do you need to use Python? What you are describing is a web application, not SAAS. Any of the web programming languages can be used for this: PHP, ASP, JSP, ColdFusion, etc. – CFL_Jeff Mar 12 '12 at 2:47
@CFL_Jeff This might be part of my problem: what is the difference between a web application and SAAS? – Chelonian Mar 12 '12 at 4:51
@CFL_Jeff I don't need to use Python; I'd just like to, since I already know it and like it. – Chelonian Mar 12 '12 at 4:52
up vote 2 down vote accepted

Based upon the following two things:

...I've heard a lot of good things about the Django web framework...

...though I get the sense I will need one to handle the basics of routing information through the web...

I'd suggest that you go for a python microframework. Flask would be a good choice. Do not go for Django if you need a subset of its features and a microframework is giving you those features.

And regarding services/tools, you may need to use atleast these for your app if you want to do on your web app whatever a user can do on a desktop:

  • Templating engine (e.g. Jinja)
  • SQL/NoSQL Database (e.g. PostgreSQL)
  • Form validation package (e.g. WTForms)
  • Caching (e.g. memcached or redis)
  • (Stellar) Javascript for sure, HTML5 + CSS3 or jQuery to make your work easier
share|improve this answer
Thanks--this is just the sort of stuff I wouldn't be able to as easily find without querying a human. And what about a (Javascript, I guess?) widget toolkit? – Chelonian Mar 12 '12 at 15:43
Although I haven't used a JS widget toolkit myself, I'm aware of Dojo and Qooxdoo... You may give them a shot... – c0da Mar 13 '12 at 7:50

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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