Ultimate++
Créateur | Erreur Lua dans Module:Wikidata à la ligne 118 : attempt to index field 'wikibase' (a nil value). |
---|---|
Développé par | Erreur Lua dans Module:Wikidata à la ligne 118 : 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 118 : 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 118 : attempt to index field 'wikibase' (a nil value). |
Écrit en | Erreur Lua dans Module:Wikidata à la ligne 118 : attempt to index field 'wikibase' (a nil value). |
Interface | Erreur Lua dans Module:Wikidata à la ligne 118 : attempt to index field 'wikibase' (a nil value). |
Supporte les langages | Erreur Lua dans Module:Wikidata à la ligne 118 : attempt to index field 'wikibase' (a nil value). |
Système d'exploitation | Erreur Lua dans Module:Wikidata à la ligne 118 : 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 118 : attempt to index field 'wikibase' (a nil value). |
Formats lus | Erreur Lua dans Module:Wikidata à la ligne 118 : attempt to index field 'wikibase' (a nil value). |
Formats écrits | Erreur Lua dans Module:Wikidata à la ligne 118 : attempt to index field 'wikibase' (a nil value). |
Langues | Erreur Lua dans Module:Wikidata à la ligne 118 : attempt to index field 'wikibase' (a nil value). |
Type | Framework de développement |
Licence | BSD license |
Documentation | Erreur Lua dans Module:Wikidata à la ligne 118 : attempt to index field 'wikibase' (a nil value). |
Site web | Erreur Lua dans Module:Wikidata à la ligne 118 : 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[modifier]
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[modifier]
L'exemple suivant crée une application graphique C++ avec un bouton affichant "Hello world!" et réagissant au clique :
#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();
}
Logiciels utilisant Ultimate++[modifier]
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[modifier]
- ↑ 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 18 octobre 2020)
- ↑ « UppCAD » (consulté le 18 octobre 2020)
Voir aussi[modifier]
Articles connexes[modifier]
- 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[modifier]
- Erreur Lua dans Module:Wikidata à la ligne 606 : attempt to index field 'wikibase' (a nil value).
- Erreur de script : la fonction « tout » n’existe pas.
- Erreur Lua dans Module:Dictionnaires à la ligne 101 : attempt to index field 'wikibase' (a nil value).
- Erreur Lua dans Module:Autorité à la ligne 424 : attempt to index field 'wikibase' (a nil value).
- (en) Site officiel GitHub
- (en) Site officiel Sourceforge
Erreur Lua dans Module:Catégorisation_badges à la ligne 170 : attempt to index field 'wikibase' (a nil value).Erreur Lua dans Module:Suivi_des_biographies à la ligne 189 : attempt to index field 'wikibase' (a nil value).
Cet Article wiki "Ultimate++" est issu de Wikipedia. La liste de ses auteurs peut être visible dans ses historiques et/ou la page Edithistory:Ultimate++.