Saurabh,

I have spent the past year developing a GUI application (using
wxPython) that communicates with a server (using Twisted), which
connects to a PostgresQL database (using SQLAlchemy.)  It has been a
very rewarding experience learning and using all of these tools.
However, the learning curve was quite steep--especially getting all of
the libraries to work with each other.

I've also worked on a number of Django web applications in the same
time.  Having written web sites/applications since the early days of
the web, I can safely say that Django is the best tool for doing so.
Period.  It makes me regret the years I spent working with PHP.

You obviously have serious programming experience--C++ (especially
graphics work) is much harder than anything you'll be dealing with for
this application.  So really, it depends on what set of tools you
*want* to learn.  HTML, CSS and (basic) Javascript are very easy to
pick up--almost negligible when compared with learning a GUI toolkit
and networking library (or dealing with connections manually, which is
very painful.)

Another thing to consider are deploying the application.  With a GUI
app, you'd need a way of deploying and updating for every machine it
runs on.  With a web app--make your change on the server and you're
done.  How many people would be using the app?

Then there's the matter of how complicated of an interface you really
need.  What does the application need to *do*? For most things, a web
app would suffice.  I went with a desktop app because (eventually) the
app will need to incorporate a very UI-intensive scheduling module.
If most of your app will be simple forms, and displaying lists of
data--go with Django.

I started writing this e-mail with the intent of giving a balanced
opinion, but it seems that I think you should go with Django.  If you
can tell me more about your app and what it will need to do, I can try
to give you some better advice, but really, it boils down to this:
writing a GUI app will take *much* longer than writing the equivalent
with Django.  However, you may have to sacrifice some usability.

-Jeff

On Nov 24, 8:24 pm, "Saurabh Agrawal" <[EMAIL PROTECTED]> wrote:
> Hi group:
>
> I hope that you good people here could help me with a decision I am finding
> hard to make.
>
> I am about to develop a MIS type application for a Non for profit
> organization teaching young children in India.
>
> I am trying to use this opportunity to make myself learn python, and if
> required the whole web based development paradigm using django.
>
> I have experience of c++ graphical algorithms development.
>
> Now obviously this application would be database based and database
> manipulation would be the major part. It would be mostly used across desktop
> computers in the organization running Windows XP. The decision which I am
> unable to make is that should I use django for this project? My issues are:
>
> 1. This application would be run on desktops, so GUI toolkits such as PyQT
> might suffice.
> 2. Making good interfaces for web would require additional learning on my
> part such as HTML, CSS and Javascript, an area  in which I have absolutely
> no expertise, just a very basic idea.
>
> So what do you guys suggest? If learning the above things would still give
> me an edge( in terms of time required for development) over PyQt based
> interfaces, in terms of automated databse manipulation tools such as the
> admin interface, I would go for it and it might be a good experience for me.
>
> Thanks for reading this slightly incoherent and maybe off-topic mail.
>
> All suggestions are welcome and I would be grateful for them.
>
> Regards,
> Saurabh Agrawal.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To post to this group, send email to django-users@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to