Winforms sous Linux

Après 4 ans de développement, la communauté Mono est enfin parvenu à l’implémentation complète des Winforms : http://tirania.org/blog/archive/2008/May-13.html

On peux se demander “oui, mais pourquoi faire?” et je ne trouve pas de réponse à la question. En effet, il arrive souvent qu’une application .Net possède du Legacy et donc des dépendances COM ou P/Invoke. Dans ce cas, on ne peut pas la migrer (pour tester si une migration est possible: http://www.mono-project.com/Moma)

Mais comme je suis exigent en terme d’interface, je n’aime pas avoir une application “alien” qui ne ressemble pas à mon environnement Linux (GTK/QT). Certes, il est prévu d’avoir un meilleur support du moteur de thème lors du prochain GSoC, donc wait and see.

Rappelons que les Winforms sont une sur-couche .Net de l’API WIN32. Cette dernière n’existant pas sous Linux et MacOS, j’en profite alors pour féliciter les équipes de Mono pour leur implémentation “from scratch”.

D’un autre coté, l’implémentation WPF chez Mono avance plutôt vite. D’ailleurs, la première release de Moonlight vient de sortir. Il n’y a pas de dépendance WIN32 dans ce cas, et je vois plus l’avenir des applications .Net dans ce sens. Mais l’approche WPF est d’avoir un thème propre à l’application, comme c’est le cas pour les sites Web, on obtient la même interface sous Linux et Windows (et MacOS). Mais finalement je trouve que ces interfaces ne s’intègrent à aucun des 3 environnements.

Lisez la suite de cette entrée »

Publié dans Blabla, linux. Tags : , , , , , , . 3 Commentaires »

DukeNukem 4 Linux

OUI! Duke Nukem pour Linux ça existe, et c'est pas évident à trouver…
Premièrement, je vous conseil de lire http://dukeguide.free.fr/

Après lecture de ce "Howto", on découvre qu'il existe plusieurs refonte de DukeNukem, dont la plus connue est la JFDuke.
Ces versions permettent de faire fonctionner DukeNukem en réseau, bénéficier d'OpenGL, et d’installer des mods.

Je vous ai déjà parler du mod "HRP" qui permet de faire marcher DukeNukem avec des résolutions allant jusqu'à 1280×1024 et avoir des models 3D (au lieu des sprits) pour les monstres, armes et éléments du décort.
Je vous conseil aussi le mod "SD_Duke" qui rajoute des giclés de sang et des gibs en 3D…
Ces mods sont compatible avec plusieurs versions de Duke, dont la JFDuke… et peux importe l'OS.

Malheureusement, la version Linux de Duke ne se télécharge pas (comme la version Mac d'ailleur). Donc j'ai télécharger les sources de JFDuke pour les compiler sous Linux afin de pouvoir y jouer, mais aussi de pouvoir bénéficier des mods.

Pour les plus "geek" d'entre vous, voici alors les binaires compilés pour Linux x86. Il y a sans doute des problèmes de sons (d'ailleur il est conseillé sur les forums de désactiver les sons d'ambiances) car cette version utilise la librairie FMod, et l'utilise pas forcement comme il faut… L'auteur ne corrige pas les bugs car il travail sur une nouvelle architecture (JFAud) basé sur OpenAL (donc patience pour le sons nickel sous linux).

Alors, bon jeux les penguins !

DukeLinux

Publié dans linux. Tags : , . 1 Commentaire »

CyGnome

Dans mon précédent poste sur Gnome-Java, j'ai écris :

"[...]faire une application qui s'intégre bien dans Gnome, le tout réalisé dans l'élégant langage qu'est le Java [...] générer un exécutable natif sous linux [...] qui compile avec GCJ (de toutes façon, vous avez déjà vu Gnome sous Windows???).

C'est la mon erreur : je savais très bien que gnome existait sous Windows, mais je n'avais jamais vraiment essayé…
Alors voila chose faite ! Grâce à Cygwin + CyGnome.

Explication : Cygwin est un environnement linux sous windows (donc pas de kernel linux mais Bash, Gcc, Vi etc.. recompilé sous windows).

CygnomeScreen
CyGnome c'est tout simplement Gnome recompilé en natif sous windows grâce à Cygwin. Bien évidement on bénéficie pas des avantages du noyau Linux et des nouveautés, mais j'ai enfin un explorateur (Nautilus) avec un thème GTK qui a de la gueule (et puis je peut utiliser mes commandes linux préféré comme GCJ pour recompiler mon appli sous Windows :))

Publié dans linux. Tags : , . Aucun commentaire »

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 ?

Liferea, lecteur RSS sous linux

Il existe de nombreux lecteurs RSS, mais c’est Liferea que j’utilise le plus.
En effet, celui-ci permet d’importe/exporter les lien des flux vers un fichier OPML, il permet de présenter les flux sous forme classique (comme pour les emails, liste des titres et corps de celui sélectionné), mais aussi sous le forme d’une page unique. Il s’intégre bien dans mon environement Gnome, puisqu’il est fait en GTK, et il offre la possibilité de choisir le moteur de rendu HTML (GtkHTML ou Gecko de Mozilla).

Bien évidement, ce n’est pas le seul lecteur RSS que j’ai testé, et il mérite un coup d’oeil :

  • Thunderbird, en plus de lire les mails, on peut lire les RSS. Je l’utilise d’ailleur sous Windows.
  • RSSOWL, vraiment bien fait. Réalisé en Eclipse RCP, cad en Java, donc existe aussi sous Windows.
  • Blam, très simple, réalise en .Net sous linux, cad en mono
  • Sage, extension pour Firefox, donc bien évidement, il existe aussi sous Windows.
  • Straw, une autre application de lecture RSS pour Gnome
  • Netvibes, c’est carrément un portail web, il existe donc sur toutes les plateformes, et est surtout disponnible depuis n’importe où !

liferea

Publié dans linux. Tags : , , . Aucun commentaire »

Salut (avec Drivel)!

Ceci est mon premier billet sur WordPress… et pour inaugurer la catégorie des outils sous linux, je commence par Drivel qui m'a permit d'écrire ce billet.
Une screenshot de Drivel

Publié dans linux. Tags : , . Aucun commentaire »

Echec

Echec total :(

Je voulais tester Cygnome en en faire mon shell par défaut sous windows…. je n’y arrive pas.

De même pour Xorg. La Warty d’Ubuntu est fournie avec XFree, mais je voulais tester les effets d’ombres et de transparences avec Xorg…. mais je dois m’armer de patience.

Bref, je passe à autre chose. Mes projets sont :

  • continuer mes recherches sur lwjgl
  • re-coder ma petite appli .Net à la WhereIsIt avec sérialisation XML (SOAP ?)
  • re-coder mon projet de licence en .Net avec Maverick.

En ce qui concerne le serveur ASP.Net, je me suis amusé avec Apache2 couplé à Cassini (ou le serveur XPS de Mono) grâce à mod_proxyredirect ^^

Publié dans linux. Tags : , , . Aucun commentaire »

Mono suite…

Après avoir passé quelque minutes sur un Tuto, voila ma première appli Mono avec GTK# et le composant Gecko (Mozilla) à l’aide de MonoDeveloppement et GLade (tjs sous nux ;) ) :

Mono le retour…

De retour sous nux… car les ralentissements sous win me soulent…

Puis je ne sais pour quel raison, je teste la ligne de commande suivante :

>mono Helloworld.exe

Et hop! Le programme ce lance ! Pouvoir exécuter des applis compilées avec le framework mono ça devient de plus en plus sympa :)

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)