Ultimate++
Jump to navigation
Jump to search
![]() | This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these template messages)
(Learn how and when to remove this template message)
|
Developer(s) | Ultimate++ team[1] |
---|---|
Initial release | 2004 |
Stable release | 2020.2 (rev. 15260)
/ 21 October 2020[2] |
Repository | ![]() |
Written in | C++ |
Operating system | Unix/Linux/FreeBSD (X11), Windows, Windows CE, macOS |
Type | Application framework |
License | BSD license |
Website | ultimatepp |
Ultimate++,[3][4][5] also known as U++ and 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.
It possesses its own integrated development environment called TheIDE[6] that are designed to handle all library features.
Features[edit]
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[edit]
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++[edit]
Example applications using Ultimate++ are:
- Openwind[9] - an open-source wind farm design software
- UppCAD[10] - a multipurpose CAD system[11]
See also[edit]
- 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[edit]
- ^ "Ultimate++ team".
- ^ "Ultimate++ release information".
- ^ 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.