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.
