Ultimate++

Aller à la navigation Aller à la recherche
Ultimate++
[[Fichier:Erreur Lua dans Module:Wikidata à la ligne 775 : attempt to index field 'wikibase' (a nil value). |frameless |upright=1 |alt=Description de l'image Erreur Lua dans Module:Wikidata à la ligne 775 : attempt to index field 'wikibase' (a nil value).. ]]
[[Fichier:Erreur Lua dans Module:Wikidata à la ligne 775 : attempt to index field 'wikibase' (a nil value). |frameless |upright=1 |alt=Description de cette image, également commentée ci-après ]]
Erreur Lua dans Module:Wikidata à la ligne 775 : attempt to index field 'wikibase' (a nil value).
Informations
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">

  1. 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

  1. http://www.programmez.com/magazine_articles.php?id_article=981 Programmez! issue 104
  2. http://www.programmez.com/magazine_articles.php?id_article=1150 Programmez! issue 114
  3. Vincent Gouvernelle, C++: L'essentiel du code et des commandes, Pearson Education France, (ISBN 978-2-7440-2281-4) 
  4. Getting started with Ultimate++ CodeProject article
  5. U++ Overview
  6. « Building OpenWind »
  7. « Ultimate++ Forums - UppCAD » (consulté le )
  8. « UppCAD » (consulté le )

Voir aussi

Articles connexes

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).