Ca fait un petit moment que j'ai envie de faire des applications pour Linux. Sauf que j'aime bien Windows et j'ai envie d'être paresseux pour le développement. Faire 4 archives, chacune codée pour une plateforme (encore faut-il l'avoir), ce n'est pas ce qu'il y a de plus tentant.
Mais comme le monde est parfois bien fait, des gens totalement extraordinaires ont inventé ceci :
"wxWidgets lets developers create applications for Win32, Mac OS X, GTK+, X11, Motif, WinCE, and more using one codebase. It can be used from languages such as C++, Python, Perl, and C#/.NET. --Unlike other cross-platform toolkits, wxWidgets applications look and feel native--. This is because wxWidgets uses the platform's own native controls rather than emulating them. It's also extensive, free, open-source, and mature. Why not give it a try, like many others have?"
Impossible de résister à la phrase soulignée, car c'est tout le secret de wxWidgets. Ce qu'on sait peut-être moins, ce n'est pas seulement un toolkit qui permet de faire des fenêtres, il sait aussi intégrer toutes les technologies informatiques : fichiers, configuration, sockets, pipe...
A partir de là, on le compile et on le teste. Vous savez quoi ? Ca compile trop bien, c'est hyper-complet et c'est trop trop facile à coder ! On peut alors se focaliser sur le coeur du logiciel et non sur l'extérieur.
Un moment, j'ai été tenté par QT4 pour faire tourner des applications dans un milieu Linux/KDE. Mais ça se code comme GTK et faut installer des DLL dans Windows (pollution). Alors autant prendre wxWidgets qui utilisera les ressources natives de Windows sans réinventer la roue. Le choix QT/GTK a été tranché par le simple fait que WX ne gère que GTK ! Cela n'exclut pas qu'on puisse se mette à QT plus tard... vraiment avec Java ?
Chose à noter aussi (car ça peut servir), la "wxWidgets License 3" vous permet de :
"The exception is that you may use, copy, link, modify and distribute under your own terms, binary object code versions of works based on the Library."
Naturellement, cela ne s'applique pas si vous pompez du code fonctionnant au Gaz de Pétrole Liquéfié... C'est pour cela qu'on trouve beaucoup de logiciels commerciaux multi-plateforme utilisant cette librairie. Si c'était hardcore à utiliser, ces entreprises ne perdraient pas leur temps et leur argent.
Trop bien ! Et vous ?