[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