IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

wxWidgets Discussion :

La version 3.2 de wxWidgets, une bibliothèque C++ pour créer des applications multiplateformes, est disponible


Sujet :

wxWidgets

  1. #1
    Chroniqueur Actualités

    Homme Profil pro
    Dirigeant
    Inscrit en
    juin 2016
    Messages
    2 623
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Bénin

    Informations professionnelles :
    Activité : Dirigeant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : juin 2016
    Messages : 2 623
    Points : 57 059
    Points
    57 059
    Par défaut La version 3.2 de wxWidgets, une bibliothèque C++ pour créer des applications multiplateformes, est disponible
    La version 3.2 de wxWidgets, une bibliothèque C++ qui permet de créer des applications multiplateformes, est disponible avec le support de Wayland
    et la prise en charge de nouveaux compilateurs

    La version 3.2 de wxWidgets a été publiée la semaine dernière avec des améliorations majeures. wxWidgets 3.2 apporte des fonctionnalités telles que la prise en charge de l'affiche HiDPI (High Dots Per Inch), le support du mode sombre natif sur les versions modernes de macOS, ainsi que la prise en charge de macOS sur Arm, de HTTPS et HTTP/2 pour wxWebRequest, de Wayland, etc. La nouvelle version de la bibliothèque introduit également un port wxQt expérimental, de nouvelles classes, des améliorations pour les classes existantes et met à jour les bibliothèques tierces.

    wxWidgets est une bibliothèque C++ qui permet aux développeurs de créer des applications pour Windows, macOS, Linux et d'autres plateformes avec une seule base de code. Elle possède des méthodes pour la liaison avec des langages populaires tels que Python, Perl, Ruby et plusieurs autres langages. wxWidgets donne aux applications un aspect et une sensation véritablement natifs, car elle utilise l'API native de la plateforme plutôt que d'émuler l'interface graphique. wxWidgets est une bibliothèque libre et open source utilisée par des logiciels populaires comme Audacity, FileZilla, KiCad, BitTorrent et de nombreux autres programmes.

    La bibliothèque graphique wxWidgets contient un grand nombre de classes et de méthodes que le programmeur peut utiliser et personnaliser. Les applications affichent généralement des fenêtres contenant des contrôles standard, dessinant éventuellement des images et des graphiques spécialisés et répondant aux entrées de la souris, du clavier ou d'autres sources. Elles peuvent également communiquer avec d'autres processus ou piloter d'autres programmes. En d'autres termes, wxWidgets permet aux programmeurs d'écrire relativement facilement une application qui fait toutes les choses habituelles des applications modernes.

    Nom : slide_4.jpg
