Mono depuis la version 2.0

6 octobre 2008

La dernière version de Mono apporte une plus grande compatibilité avec le version de Microsoft de .NET comme l'indique la feuille de version sur le site.

Mono et .NET

Dans la version finale parue aujourd'hui, les fonctionnalités suivantes de .NET sont implémentées...

Windows.forms

C'est la version .NET de winforms, la bibliothèque d'interface graphique des applications pour Windows qui peuvent donc maintenant fonctionner sous Linux grâce à Mono.

ToolStrip, MenuStrip et StatusStrip sont les widgets pour les barres d'outils, les menus et la barre de statut. Des éléments graphiques complets avec par exemple des icônes dans les menus.

FlowLayoutPanel est un exemple de composant pour arranger les widgets graphiques, aperçu:

XML

La bibliothèque de gestion de fichiers XML de .NET.

LINQ (Langage Integrated Query)

C'est une extension à C# et autres langages pour réaliser des requêtes d'accès aux informations, qu'elles soient dans des bases de données ou des fichiers XML. Des fonctions dans un langage de requêtes sont ajoutées au langage de programmation.

ASP NET 2.0

Permet de créer des sites web dynamiques. C'est un framework de développement proposant des widgets graphiques et des outils.

Drawing 2.0

La bibliothèque de dessin de .NET. Elle s'utilise avec C# ou Basic.

Compilateurs

Mono supporte, outre le compilateur de langage intermédiaire IL, C# 3.0 et Visual Basic 8.

Mono, le plus

A coté du port des API de .NET, mono offre ses propres composants qui viennent principalement du monde du logiciel libre et permettent de porter sous .NET des applications natives de Linux.

Ce sont notamment:

  • GTK#. La bibliothèque d'interface graphique GTK de Linux en version C#.
  • Cairo. Un port de la bibliothèque graphique de Mozilla, qui est à la base de XULRunner et Firefox.
  • SQLite. Une librairie de gestion de données locales.
  • Posix. Pour l'accès au système Linux.
  • WebBrowser. Basé sur Gecko, le moteur de rendu de Mozilla, c'est un navigateur tournant sur .NET.

La plupart des applications conçues pour .NET fonctionnent sur Mono ce qui les rend alors compatibles avec Linux. Citons comme exemple l'éditeur UML - dont l'écran est montré plus haut à droite -, et le logiciel de dessin Paint .NET.

Mono et Android

La plateforme Mono a été transposée sous Android, plutôt pour expérimenter le concept qu'offrir un réel outil de production. Ainsi les programmes Java peuvent être compilés en C# exécutable par une machine virtuelle qui remplace Dalvik. Cependant les programmes sont liés aux librairies du système ce qui permet d'utiliser les capacités d'un mobile.
Le projet XobotOS utilise Sharpen, un convertisseur de Java en C#.

Moonlight, c'est fini

Le CEO de Mono qui développait la version Linux de Silverlight ne croit plus du tout à cette technologie et a décidé de stopper le développement de sa version compatible, ce qu'il a annoncé le 29 mai 2012.
Miguel de Icaza reproche à Microsoft d'avoir apporté des restrictions à Silverlight qui empêche d'en faire une plateforme pour le bureau.

La fin de Moonlight préfigure celle de Silverlight, qui laisse ainsi la place à HTML 5 + JavaScript ou XAML + C# ou autre langage sur Metro.

De Icaza précise qu'il existe une interface Mono pour tout type de matériel et qui puisse remplacer Moonlight, avec un backend commun en C#.