Blog Mono de Christophe Narbonne

Blog d'un passioné pour les passionés. Knowledge is Power

RecentComments

Comment RSS

Google Summer Of code: De bonnes perspectives pour Mono

Neuf personnes se sont engagées à contribuer au projet Mono auprès d'un mentor de l'équipe Mono et de Google. Leurs contributions seront financées par le projet Google Summer Of Code.


Ils sont tous venus avec des projets prédéfinis qui seront probablement intégrés à Mono en 2.6 ou 2.8 en fonction de la qualité du rendu. Voici les points pour lesquel les utilisateurs du projet Mono pourront remercier Google très bien tôt: 
  • Une amélioration et mise à jour de Mono ParallelFX. Éventuellement le développement d'un outil d'annalyse d'applications multi-tâches tel que Chess (utilisé pour répérer les éventuels problèmes de partages de mémoire entre les tâches).
  • Un outil d'optimisation du langage intermédiaire (CIL) c'est à dire du .exe ou .dll semi-compilé qui contrairement au compilateur temps réel (JIT) peut affiner ses optimisations quitte à prendre plus de temps.
  • Création d'une librairie GIT. GIT est un gestionnaire de versions créé par Linus Torvalds. Git est à SVN ce que bittorent est au Warez.
  • Un portage de Mono.SIMD pour processeurs 64 bits. Pour l'instant Mono.SIMD est pour systèmes x86.
  • Import de fonctionnalités du Visual Basic 9 dans le compilateur VB du projet Mono
  • Un moyen de créer des procédures Postgre en CIL pour permettre d'abstraire encore les développeurs du SQL y compris pour faire des procédures stockées.

 

Mais pour ceux qui aiment les outils de développement poussés et multi-plateforme, MonoDevelop n'est pas oublié:

  • Un générateur de classe Graphique, je suppose UML. L'exécutant du projet commencera par créer un Widget Canevas inter-opérable qui cherchera à rester suffisamment générique pour être intégré à GTK# à l'avenir. Ce contrôle pourait être fait en collaboration avec le projet suivant.
  • Un afficheur/éditeur graphique de base de données. remarque: MonoDevelop intègre déjà de quoi se connecter graphiquement à des bases de données et afficher dans des tables des retours de requêtes, mais là il s'agit d'une représentation de structure avec les liens entre les tables et autre.
  • Pour les utilisateurs de Mylyn sur eclipse, un plugin MonoDevelop permettra une intégration similaire avec des outils de gestion de projets en ligne ou hors ligne (Bugzilla/Trac).

Remarque: Ubuntu 9.04 jaunty jackalope est sorti: http://releases.ubuntu.com/9.04/

Posted: avr. 23 2009, 14:43 by christophen | Commentaires (3) RSS comment feed |
  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Filed under: Général | Mono | News

[Mono] Privilégié pour les super-calculateurs.

Effectivement, pour la gestion de grosses tables, de matrices, l'usage en calculs intensifs sur de super-ordinateurs, Mono présente des avantages sur .NET et Java.  

 On peut constater que même si la norme du .NET permet l'usage de long en index pour des tables, Windows 64 bits lui-même ne gérera pas de tables de plus de 2,147,483,648 entrées contre 9,223,372,036,854,775,808 pour mono (autrement dit plus de quatre milliards de fois plus grande).

Java lui a une norme qui ne permet pas l'usage de tables aussi grandes, il faudrait modifier le bytecode pour lui permettre d'arriver à la même limite que Mono.

 Mono est compatible avec plusieurs architectures dont ARM et MIPS. 

On peut voir des serveurs utilisant des processeurs MIPS moins cher et moins gourmands que les processeurs Intel/AMD.

Voici un exemple de constructeur (sicortex.com) dont je traduis la phrase de spécifications sur les processeurs de son serveur haut de gamme:

  • " Ces serveurs contiennent 5,832 processeurs MIPS 64 bits d'1.4GFlops, chacun consommant seulement 900 milli-Watts."

Mono permet de bénéficier pour les calculs vectoriels et matriciels des optimisations SIMD des processeurs modernes. Cette optimisation permet de rattraper le retard de performance par rapport à du code C si ce dernier est compilé sans SIMD.

Pour finir on devrait voir arriver des outils de gestion de tâche intéressants avec Mono 2.6, ces fonctions étant particulièrement utilisées dans les jeux vidéos et un peu technique et de plus étant part d'une nouvelle version de Mono, ils seront objets d'un autre article.

Posted: avr. 22 2009, 12:09 by christophen | Commentaires (2) RSS comment feed |
  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Filed under: Général | Mono | Présentation

[Mono] ASP.NET MVC est bien là grâce à sa licence MS-PL.

Et oui, l'équipe Mono n'as pas eu à re-faire l'intégralité de ce set d'outils facilitant la mise en place de projets respectant l'architecture de programmation MVC: Modèle Vue Contrôleur.

Ce set d'outils embarque un plug-in Visual-Studio, un Template Visual Studio (projet vide), et la bibliothèque contenant des classes .NET (assemblie), les fichiers javascript et autre.

Comment mettre en place un site ASP.NET MVC avec Linux grâce à Mono:

Il faut au moins mono 2.4 et les références aux assemblies suivantes:

  • System.Web.Abstractions
  • System.Web.Extensions
  • System.Web.Routing (Pour ces trois premières références, il faut le paquet mono-extras sous OpenSuse.)
  • System.Web.Mvc (Si vous utilisez MonoDevelop, cette assemblies est dans le plugin MVC, mais elle sera intégrée dans Mono 2.4.1 et Mono 2.6)

  Vous pouvez ajouter le plug-in MVC dans MonoDevelop grâce au gestionnaire de greffons du menu "Outils":

 

 

Ceci vous installe le template, l'assemblie et ajoute quelques fonctions contextuelles à MonoDevelop.

Nous pouvons créer un site en faisant une Nouvelle solution MVC:

 

 

Nous avons donc un projet complet qui respecte l'architecture MVC grâce au Template.

Nous pouvons graphiquement ajouter des vues partiellement générées à la demande.

 



Bref si le fonctionnement vous intéresse, vous pouvez suivre la suite d'articles de Bertrand Vergnault à ce sujet dont voici le premier: ASPNET-MVC-Partie-1-Presentation-de-MVC

Pour ma part, j'espère que cette petite présentation vous aura intéressé.

 

Posted: avr. 04 2009, 20:37 by christophen | Commentaires (10) RSS comment feed |
  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Filed under: Général | Mono | News | Présentation

[Mono] La définition.

Comme on me l'avait fait remarquer, mon blog parle de Mono mais je n'y ai jamais réellement donné une définition claire de ce que c'est. La plupart d'entre vous devez savoir ce que c'est pour tomber sur mon blog mais, j'essaye de cadrer un public assez large qui éventuellement chercherait plus de la culture informatique que de la technique.

Définir et positionner Mono dans le monde informatique de manière illustrée et claire prend plusieurs pages, j'en ai fait le premier tutoriel Mono sur Dotnet-France. Plutôt que d'être original, j'ai appelé ce chapitre "Introduction". Comme Mono évolue beaucoup et que je suis d'assez prêt son actualité, ce tutoriel est assez régulièrement mis à jour. La validation est dans l'architecture actuelle par-contre parfois moins rapide que moi Cool.

 

Voici l'adresse des tutoriels Mono, la définition est le chapitre d'introduction: http://www.dotnet-france.com/Cours/Mono.html

Posted: avr. 04 2009, 19:04 by christophen | Commentaires (0) RSS comment feed |
  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Filed under: Général | Mono