Monodevelop 2.0 Alpha2
Voilà deux semaines que cette révision est sortie et je me dois quand même de faire un récapitulatif des améliorations de Monodevelop par rapport à la version 1.0 qui était considéré par beaucoup déjà comme le meilleur IDE sous linux. MonoDevelop 2.0 rattrape beaucoup de son retard sur visualstudio en ajoutant un nombre très important de fonctionnalités et de plug-ins proposés que je vous présenterai fonction de mon intérêt, car il serait long de viser l'exhaustivité.
Notez que les impressions d'écran sont tirées des Release notes officielles. Pour les voir en pleine résolution vous pouvez faire clic-droit afficher.
- Les nouveautés de gestion des projets
- Les WorkSpaces permettent de lancer/ouvrir en même temps plusieurs solutions indépendantes.
- Possibilité d'ouvrir plusieurs solutions distinctes depuis la même instance
- Possibilité d'organiser plus finement l'agencement par défaut et le dossier des solutions ou de définir pour un WorkSpace spécifique
- Les Nouveautés sur le XML et le Web
- Enfin la complétion sur les documents XML, ASPX, HTML...

- La complétion sur les documents XML est disponible pour tout XML dont on a le XSD (XML Schema Document)
- Bien qu'il n'y ait pas d'interface wysiwyg la toolbox permettra d'ajouter simplement les contrôles ASP.NET
- Début de support pour faire des applications moonlight et pour la complétion XAML
- Les Nouveautés de l'édition de Texte
- La complétion est plus pertinente

