Ultimate++
Ultimate++,[3][4][5] also known as U++ or Upp - is a C++ rapid application development framework which aims to reduce the code complexity of typical desktop applications by extensively exploiting C++ features. Programs created with it can work on multiple operating systems and hardware architectures without the need to write platform specific code.
|  | |
| Developer(s) | Ultimate++ team[1] | 
|---|---|
| Initial release | 2004 | 
| Stable release | 2021.1 (rev. 15947)
   / 5 May 2021[2] | 
| Repository | |
| Written in | C++ | 
| Operating system | Unix/Linux/FreeBSD (X11), Windows, Windows CE, macOS | 
| Type | Application framework | 
| License | BSD license | 
| Website | ultimatepp | 
It possesses its own integrated development environment called TheIDE[6] that is designed to handle all library features.
Features
    
The major Ultimate++ features are:
- Supports Unix/Linux/FreeBSD (X11), Microsoft Windows and macOS.
- Includes an IDE and a GUI designer.
- Uses heavily RAII and auto pointers-like mechanisms to avoid manual memory management and even to limit the use of pointers in the code [7]
- Can emulate[8] native widgets look and feel. On X11 systems, Ultimate++ supports GTK+ widgets look and feel.
- Standard distribution comes with Ultimate++ sources included, even the IDE ones.
- Uses NTL as template system instead of STL.
Hello World
    
The following example creates a C++ application with "Hello world!" button:
#include <CtrlLib/CtrlLib.h>
using namespace Upp;
class MyApp : public TopWindow 
{
public:
    MyApp() 
    {
        Title("Hello world");
        button.SetLabel("Hello world!");
        button << [=] {
            if (PromptYesNo("Button was clicked. Do you want to quit?"))
                Break();
        };
        Add(button.HSizePos(100, 100).VSizePos(100, 100));
    }
    
private:
    Button button;
};
GUI_APP_MAIN
{
    MyApp().Run();
}
Software built on Ultimate++
    
Example applications using Ultimate++ are:
- Openwind[9] - an open-source wind farm design software
- UppCAD[10] - a multipurpose CAD system[11]
See also
    
- Widget toolkit
- List of widget toolkits
- Qt (toolkit) - toolkit used by KDE applications
- GTK+ - the GIMP toolkit, a widget toolkit used by GNOME applications
- FLTK - a light, cross platform, non-native widget toolkit
- FOX toolkit - a fast, open source, cross-platform widget toolkit
- wxWidgets - a widget toolkit and tools library for creating graphical user interfaces
References
    
- "Ultimate++ team".
- "Release history".
- http://www.programmez.com/magazine_articles.php?id_article=981 Programmez! issue 104
- http://www.programmez.com/magazine_articles.php?id_article=1150 Programmez! issue 114
- Gouvernelle, Vincent (2009). C++: L'essentiel du code et des commandes. Pearson Education France. ISBN 978-2-7440-2281-4.
- Getting started with Ultimate++ CodeProject article
- U++ Overview
- Chameleon examples
- "Building OpenWind".
- "Ultimate++ Forums - UppCAD". Retrieved 2020-10-18.
- "UppCAD". Retrieved 2020-10-18.
External links
    
    
    This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.
