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 website...so 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.

  • 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

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
  • 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 clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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