[wx-discuss] wxTNG: compatibility with wx2 API
Vadim Zeitlin
vadim at wxwindows.org
Thu Feb 16 07:25:21 PST 2006
On Thu, 16 Feb 2006 14:51:32 +0000 Julian Smart <julian at anthemion.co.uk> wrote:
JS> My view is that
JS>
JS> (a) we absolutely must provide some kind of compatibility
JS> or we will lose most of our customer base (and will need to maintain
JS> 2 code bases since many people won't migrate);
Personally I agree with this. I'd like to know if others do as well.
JS> (b) the easiest and cleanest way to do that is basically a wxWidgets 2 port
JS> wrapping wxWidgets 3.
This is one possibility. The problem with this is that it will force
dropping support for all compilers not capable of building wx3 as wx2 will
depend on it. It could also create some problems with the exceptions which
we'd have to catch in wx2 wrapper code to prevent them from escaping to old
code not expecting them. Finally, and most seriously, it would mean that
all the existing wx2 code would have to be rewritten for wx3, including
such things as wxDateTime (because we'd probably use boost::date classes in
wx3) and wxFileName and not just all the GUI code.
Alternative solution is to make wx3 a wrapper for wx2 API. Personally I
think it is better because:
- you get something working almost immediately because all the existing
ports are simply reused and don't have to be changed at all and the whole
process is more incremental: we can continue changing wx2 in the
meanwhile too
- one of the ideas for wx3 (subservient to the goal of including it to
boost/proposing it as a standard C++ GUI framework) is to make it
possible to use different backends for the implementation of the same
public API and so wx2 backend would be just one/first of many and it
would be nice to separate public API from implementation as clearly as
possible from the very beginning
Of course, there are problems with this approach too, main one being that
wx3 users will continue to pay for wx2 inefficiencies. But I hope this can
be dealt with later, by improving the implementation without changing the
public API.
Regards,
VZ
---------------------------------------------------------------------
To unsubscribe, e-mail: wx-discuss-unsubscribe at lists.wxwidgets.org
For additional commands, e-mail: wx-discuss-help at lists.wxwidgets.org
More information about the wx-discuss
mailing list