Client Utility & Framework :: v.2.0.0 :: 2014-01-02  
  CUF - a basic framework for Java/Swing, Java/JavaFX and .NET/WinForms applications
About CUF
CUF (Client Utilities & Framework) contains
  • utility libraries (this is the "U" part) and an
  • application-level framework (the "F" part)
for building GUI applications in either Java/Swing, Java/JavaFX or .NET/WinForms environments.
It is build to provide
  • practical help for details (the libraries part) as well as
  • guidance and structure (the framework part)
for developers of rich-client applications.

Using CUF, a developer can build a  Java/Swing, Java/JavaFX or a .NET/WinForms application more easily.
This is especially true if the application is build in a business environment with a focus on forms based data manipulation ("SCRUD": search, create, read, update, delete) .

All libraries of CUF are independent of each other, and most of them are available both for .NET/WinForms as well as for Java/Swing and Java/JavaFX.
CUF offers:
  • callback handling (Java Swing CUF)
    A handling of Swing Callbacks, that is much easier than the typical addABCListener() interface, and more like the delegate concept of C#/.NET
  • sorting table (Java Swing CUF)
    A small but smart JTable extension.
  • state management (Java Swing+.NET CUF)
    Using the state management it is easy to manage state and act upon state changes.
    A typical use case for the state managment is for example "this textfield is visible, if the user has the role manager and it is friday" or "the save button is only activ, if the data was changed and if the date is valid".
    Instead of hand-coding the rules, with the state mangment library, a declarative MVC based approach is taken.
  • data binding (Java Swing+.NET CUF)
    A binding of model data or data of transport objects to either Swing models or WinForms classes. It is based on the ValueModel concept of Smalltalk.
  • server access (Java Swing/JavaFX+.NET CUF)
    A technology agnostic library to access the core part of the application (perhaps on a server) in a synchronous or asynchronous way.
  • non-visual builder (Java Swing CUF)
    The static part of the UI as well as the callback handling, data binding and state management can be described in a XML file (like XAML/XUL or FXML)
  • structure (Java Swing/JavaFX+.NET CUF)
    Build around a logical definiton of what a dialog and an application is, the CUF framework structures an application so that a team of developers can build coherent code.
CUF is currently  used as the base client architecture of a number of both Java as well as .NET clients.

CUF was build on the ideas of a lot of people at sd&m and elsewhere.
Many thanks to: Hendrik Wördehoff, Michael Brade, Jörg Eichhorn, Joachim Wenzel, Burkhard Perkens-Golomb, Martin Haft, Thomas Wolf, Johannes Siedersleben, Johannes Weigend, Bernd Olleck, Marco Berroth and Karsten Letzsch.
Special thanks to Carsten Lucke for the web design.
           © 2004-2014 by Jürgen Zeller  •