Newbie advice

alex23 wuwei23 at gmail.com
Thu Oct 29 08:00:41 CET 2009


CSharpner <csharp... at gmail.com> wrote:
> Here's what I /want/ to do, but don't know where to begin:

Welcome to the fun :)

> - Write web services in Python (I've done plenty of this in .NET,
> BTW).

I'm a big fan of CherryPy: http://www.cherrypy.org/

It's very straightforward and easy to get into.

> - Write plain DLLs (is that even an option in Python (I told you I was
> a newb to Python, didn't I? :))

I'd recommend Cython: http://www.cython.org/

It allows you to write dlls in (a subset of) Python that are converted
to and compiled in C.

> - Write a web app (HTML front end, Python web services called from
> JavaScript).
> - Write a plain old web app with Python (no web services or Ajax, just
> plain HTML & Python).

Again, CherryPy, or depending on your needs one of the many, many web
frameworks; I'm partial to Turbogears, but Django seems to be the most
popular.

For a good overview of what's out there: http://wiki.python.org/moin/WebFrameworks

> - Is it possible to create a Windows client desktop GUI app with
> Python?  How?  How 'bout a Linux GUI app?

Python includes a wrapper around Tcl/Tk, which many consider to be
kinda ugly by modern standards, but is cross platform and part of the
stdlib (it's not always included with *nix distros by default but then
it's a lot easier to make that happen during install under most
package managers). PyQT, PyGtk and wxPython all have their active
proponents.

There are plenty of GUI libs out there: http://wiki.python.org/moin/GuiProgramming

However, if you're already comfortable with HTML/CSS, I'd recommend
taking a look at Pyjamas, which started as a port of the Google Web
Toolkit, taking Python code and compiling it into javascript. The
associated project, Pyjamas-Desktop, is a webkit-based desktop client/
widget set; so ideally you only have to write one UI and it'll run
both on the web & the desktop.

Pyjamas: http://pyjs.org/
Pyjamas-Desktop: http://pyjd.sourceforge.net/

> And finally, I'm not completely committed to using Windows to host my
> development either.  I'm willing to use Linux too (but would prefer
> Windows... at least to get started, until I'm comfortable enough with
> Python).

Google App Engine allows you to host our app on Google servers, with a
very generous free quota: http://code.google.com/appengine/

It supports Django and several other of the web frameworks. It's worth
noting that it uses the non-relational BigTable at the backend, which
seems to cause a lot of grief to relationally-trained minds :)

Hopefully something in here is enlightening :)



More information about the Python-list mailing list