On Wed, May 8, 2013 at 11:00 PM, David Goldsmith <[email protected]>wrote:

> So I'm writing this GUI app using wxPython when it dawns on me: why don't
> I write it as a Web app (by which I mean Wikipedia's second definition,
> namely "[an] application that is coded in a browser-supported programming
> language...and reliant on a common web browser to render the application
> executable."  Then I "discover" a basic problem: Web apps don't appear to
> be able to straightforwardly write to local files (doing so is a central
> function of the intended app).
>

You could write it as a browser plug-in. That would be mainly Javascript
but it would be able to write local files. It would be specific to one
browser type though.

Is this program for yourself or your colleagues, or would end-users need to
install it themselves? If you have to support users long-distance, you may
want to stick to a desktop app. That way they can use a one-click installer
in their familiar manner.

Chris and I have a hybrid web-desktop application; the desktop mode being a
wxPython application running a Pylons daemon and an embedded browser,
wrapped up in py2exe (Windows) or py2app (Mac) for the installer. It works
but it's kind of kludgey and not that excellent, and it took a while to get
py2exe to work right. Web applications are great for things that are
inherently HTMLy or thin client-y, but not so great if you need things
beyond that like writing to files, a "desktop app feel", or a "desktop app
installation experience".

Toby wrote:
> Why a web app?

A funny thing about this group is that because we all work in the computer
field, many of us don't trust computers any farther than we can throw them
(and the same for social networks, smartphones, etc).  The boosters will
tell you to make everything a webapp (or even better a Facebook app)
because PCs are so 1990s, but you'll be happier if you ask whether it's
really a good fit for the web.

- Can it be recast to depend only on typcal webapp capabilities and still
be *convenient* for the user? If yes, a webapp might be the way to go. If
no, you're shorehorning.

- Is the main problem you writing a complex application, or users getting
frustrated installing/upgrading it? If the latter, a webapp will
automatically install and upgrade. If the former, the primary issue may be
what's easiest for you to write.

- If you're looking for a target application to gain experience in web
programming, is this the right application for it?

- There are two different kinds of web applications nowadays. The mainly
server-side ones in Pylons/Django/Flask/etc, and the mainly client-side
ones in Javascript (or perhaps Pyjamas). Each has some different
capabilities and advantages/disadvantages.

Reply via email to