[Anygui-devel] Re: Goals
Brought to you by:
mlh
From: Magnus L. H. <ml...@id...> - 2001-06-29 21:26:23
|
From: Thomas Heller > > Should anygui really be only a front end for existing > GUI toolkits? The reason for that is the hope that we can make a very light, pure-Python package that might (some day) be part of the standard Python distribution. To actually use it, you would have to have some GUI package installed (as with the anydbm package) - or at least a web browser (with Alex's DHTML idea). > If we define a standard portable GUI API we can always > implement it in a native version for any major platform. Yes. That would be very nice too - but the we would need to have binary code as part of the package... > This would be a very small and light toolkit, which > I would see as a large benefit (looking at wxPython for > example). I agree with you on that. My point is that if people already *have* Tkinter, for instance (which they will have with ActivePython), then anygui will work automatically. > Assuming this small toolkit would be available, > why would anyone use the frontend to a more > heavyone? He would only get the disadvantages, > but could not use the advantages. Depends on what disadvantages you mean... To me, the disadvantages of using wxPython or Tkinter are: 1. They are complex, hard to learn for beginners, and even seasoned Pythoneers, not mainly interested in GUI. 2. They require exactly that package to be installed for the program to work. anygui should avoid both of these disadvantages. Now, if we were able to implement backends directly, that would be nice too. The more backends, the merrier. It's just that for that to work, people will have to install our specific anygui-gui-package, which is more work than simply using another widespread one. If it is possible to get the binary backend you suggest as a (small) component of the standard Python distribution, I would be very happy! I just seems a bit far off... What I suggest is the following: We develop a front-end which consists of a pure Python package which defines an API and which can automatically detect a set of possible backends. We also develop a set of backends. These can either be pure Python implementations that use other GUI-packages like Tkinter or wxPython, or they can include C-code for native GUI-support. We may bundle it all together, or split the native GUI packages out as a separate thing, so they simply become lightweight substitutes for wxPython, Tkinter etc., specially designed for anygui. I'm in favour of the latter solution, since it preserves anygui as a clean front-end with no C-code. To get any actual GUI you would need some GUI-backend. What do you think? How things are packaged/bundled is not really important, I think... I just want to make something that works soon, and that will be usable on almost any Python-installation. > Thomas -- Magnus Lie Hetland http://www.hetland.org "Reality is that which, when you stop believing in it, doesn't go away." -- Philip K. Dick |