Ultimate++
Créateur | Erreur Lua dans Module:Wikidata à la ligne 775 : attempt to index field 'wikibase' (a nil value). |
---|---|
Développé par | Erreur Lua dans Module:Wikidata à la ligne 775 : attempt to index field 'wikibase' (a nil value). |
Première version | |
Dernière version | 2022.2 (rev. 16270) () |
Version avancée | Erreur Lua dans Module:Wikidata à la ligne 775 : attempt to index field 'wikibase' (a nil value). |
Dépôt | sourceforge:projects/upp/files/upp/ |
Assurance qualité | Erreur Lua dans Module:Wikidata à la ligne 775 : attempt to index field 'wikibase' (a nil value). |
Écrit en | Erreur Lua dans Module:Wikidata à la ligne 775 : attempt to index field 'wikibase' (a nil value). |
Interface | Erreur Lua dans Module:Wikidata à la ligne 775 : attempt to index field 'wikibase' (a nil value). |
Supporte les langages | Erreur Lua dans Module:Wikidata à la ligne 775 : attempt to index field 'wikibase' (a nil value). |
Système d'exploitation | Erreur Lua dans Module:Wikidata à la ligne 775 : attempt to index field 'wikibase' (a nil value). |
Environnement | Unix, Linux, FreeBSD (X11), Windows, Windows CE, macOS |
Taille des données | Erreur Lua dans Module:Wikidata à la ligne 775 : attempt to index field 'wikibase' (a nil value). |
Formats lus | Erreur Lua dans Module:Wikidata à la ligne 775 : attempt to index field 'wikibase' (a nil value). |
Formats écrits | Erreur Lua dans Module:Wikidata à la ligne 775 : attempt to index field 'wikibase' (a nil value). |
Langues | Erreur Lua dans Module:Wikidata à la ligne 775 : attempt to index field 'wikibase' (a nil value). |
Type | Framework de développement |
Licence | BSD license |
Documentation | Erreur Lua dans Module:Wikidata à la ligne 775 : attempt to index field 'wikibase' (a nil value). |
Site web | Erreur Lua dans Module:Wikidata à la ligne 775 : attempt to index field 'wikibase' (a nil value). |
Chronologie des versions
Ultimate++[1],[2],[3], également connu sous le nom de Ultimatepp, U++ ou Upp, est un framework de développement d'applications C++ qui vise à réduire la complexité du code des applications de bureau typiques en exploitant largement les fonctionnalités C++. Les programmes créés avec ses librairies peuvent fonctionner sur plusieurs systèmes d'exploitations et architectures matérielles sans qu'il soit nécessaire d'écrire du code spécifique à la plate-forme.
Il possède son propre environnement de développement intégré appelé TheIDE[4] qui est conçu pour gérer toutes les fonctionnalités du framework.
Fonctionnalités
Les principales fonctionnalités d'Ultimate++ sont :
- La librairie principale fournit un catalogue de fonctions de d'objets compatibles avec Unix / Linux / FreeBSD (X Window System - X11), Microsoft Windows et macOS
- Compatibilité avec C++20
- Comprend un IDE et un concepteur d'interface graphique
- Utilise fortement RAII et des mécanismes de type pointeurs automatiques pour éviter la gestion manuelle de la mémoire et même pour limiter l'utilisation de pointeurs dans le code[5]
- Simule l'apparence des Widgets graphiques natifs. Sur les systèmes X11, Ultimate++ prend en charge l'apparence des widgets GTK+
- La distribution standard est livrée avec les sources Ultimate++ incluses, même celles de l'IDE
- Utilise NTL comme système de modèle au lieu de STL
- Gestion de bases de données et développement d'applications avec SQL
- De nombreuses technologies telles que Topic++ (éditeur de documents), Assist++ (complétion de code, analyseur), Icon designer et bien d'autres sont intégrées à U++
Hello World
L'exemple suivant crée une application graphique C++ avec un bouton affichant "Hello world!" et réagissant au clique : <syntaxhighlight lang="cpp">
- 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();
} </syntaxhighlight>
Logiciels utilisant Ultimate++
Les différents logiciels suivant utilise U++:
- Openwind[6] - un logiciel de conception de parcs éoliens open-source
- UppCAD[7] - un système de CAO polyvalent[8]
Notes et références
- ↑ 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
- ↑ Vincent Gouvernelle, 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
- ↑ « Building OpenWind »
- ↑ « Ultimate++ Forums - UppCAD » (consulté le )
- ↑ « UppCAD » (consulté le )
Voir aussi
Articles connexes
- Boîte à outils de widgets
- Liste des boîtes à outils de widgets
- Qt - Toolkit utilisée par les applications KDE
- GTK + - Toolkit GIMP, une boîte à outils de widgets utilisée par les applications GNOME
- FLTK - Toolkit de widget légère, multiplateforme et non native
- Boîte à outils FOX - Toolkit de widget rapide, open source et cross plateforme
- wxWidgets - Toolkit de widgets et une bibliothèque d'outils pour créer des interfaces utilisateur graphiques
Liens externes
Article publié sur Wikimonde Plus
Erreur Lua dans Module:Suivi_des_biographies à la ligne 193 : attempt to index field 'wikibase' (a nil value).