Java-Gnome

Comme vous le savez, l'environnement Gnome sous linux utilise les composants graphiques de GTK, qui est à la fois portable mais qui de plus possède de nombreux "binding" dans de nombreux langages. Java n'est pas en reste, et en plus de GTK, Gnome-Java propose les "bindings" vers Glade, GConf, Cairo, etc…

Bref, tout pour faire une application qui s'intégre bien dans Gnome, le tout réalisé dans l'élégant langage qu'est le Java , et tout en pouvant bénefficier du très puissant IDE Eclipse. Et puis le fin du fin, c'est de générer un exécutable natif sous linux à l'aide d'un script ANT qui compile avec GCJ (de toutes façon, vous avez déjà vu Gnome sous Windows???).

Alors, après une petite soiré de dev, j'ai réalisé un petit carnet d'adresse en Java compilé en natif :

Carnet d'adresse

Vous pouvez télécharger les sources ici et les binaires ici

Bien évidement, la question se pose pas mal dans la communauté : les futures applications Gnome… en C++, Java ou Mono ?

Java for gaming :)

Et oui, Java n’est pas incompatible avec les jeux !

Personnellement, je ne reproche pas grand chose à Java (surtout depuis la v5), sauf la conso en mémoire… Bref, Java c’est aussi des outils comme Eclipse (vivement la 3.1) [http://www.eclipse.org/] et des Frameworks comme jME [http://www.mojomonkeycoding.com].

Non non, jME ce n’est pas “Java for Mobile Edition” mais ici “jMonkey Engine”.

jME est donc un Framework Java pour faire des jeux (game engine) qui repose sur une API de Java qui s’interface avec OpenGL : LWJGL pour “Lightweight Java Game Library”.

“Lightweight” car cette API a pour ambition de s’intégrer dans les systèmes embarqués (les portables ^^).

La combinaison des deux permet tout de même des résultats très appréciables :

[exemple de chargement de fichier 3DS avec animations]

J’ai commencé à faire un petit jeu… mais je passe du coq à l’âne… il me faudrait plus de temps.

Geeks

Bon, pour les Geeks comme moi, j’ai découvert un truc sympa aujourd’hui : Mono+ikvm

Explication : .Net (de Microsoft) s’impose comme un standard dans le développement d’applications “fenêtrées”, mais bon voila : un standard oui, mais sur Windows avec le Framework .Net de Microsoft…

C’est là qu’intervient Mono (http://www.mono-project.com/about/index.html).

Mono est un “altérnative” à .Net (voir sur le site pour une explication plus détaillée) cad que grâce à Mono, on peut compiler et exécuter des applications .Net. Résultat, .Net n’est plus une exclusivité Microsoft mais s’étend aux plateformes Linux Mac et autres…

Ikvm : kesako ? (http://www.ikvm.net/)

Qui ne connais pas Java ? Et bien ikvm c’est comme le JDK de Sun… compatible .Net !

En effet, ikvm regroupe une machine virtuelle faite en .Net, l’implémentation des classes Java en .Net ainsi que des outils permettant la compatibilité .Net/Java.

En gros, tu fais une appli Java, que tu compiles avec ikvm qui te donne un joli petit exe .Net :) . Ou même un petit composant Java qui s’intègre dans une appli .Net.

Et là on me répond, et l’avantage de Java alors ? Qu’en est-il du « code once, run anywhere » ? Bingo, la je réponds Mono !

Voila comment faire de Java un langage utilisable pour des applis natives avec un code portable.

Et là on me pose la question : « Et J# ou C# de Microsoft ? »… ok, à part profiter des outils existant pour Java (Eclipse, etc…) je ne vois pas d’autres intérêts. Mais ça demande à être étudié, non ^^ ?

Merci à Will Senn (http://www.codeproject.com/cpnet/hellomono.asp)

Pour les plus Geeks d’entre vous : Eclipse tournant à l’aide d’IKVM à l’aide de Mono sur Cygwin+Xfree sur Windows2000… rien que ça ! (voir sur le site de Mono)

Suivre

Get every new post delivered to your Inbox.