Echo wrote: > On 10/9/06, Edward Diener No Spam <[EMAIL PROTECTED]> > wrote: >> The definition of a component model I use below is a class which allows >> properties, methods, and events in a structured way which can be >> recognized, usually through some form of introspection outside of that >> class. This structured way allows visual tools to host components, and >> allows programmers to build applications and libraries visually in a RAD >> environment. >> >> The Java language has JavaBeans as its component model which allows Java >> applications to be built in a visual RAD way. Microsoft's .Net has a >> component model built-in to its .Net class libraries as well as >> supported by CLR which allows .Net applications to be built visually >> using components created in any .Net supported language. >> >> With Python things are different. There is no single component model >> which allows Python developers to build components which will be used >> and recognized by the various RAD Python tools on the market. Instead a >> developer must create a slightly different set of Python classes for >> each RAD Python tool. This is the situation despite Python's having >> easily as much functionality, if not much more, as Java or .Net >> languages such as C#, VB, or C++/CLI for creating components, and for >> allowing visual tools to introspect the properties, methods, and events >> of Python classes. >> >> I believe that Python should have a common components model for all RAD >> development environments, as that would allow the Python programmer to >> create a set of classes representing components which would work in any >> environment. I want to immediately point out that components do not >> simply mean visual GUI components but what may be even more important, >> non-visual components. Having used RAD development environments to >> create applications, I have found such environments almost always much >> better than coding complex interactions manually, and I believe that >> visual development environments are almost a necessity in today's world >> of large-scale, multi-tier, and enterprise applications. >> >> Has there ever been, or is there presently anybody, in the Python >> developer community who sees the same need and is working toward that >> goal of a common component model in Python, blessed and encouraged by >> those who maintain the Python language and standard modules themselves ? >> -- >> http://mail.python.org/mailman/listinfo/python-list >> > > > If you are talking about about creating a GUI and having be able to > run using different GUI libraries like Tkinter, wxPython, wxgtk, ect. > You could look into Dabo(http://dabodev.com/). It is designed so that > you can design your GUI and have it run with what ever GUI library you > want(only wxPython is supported at the moment. And I think that > Tkinter works somewhat.)
It's not just for GUI controls that a component model exists in the other environments I mentioned. Non-GUI components are intrinsically as important, if not more so, to a component model architecture. Also, quite honestly, I think a component model would have to be specified by the core Python developers instead of retrofitted against the popular GUI environments for Python which currently exist. Also I admit I am no fan of wx-you-name-it, whose "event" model especially I find way too limiting and ineffective in relation to the entire area of component-based programming and events. -- http://mail.python.org/mailman/listinfo/python-list