Affichages : 17521
Taille : 25,5 Ko

    Bien que wxWidgets soit souvent considérée comme une boîte à outils de développement d'interface graphique, les auteurs estiment qu'il est bien plus que cela et qu'il possède des fonctionnalités utiles pour de nombreux aspects du développement d'applications. Cela doit être le cas, car l'ensemble d'une application wxWidgets doit être portable sur différentes plateformes, et pas seulement la partie GUI. En outre, wxWidgets fournit des classes pour les fichiers et les flux, les threads multiples, les paramètres d'application, la communication interprocessus, l'aide en ligne, l'accès aux bases de données, et bien plus encore.

    L'équipe de développement de la bibliothèque a récemment publié wxWidgets 3.2. Cette version est l'aboutissement de nombreuses années de développement depuis la dernière version stable 3.0. Elle contient plus de 15 000 commits de plus de 400 contributeurs uniques (dont plus de 200 avec des contributions multiples). « Après presque 9 ans depuis le début de la dernière série de versions stables de wxWidgets, la première version de la nouvelle série stable 3.2 est enfin disponible sur GitHub », a annoncé l'équipe. Voici un résumé des principales nouveautés de wxWidgets 3.2 :

    • améliorations du système de construction : prise en charge de nouveaux compilateurs (y compris MSVS 2022, g++ 12, clang 14) avec une manière encore plus simple d'utiliser wxWidgets à partir de MSVS, avec le fichier wxwidgets.props, ainsi qu'un système de construction CMake entièrement nouveau ;
    • prise en charge du mode sombre natif sous macOS 10.14 et plus, prise en charge du matériel ARM et des versions de macOS jusqu'à 13 ;
    • prise en charge l'affichage HiDPI avec la nouvelle API basée sur wxBitmapBundle, mais presque parfaitement rétrocompatible, y compris le DPI par moniteur et les changements dynamiques de DPI ;
    • prise en charge de HTTPS et HTTP/2 avec wxWebRequest et ses équivalents ;
    • prise en charge du gel des lignes/colonnes dans wxGrid ;
    • prise en charge des événements liés aux gestes de la souris (projet GSoC 2017) ;
    • prise en charge des tailles de police non entières et poids de police arbitraires dans wxFont ;
    • prise en charge des largeurs de stylo fractionnaires dans wxGraphicsContext ;
    • prise en charge des fenêtres d'étiquettes arbitraires dans wxStaticBox ;
    • prise en charge du balisage dans les éléments de texte de wxDataViewCtrl ;
    • prise en charge des fichiers ZIP 64 ;
    • prise en charge de la compression LZMA ;
    • prise en charge de l'accessibilité nettement améliorée sous MSW ;
    • nouvelle implémentation de wxWebView basée sur Edge ;
    • prise en charge de la vérification orthographique native dans wxTextCtrl ;
    • nouveau wxRegEx basé sur PCRE ;
    • nouvelles classes :
      • wxActivityIndicator ;
      • wxAddRemoveCtrl ;
      • wxAppProgressIndicator ;
      • wxBitmapBundle ;
      • wxNativeWindow ;
      • wxPersistentComboBox ;
      • wxPowerResourceBlocker ;
      • wxSecretStore ;
      • wxTempFFile ;
      • wxUILocale
      • de nombreuses nouvelles fonctionnalités dans les classes existantes.
    • nouveaux gestionnaires XRC pour toutes les nouvelles classes et certaines des classes existantes ;
    • améliorations significatives de : wxBusyInfo, wxDataViewCtrl, wxDirDialog, wxGrid, wxNotificationMessage, wxSpinCtrl, wxStaticBox, wxStyledTextCtrl, wxUIActionSimulator ;
    • amélioration de la sécurité à la compilation avec la possibilité de désactiver les conversions implicites dangereuses entre les chaînes wxString et char* ;
    • dernières versions de toutes les bibliothèques tierces fournies, y compris tous les correctifs de sécurité et le support de WebKit 2 et GStreamer 1.7 sous Unix ;
    • un meilleur support de Wayland, même s'il est encore perfectible, dans wxGTK ;
    • support OpenGL remanié et mieux adapté à l'OpenGL moderne (3.2+) ;
    • amélioration du support de C++11 et plus, wxWidgets peut être construit avec des compilateurs C++20 ;
    • nouveau portage expérimental de wxQt ;
    • de nombreuses corrections de bogues.


    Une différence clé entre wxWidgets et Qt ou GTK est que wxWidgets utilise des contrôles natifs pour créer l'interface utilisateur, contrairement à Qt ou GTK qui dessinent tout eux-mêmes. Qt semble imiter une sensation native, mais wxWidgets fournit une véritable interface utilisateur native.

    Source : wxWidgets 3.2

    Et vous ?

    Quel est votre avis sur le sujet ?
    Que pensez-vous des nouvelles fonctionnalités de wxWidgets 3.2 ?
    Quelle bibliothèque utilisez-vous entre wxWidgets et Qt ? Quelle comparaison faites-vous entre les deux ?

    Voir aussi

    GCC 12 apportera de nouvelles fonctionnalités C++, des améliorations et les corrections de bogues, annoncée pour avril 2022

    Intel achève l'adoption de LLVM et mettra fin aux mises à jour des compilateurs C/C++ classiques, le compilateur Intel C/C++ basé sur LLVM présente un avantage de 41 % par rapport à gcc

    JetBrains dévoile la feuille de route de CLion 2022.2 : un aperçu de ce qui vous attend dans la prochaine version majeure de l'EDI C/C++ multiplateforme
    Contribuez au club : corrections, suggestions, critiques, ... Contactez le service news et Rédigez des actualités

  2. #2
    Membre averti
    Inscrit en
    juin 2005
    Messages
    228
    Détails du profil
    Informations forums :
    Inscription : juin 2005
    Messages : 228
    Points : 446
    Points
    446
    Par défaut
    J'avais essayé wxWidgets en son temps, c'était un peu ardu et j'ai préféré QT, car QT ne fait pas que des IHM, il propose d'autres choses. Bref, QT est un framework plus complet. Seuls inconvénients, il faut toujours déployer les librairie de framework et son coût un peu top élevé pour de petites structures (oui, il y a la version opens source).

    Pour moi, je le dis et le redis, à ce niveau (framework et gui) la référence est Purebasic, c'est pour moi le modèle à suivre : très complet, très léger et très facile à déployer. C'est ce que j'ai fini par choisir (j'ai abandonné Delphi et Qt pour Purebasic). Ce serait bien que d'autres sociétés/communautés s'en inspire pour créer ce genre de librairie pour d'autres langages.

    wxWidgets, oui, mais ça fait quand-même très XXe siècle, non ?

  3. #3
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    septembre 2019
    Messages
    130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : septembre 2019
    Messages : 130
    Points : 630
    Points
    630
    Par défaut
    J'ai utilisé WxWidgets un temps: ça marchait à peu près mais avec beaucoup de dysfonctionnements dès qu'on voulait faire des affichages un peu évolués, des problèmes de rafraîchissement entre autres. Au final, on était passé à Qt qui avait lui même d'autres problèmes, mais un peu moins
    J'ai l'impression que les frameworks UI n'ont vraiment pas évolué depuis plus de 20 ans (!). Il n'y avait que l'API graphique intégré à l'OS BeOS que je trouvais génial et bien foutu.

  4. #4
    Membre chevronné
    Profil pro
    retraité
    Inscrit en
    décembre 2010
    Messages
    664
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : décembre 2010
    Messages : 664
    Points : 1 834
    Points
    1 834
    Par défaut
    J'ai utilisé wxWidgets mais j'ai arrêté il y a plus de 10ans quand Qt est passé avec la licence LGPL. Et y a pas photo Qt est quand même au dessus de wxWidgets.

    Ce qui lui manque ?
    • un langage de description d'UI plus simple type QML
    • un portage vers Android/iOS
    • un système de gestions des événements plus simples, moins "Win32", les BEGIN_EVENT...c'est bien mais bon (je sais on peut faire autrement) et si possible sans devoir faire des héritages c'est mieux
    • le système de designer était pas "ouf" de mémoire
    • il faudrait abonner la LGPL et passer en MIT, BSD...


    Bref c'est plein de petites choses qui font que beaucoup de projets sont passés de wxWidgets à Qt (vlc, wireshark, Gcompris...). C'est dommage car ils n'étaient pas en retard.

    Maintenant Qt est cher en embarqué (même si on peut utiliser la LGPL mais moins facilement), et du coup je commence à regarder flutter.

    Purebasic ? j'ai commencé le basic y a 37ans, je ne vais pas y revenir :-), même si peut être que le produit est très bon (qu'ils rajoutent d'autres langages )

  5. #5
    Expert confirmé Avatar de AoCannaille
    Inscrit en
    juin 2009
    Messages
    1 243
    Détails du profil
    Informations forums :
    Inscription : juin 2009
    Messages : 1 243
    Points : 4 087
    Points
    4 087
    Par défaut
    Citation Envoyé par Ehma Voir le message
    wxWidgets, oui, mais ça fait quand-même très XXe siècle, non ?
    C'est clair que quand on parcoure les screenshot, ça fait prendre un coup de vieux

  6. #6
    Expert éminent sénior

    Avatar de dragonjoker59
    Homme Profil pro
    Software Developer
    Inscrit en
    juin 2005
    Messages
    2 028
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Software Developer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : juin 2005
    Messages : 2 028
    Points : 11 042
    Points
    11 042
    Billets dans le blog
    8
    Par défaut
    Ben... Vu que c'est du rendu natif, si les screenshots sont faits sous Windows XP, ça va effectivement sembler vieux...

    De mon côté, ça ressemble plutôt à ça (après, je suis pas designer de GUI non plus, donc ça pourra paraître moche à certains)

    Nom : Sans titre.png
Affichages : 723
Taille : 117,7 Ko
    Si vous ne trouvez plus rien, cherchez autre chose...

    Vous trouverez ici des tutoriels OpenGL moderne.
    Mon moteur 3D: Castor 3D, presque utilisable (venez participer, il y a de la place)!
    Un projet qui ne sert à rien, mais qu'il est joli (des fois) : ProceduralGenerator (Génération procédurale d'images, et post-processing).

Discussions similaires

  1. Réponses: 5
    Dernier message: 15/03/2013, 14h02
  2. Réponses: 0
    Dernier message: 27/04/2010, 19h27
  3. Réponses: 0
    Dernier message: 20/04/2010, 18h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo