Agile Software Development in Python

I'm trying to learn a cross-platform language with a fast learning curve, and so it seemed obvious that Python was the logical choice. I've never programmed before, but I've read about pragmatic programming and agile development for quite some time. The question is, "What is the best choice for building desktop software that is built heavily in python and can handle the flexibility of SQL injection as well as a rich interface?" e.g. SQL Alchemy, ReportLabs.

I searched for pyHed found at sourceforge.net. However, it is at an early stage of development and is still not well documented. I checked out Titanium Desktop from Appcelerator and the concept seems exciting, but it's not stable yet.

Any suggestions, comments or ideas of what is currently being used? or new technologies are there now?

+2


source to share


6 answers


For cross-platform graphical user software, I prefer Qt - robust, mature, rich, useful tools, strong event-like basic approach (signals and slots). Of course, Nokia doesn't care for it.

The mature Python interface is PyQt , but if an alternative to the GPL or pay licenses is a problem for you, PySide is on the horizon (nowhere is it ripe like PyQt at this time, but by the time the GPL might be your software problem, PySide should definitely be ready for you ;-). PySide is also sponsored by Nokia, according to this .



Apart from your choice of frameworks for developing GUI-based cross-platform desktop applications, of course, there are many, many other options for tools and approaches - but these are less important for solo development than for effective team collaboration, so until teamwork is promising for you, it won't hurt to use whatever tools you find basic (like SVN, not DVCS: I highly recommend DVCS like hg, git or bazaar for team use, but for a solo developer I think svn is still perfectly acceptable and arguably easier to install and use).

+3


source


There are many answers to your question because you raise a number of issues:

Agile development is a methodology and has very little to do with the language or software platform. It's more of a set of principles around which software development teams are organized. See The Works of Kent Beck for more details.

Do you have an existing Python code base? If you have an existing Python code base, you can get a relatively long distance with pyHed. Otherwise, you might want to look at something like Java Swing or C #.



But you might actually think about porting your app to the web platform - this is similar to where pretty much all desktop apps go. Django is a well known Python framework. Or any number of Java, C #, Ruby platforms if it boggles your imagination.

jquery JavaScript framework is a good tool for providing rich web interfaces.

+2


source


you could take a look at camelot frame http://www.conceptive.be/projects/camelot/

It provides pyqt gui on top of sqlalchemy converted classes. If you have any questions, you can always post on our mailing list.

Eric

+2


source


For what it's worth, last week, with no previous experience in python itself .. I managed to create a basic MVC app in about 4 days .. I used wxpython and wxglade

I think that if you know what your functional needs are, with a little search and a bunch of reading other people's code, you can create very useful stuff in a very short time.

http://www.wxpython.org/

+1


source


You might want to check http://dabodev.com/ , I have no personal experience with it, just know about its existence and that there are a couple of enthusiasts.

I would recommend that you don't concentrate too much on Agile or XP coding, especially when starting out, the good old design up front will save your skin before you burn it without hacking.

As I said, I usually start coding a prototype / proof of concept before actually designing it and hence writing unit tests for the first version.

But the most important tip I would like to give you is to keep yourself motivated and happy :-)

0


source


I am one of the pyHed developers. We know the pyHed documentation is not very good yet, but we are working very hard on it (this is the main thread of version 1.1). If you have any doubts about pyHed, please contact us in the forum , your question will be answered ...

Vinicius Berni - pyHed team

0


source







All Articles