- La complétion peut suggérer (dans le cas d'un abonnement à une méthode il vous sera proposé de créer une classe anonyme avec la bonne signature)
- Repliement du code (Régions, Méthodes) avec aperçu au survol

- Large choix de coloration
- Possibilité de splitter l'affichage (par exemple pour comparer deux sources)
- Possibilité de voir sous la liste d'autocomplétion (Control la rend transparente)
- Possibilité d'insérer des extraits de code dans la ToolBox (Contien les Snipets par défaut)
- Mode VI pour les gens qui ont appris à être productif avec cet éditeur.
- Les Nouveautés en support de langages
- La syntaxe C#3 est désormais comprise et complété correctement. (méthodes d'extension...)
- Support du Boo.
- Support du Python (Python natif, sans .NET... Pas Iron-Python)
- Support du Vala (Un langage très inspiré du C# destiné a faire des applications GTK, ce langage compile vers du C et a de bonnes performances)
- Support de IKVM ( une machine Java .NET)
- Les Nouveaux outils
- Ajout d'un navigateur d'assemblies (permet de voir les classes et signatures de méthodes de l'arbre des classes et namespaces)
- Un menu de navigation (Ctrl+tab) qui permet de naviguer en avançant par onglet, permet aussi de passer sur un outil (les éléments de la solution la liste d'erreur...)

- Un menu qui propose d'overrider ou implémenter les éléments d'une classe ou interface.
- Intégration du debugger et avancée pas-à-pas.

- Gestion graphique des bases de données
- Attribut qui permet d'ajouter les CustomControl GTK# dans la toolbox
Notez donc que MonoDevelop 2.0 promet des améliorations très notables et une sortie normalement en mars 2009.
Vous avez envie d'essayer MonoDevelop 2.0 ? Le support des projets VisualStudio 2005 et 2008 y compris pour les web-projets ne peut que vous aider à le faire.
MoonLight? Première béta est disponible...
Bien que la béta de Moonlight 1.0 aussi appelée 0.9 soit capable de faire tourner les jeux de popfly (en silverlight 1.1) elle ne supporte pas le silverlight 2.0. Certains s'étonnent que le projet n'avance pas très vite mais les
contrats entre microsoft et Novell imposent à Novell les dates de
sorties... La première béta est disponibles sur le
site http://www.go-mono.com/moonlight/ sous la forme d'un plugin firefox.
La dernière alpha que j'ai pu essayer (Moonlight 0.8) ne m'as jamais
monté correctement un site avec du silverlight, certains sites mêmes me
demandaient de télécharger le plug-in.
À l'heure actuelle la date de release
de moonlight 1.0 n'est pas connue, mais durant la PDC, Miguel parlait
de "dans quelques semaines". Peut être sera elle de sortie avec Mono
2.2 qui devrait faire son entrée en scène lundi 8 décembre.
Ceux qui pensent que grâce à moonlight Silverlight est multiplateforme
(BSD, Solaris, Linux...) ne devraient pas le dire sans évoquer le
décalage temporel dû au temps d'implémentation. À titre informatif le
statu de béta pour le support de Silverlight 2.0 est prévu pour juin 2009.
Une des valeurs ajoutée de Mono: la portabilité et l'embarqué.
Mono a pour défaut d'être un peu moins performant que .NET et
pourtant il a une place non négligeable dans "l'embarqué" ou les
ressources sont souvent guettés sans vergognes pour gagner en masse, en
cout de production en réduisant les spécifications du CPU, en
autonomie...
Cet article vise à vous faire saisir les enjeux
de Mono et les raisons pour lesquelles il est choisi malgré une
stabilité et des performances un peu inférieure.
L'embarqué proposé par des compagnies:
Pourquoi Sandisk, grande entreprise de renom, marque de choix pour les
cartes SD ou autre, a préféré utiliser la plateforme Mono pour
développer son lecteur "Sansa Connect"? L'info n'est pas fraîche mais n'en est pas moins d'actualité. Les plus de cet appareil étaient outre le Wifi l'intégration avec Yahoo! Music, une interface fluide avec des effets corrects, la radio en streaming, bref... Un appareil correct encore noté correctement sur Amazon
bien qu'il soit moins d'actualité plus d'un an et demi après sa sortie.
L'intérêt de Mono est que l'on peut se créer son Embedded framework sur
mesure et le réduire à la demande, le compiler avec seulement le strict
nécessaire en spécifiant une option de compilation. Il suffira de
composer un document XML des éléments à compiler ou non. La structure
du Puzzle correspond à vrai dire mieux à Mono qu'au .NET. Même si on
doit se l'assembler et qu'à base égale ce n'est pas autant optimisé, on
peut enlever et mettre les pièces que l'on veut. En face .NET propose
un framework portable et un Framework PC complet et compilé par
version. De plus SanDisk en a profité pour s'économiser de nombreuses
licences Windows Mobile en se compilant ses applications et son
environnement pour sa plateforme.
La plateforme développement Unity3D servant à faire des jeux sur
serveurs (en s'intégrant par exemple dans le navigateur par le biais
d'un plugin) ou en local utilise aussi la plateforme Mono pour toute la
gestion de logique (Scripting, AI ... Mais évidemment pas le moteur
3D). Leur "IDE" semble bluffant de simplicité, o
n dirait une fusion
entre Blender et XCode (que connaissent les MacUsers). Unity marche sous Mac, XBox, PS3, Wii, IPhone (sans JailBreak), sous Windows mais pas
encore de paquets pour Linux. L'intérêt est que ce soit hautement
multiplateforme, puissant et que ça laisse le choix du langage. Les
langages proposés par défauts pour les scripts sont le Boo (Iron-Python
réadapté pour être mieux intégré au .NET), le C# et le JavaScript.
Certains auront peut-être le poil irisé à l'association de C# à un
langage de script, mais le projet Mono a développé un Interpréteur C#
prévu à cet effet. Microsoft devrait implémenter ça avec C#5.0 dans... Un moment.
L'embarqué par la communauté:
Mono arrive aussi avec ses applications sur les tablettes internet
Nokia (N800/N810 ...) dont la couche logicielle est open-source. Cet
environnement/plateforme de développement Maemo permet de coder en C++
avec du GTK+ standard. GTK# et Mono avec des bindings pour Maemo.
Mono Tomboy sur Nokia N810 Maemo
Les NetBooks sont une certaine réussite et ceux même sans Windows, une
initiative assez communautaire entamé avant la sortie du premier EeePC
le voyait venir. Un projet visant à succéder à la "console Open-Source
et Libre GP2X" en face de la GP2X Wiz, le projet OpenPandora. Cette
console de format comparable à une Nintendo DS et prévu pour le jeu
(notamment l'émulation car
ils savent qu'aucun éditeur ne proposera de jeux pour cette console) a
des spécifications qui peuvent laisser rêveur pour un prix abordable.
Le choix de l'architecture ARM Cortex permet pour une cadence à 600 MHz
un bon rendement et une faible consommation énergétique. Mono arrivera
dessus vu que Canonical éditeur de la distribution Ubuntu devrai
proposer des Jaunty Jackalope (dans cinq mois) une version compilée
pour ARM de sa distribution incluant Mono. Un pas vers les PC
incompatible Windows et Mono en seul recours pour le .Net.