Hey all,

We have been working for some time now on a new development branch of
Wt. This branch is expected to result in a Wt 3 version.
The reason for the major version bump is a number of changes that are
not backwards compatible (some of which were on our wish-list for some
time but got postponed to a major version bump).

The most important are:

1) signals are no longer public members of widgets, but instead are
now accessible using an accessor. In practice this means that every
'connect' such as 'myWidget->clicked.connect(...)' has to be changed
to 'myWidget->clicked().connect(...)'. The benefit is lower widget
memory consumption (between 30 and 50% typically), as signals are only
created when needed, which on embedded systems with small caches in
turn results in huge performance benefits (speedups of 2 to 6 fold
typically).

2) the resource API has been redesigned, into something at the same
more simple (only one virtual method) and more powerful. The new API
change was necessary to implement two specific requests:
 - asynchronous resource streaming: you can now piecewise feed data as
a resource response. This has as major benefit that you do not need to
load all data in memory first (or lock a thread for the entire
duration). An example of this new API usage is the built-in
WFileResource.
 - allow any kind of data to be POST'ed to a resource, including file
uploads. This could be used to implement an alternative file upload
functionality to WFileUpload.

In addition, resources are now reentrant by default, and safeguarded
against deletion while streaming. This means that resource requests
will be handled by the application concurrently with normal event
requests or other resource requests, within a single session, but
deletion of a resource will block until all pending requests have
finished.

3) flags parameters, which were of type 'int' which could accept a
binary OR of enum values, are now of type WFlags<enum>. While existing
code should not be affected by this change (although some enums were
renamed for increased consistency), the benefit is increased static
type checking by the compiler.

The new branch also contains several other internal changes and
performance improvements.

But: it is a development branch and many things are still lacking, most notably:
 - documentation updates
 - the fastcgi connector is currently broken

For those who are interested in a sneak preview, the new branch is
available through git access:
$ git clone http://www.webtoolkit.eu/git/wt.git

We have been using (and enjoying) git internally for several months
now, but still used CVS for public access. We are now making the
switch to a public git repository. The public CVS will only be used
for further maintenance to the Wt 2 series.

Regards,
koen

------------------------------------------------------------------------------
Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA
-OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise
-Strategies to boost innovation and cut costs with open source participation
-Receive a $600 discount off the registration fee with the source code: SFAD
http://p.sf.net/sfu/XcvMzF8H
_______________________________________________
witty-interest mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/witty-interest

Reply via email to