Portable apps in python

K

Koen Vossen

Hi,

I have been asked to develop an automated cash register application for use
in a typical restaurant. The catch is that it has to run on Windows. My
questions: is the python - wxPython combination mature enough to be able to
build such an app in a portable way? What about printing?

Thanks in advance,

Koen
 
C

ciw42

Hi Koen,

Recently wrote a full point-of-sale (till) application in Python/wxPython to run on Windows, and aside from a few fiddly areas (mostly due to the fact I was fighting the way Windows wants to do things - the app needed to be able to work entirely from a keyboard, mouse, touch-screen or any combination) it was a breeze. I've only been programming in Python for a month now after years of Delphi, and to be fair, the application was just a re-write of a 75% finished Delphi version, so all the design had been completed in advance.

For printing, you'll find that most POS printers use serial interfaces (our client already had the hardware) so I downloaded and used the Serial library (PySerial) and Epsom printer programming manual. Using these, it only took an hour to put together routines to print receipts and invoices, open the till drawer (they're usually linked into the back of the receipt printer) and automatically cut receipts. If you need to use parallel printers, there's an equivalent library for those too.

The software is actually running live on a client site, and they're very happy with it. I'd say that's a good indication of both the stability and speed of development possible using the Python/wxPython combination.

In terms of portability, I took care to only use libraries which were cross platform, and whilst I've not fully tested it, the application seems to run fine on my SuSE v9.0 machine. The only minor problem is that the main window doesn't automatically maximize to fill the screen, but I knew this would be the case from reading the wxWindows documentation.

As the client platform was Windows with a Linux server running MySQL, and the project deadline was tight, I actually developed the software on a Windows XP machine. I'd recommend always developing on the target platform, as there's nothing worse than finding a fundamental target platform specific problem late on in a project, and it's often the platform specific bits that take the time to learn when using new libraries.

Regards,


Chris
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,774
Messages
2,569,598
Members
45,152
Latest member
LorettaGur
Top