Create an account

Very important

  • To access the important data of the forums, you must be active in each forum and especially in the leaks and database leaks section, send data and after sending the data and activity, data and important content will be opened and visible for you.
  • You will only see chat messages from people who are at or below your level.
  • More than 500,000 database leaks and millions of account leaks are waiting for you, so access and view with more activity.
  • Many important data are inactive and inaccessible for you, so open them with activity. (This will be done automatically)


Thread Rating:
  • 278 Vote(s) - 3.29 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Agile Software Development in Python

#1
I have been trying to learn a cross platform language with a fast learning curve, and so it seemed obvious Python was the logical choice. I've never programmed before but I have been reading on pragmatic programming and agile development for quite some time. The question comes, "What is the single best choice to create a desktop software that is built heavily in python and can handle flexibilty of SQL injections, along with rich interface reporting?" e.g. SQL Alchemy, ReportLabs.

I have been looking into pyHed found in sourceforge.net. However, it's on early development stage and is still not well documented. I checked out Titanium Desktop from Appcelerator and the concept seems exciting, but it's not in stable condition yet.

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

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

Agile development is methodology and has very little to do with the language or software platform. It is more a set of principles around which software teams organize themselves. Refer to the works of Kent Beck for a bit more detail.

Do you have an existing Python code base? If you do have an existing Python code base you could get relatively far with pyHed. Otherwise you could look at something like Java Swing or C#.

But really you might want to consider moving the application to a web platform - that seems to be the direction almost all desktop apps are heading. Django is well known Python framework. Or any number of the Java, C#, Ruby platforms if it strikes your fancy.

The jquery JavaScript framework is a good tool to provide rich Web interfaces.
Reply

#3
You might want to checkout

[To see links please register here]

too, I have no personally experience with it, just know of it existence and that there are a couple of enthusiasts.

I would recommend that you don't concentrate too much about Agile or XP coding, especially when you start out, good old big design up front will save your skin before you burn it with headless hacking.

That being said, I usually start coding a prototype/proof-of-concept before I actually design it and consequently write unit-tests for the first release.

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

#4
For cross-platform GUI-based desktop software, my preference is [Qt][1] -- solid, mature, rich, great tools, strong underlying event-like approach (signals and slots). Having Nokia behind it doesn't hurt, of course.

The mature Python interface to that is [PyQt][2], but if the alternative of GPL or for-pay licenses is a problem for you, [PySide][3] is on the horizon (nowhere as mature as PyQt at this time, but by the time GPL'ing your software could possibly be a problem, PySide should be definitely ready for you;-). PySide is also sponsored by Nokia, according to [this][4].

Beyond your choice of frameworks for GUI-based cross-platform desktop app development, of course, lie many, many other choices of tools and approaches -- but they're less crucial for solo development than they are for effective team cooperation, so, until teamwork is in prospect for you, it won't hurt to use whatever tools you find simplest (e.g., svn rather than a DVCS: I strongly recommend a DVCS such as hg, git or bazaar for team use, but for a solo developer I guess svn is still quite acceptable, and perhaps simpler to install and use).


[1]:

[To see links please register here]

[2]:

[To see links please register here]

[3]:

[To see links please register here]

[4]:

[To see links please register here]

Reply

#5
I'm one of the developers of pyHed. We know that pyHed's documentation is not very good yet, but we are working very hard in it (it's the main thread of 1.1 version).
Having any doubt about pyHed please contact us in our [forum][1], your question will be answered imediately...

Vinicius Berni - pyHed Team


[1]:

[To see links please register here]

Reply

#6
For what is worth, last week with no previous experience in python itself.. I managed to build a basic MVC app in about 4 days.. I used wxpython & wxglade

I think that if you know what your functional needs are, with a bit of googling & a bunch of reading other peoples code, you can produce very usable stuff in a very short time.

[To see links please register here]


Reply

#7
you could have a look at the camelot framework

[To see links please register here]


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

Erik
Reply



Forum Jump:


Users browsing this thread:
1 Guest(s)

©0Day  2016 - 2023 | All Rights Reserved.  Made with    for the community. Connected through