Précédent   Forum du club des développeurs et IT Pro > Dotnet > Général Dotnet
Général Dotnet Forum dédié aux questions sur le développement .NET en général. Avant de poster -> FAQs .NET, Articles .NET, Sources .NET
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Actualité déjà publiée
 
Outils de la discussion
Publicité
'
Vieux 23/10/2012, 18h34   #1
LittleWhite
Responsable 2D/3D/Jeux


 
Avatar de LittleWhite
 
Homme Alexandre Laurent
Ingénieur développement logiciels
Inscription : mai 2008
Messages : 10 476
Détails du profil
Informations personnelles :
Nom : Homme Alexandre Laurent
Localisation : France

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : mai 2008
Messages : 10 476
Points : 40 554
Points : 40 554
Par défaut La troisième version majeure de Mono est disponible

La troisième version majeure de Mono est disponible
Support complet de C# 5.0 et de la programmation asynchrone, profil 4.5, amélioration du compilateur et des performances

L'implémentation Open Source du framework .NET est disponible dans sa troisième version majeure et améliore le support du framework de Microsoft pour les machines UNIX, Windows, MacOS et autres.

Compilateur C#

Mono possède maintenant un support complet de C# 5.0 et de la programmation asynchrone.

Le compilateur a finalisé sa migration du générateur de code afin de pleinement utiliser l'API IKVM.Reflection. Cette fonctionnalité avait été commencée dans Mono 2.10 et est maintenant disponible par défaut. Avec cette fonctionnalité, les développeurs vont pouvoir utiliser mscorlib comme ils le souhaitent sans devoir recompiler un compilateur personnalisé. De plus, les exécutables multiples pour le compilateur ont été éliminés et l'unification dans un même compilateur diminue les temps de compilation.

Evaluation peut maintenant compiler des types

L'API Evaluator.Eval() n'est plus limité aux expressions et appels de fonctions : vous pouvez passer des namespaces, classes, interfaces et définitions de structures en tant que chaine de caractères et avoir un résultat compilé.
Code :
1
2
3
4
5
6
 
csharp> class X { public int a; }
csharp> var t = new X () { a = 1 };
csharp> print (t.a);
1
csharp>
API Interface

Le compilateur exposé par la bibliothèque Mono.CSharp n'est plus limité à être un compilateur global. Maintenant vous pouvez instancier plusieurs blocs ayant chacun ses variables globales et types.
L'exemple suivant assigne une chaîne de caractères dans un contexte et un entier dans un second :
Code C# :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
 
using System;
using Mono.CSharp;
 
class MyWorld {
       public Evaluator Evaluator;
 
       public MyWorld (string [] args)
       {
               var r = new Report (new ConsoleReportPrinter ());
               var cmd = new CommandLineParser (r);
 
               var settings = cmd.ParseArguments (args);
               if (settings == null || r.Errors > 0)
                       Environment.Exit (1);
 
               Evaluator = new Evaluator (settings, r);
       }
}
 
class X {
       static int Main (string [] args)
       {
               var first = new MyWorld (args);
               var second = new MyWorld (args);
 
               first.Evaluator.Run ("var Demo = \"hello, world\";");
               second.Evaluator.Run ("var Demo = 1;");
               first.Evaluator.Run ("print (Demo);");
               second.Evaluator.Run ("print (Demo);");
               return 0;
       }
}

Shell C# Interactif

Une nouvelle fonction d'affichage peut être utilisée à la place de Console.WriteLine(). De plus, le shell interactif utilise maintenant une syntaxe succincte qui ne nécessite plus de ';' à la fin des expressions :
Code :
1
2
3
4
 
csharp> 1 + 2
3
csharp>
Profil 4.5

Le profil 4.5 est un sous ensemble strict du profil 4.0 et est maintenant celui par défaut.
Comme le profil 4.5 est un sous ensemble du 4.0, ils partagent le même numéro d'assembly donc la bibliothèque 4.5 est actuellement installée dans le GAC. Les changements de ce nouveau profil incluent :
  • des nouvelles méthodes asynchrones ;
  • une API de compatibilité WinRT ;
  • de nouvelles assemblies (System.Net.Http, System.Threading.Tasks.Dataflow)

Optimisations à l'exécution

De multiples optimisations à l'exécution ont été rajoutées :
  • une nouvelle implémentation rapide de ThreadLocal<T>
  • optimisations de List<T>
  • support de nouveaux attributs pour forcer inlining
  • support d'une table complète de caractères de substitution Unicode
  • nouveau profiler pouvant être utilisé avec VTune Amplifier Profiler d'Intel
  • support des événements System.Net.NetworkInformation.NetworkChanged pour Linux


Installation de Mono 3

Des paquets précompilés pour de multiples systèmes (Linux, Solaris, MacOS X et Windows) et les sources peuvent être trouvés dans la section des téléchargements du projet.

L'installation à partir des sources est simple :

Pour la compilation de libgdiplus pour le support de System.Drawing :
Code :
1
2
3
4
5
6
 
$ tar xzf libgdiplus-3.0.tar.gz
$ cd libgdiplus-3.0
$ ./configure
$ make
$ make install
et pour compiler Mono :
Code :
1
2
3
4
5
6
 
$ tar xzf mono-3.0.tar.gz
$ cd mono-3.0
$ ./configure
$ make
$ make install

Votre opinion sur Mono 3 :
Avez-vous mis à jour votre système ? Si non, allez-vous le faire prochainement ?
Pensez-vous que le projet possède du retard sur l'implémentation de Microsoft ?


Source :

http://www.mono-project.com/Release_Notes_Mono_3.0
__________________
Vous souhaitez participer à la rubrique 2D / 3D / Jeux ? Contactez-moi
La rubrique a aussi un blog !

Ma page sur DVP
Mon Portfolio

Qui connaît l'erreur, connaît la solution.
LittleWhite est déconnecté   Envoyer un message privé Réponse avec citation 100
Vieux 23/10/2012, 21h48   #2
tomlev
Rédacteur/Modérateur


 
Avatar de tomlev
 
Homme Thomas Levesque
Développeur .NET
Inscription : février 2004
Messages : 17 800
Détails du profil
Informations personnelles :
Nom : Homme Thomas Levesque
Âge : 31
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Développeur .NET
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : février 2004
Messages : 17 800
Points : 34 088
Points : 34 088
Chapeau à l'équipe Mono qui fait un boulot assez exceptionnel

Ils arrivent toujours à suivre de très près les sorties de C# et .NET, et dans le cas de C# 5 ça n'a pas dû être facile (le support du code asynchrone avec async/await implique des réécritures de code assez complexes, pour extraire le code qui suit await en tant que continuation de l'appel asynchrone).

Pour ma part je n'utiliserai probablement pas Mono 3 vu que je ne développe que sous Windows, mais c'est cool de savoir que je pourrai retrouver un environnement familier si j'ai besoin de développer sur une autre plateforme.
__________________

Pas de questions techniques par MP ! Le forum est là pour ça...

Tutoriels : Les markup extensions en WPF - La sérialisation XML avec .NET (Aller plus loin) - Extraction de données de pages web à l'aide de HTML Agility Pack
Projet : Dvp.NET, la librairie .NET open-source des membres de Developpez !
tomlev est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/10/2012, 22h05   #3
Squeak
Membre habitué
 
Homme
Inscription : avril 2012
Messages : 47
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : avril 2012
Messages : 47
Points : 101
Points : 101
Ce projet a le vent en poupe et il peut se montrer une solution très intéressante dans le cadre d'un développement multi-plateformes.
Squeak est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/10/2012, 00h23   #4
Nathanael Marchand
Rédacteur/Modérateur

 
Avatar de Nathanael Marchand
 
Homme Nathanael Marchand
Expert .Net So@t
Inscription : octobre 2008
Messages : 3 520
Détails du profil
Informations personnelles :
Nom : Homme Nathanael Marchand
Âge : 26
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Expert .Net So@t
Secteur : Conseil

Informations forums :
Inscription : octobre 2008
Messages : 3 520
Points : 7 962
Points : 7 962
Il est à noter, qu'avec l'ouverture de ASP.NET en Open Source, ils ont pu reprendre pas mal de choses pour proposer du MVC4 et Entity Framework notamment !
Nathanael Marchand est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/10/2012, 08h00   #5
acesyde
Membre chevronné
 
Homme Pierre-Emmanuel Mercier
Ingénieur développement logiciels
Inscription : octobre 2006
Messages : 70
Détails du profil
Informations personnelles :
Nom : Homme Pierre-Emmanuel Mercier
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : octobre 2006
Messages : 70
Points : 671
Points : 671
C# 5.0 juste avant EF5, nous pouvons dire que les développeurs voulant se tourner vers mono pour être multiplateforme sont gâtés en cette fin d'année.

Merci à l'équipe de Mono
acesyde est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/10/2012, 12h38   #6
eka808
Invité de passage
 
Homme
Inscription : avril 2005
Messages : 6
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 27

Informations forums :
Inscription : avril 2005
Messages : 6
Points : 4
Points : 4
Par défaut Quid de MVC3 et Entity Framework dans le monde réel ?

La question que je me pose désormais est : est-ce que mono+apache ou autre devient une alternative intéressante à .NET/IIS ?

En clair, est-ce que l'on pourra, dans un futur proche faire tourner des applications MVC/EntityFramework dans un environnement LAMP ?
Avec des performances équivalentes ?
Sans s'arracher les cheveux ?
eka808 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/10/2012, 13h27   #7
Nathanael Marchand
Rédacteur/Modérateur

 
Avatar de Nathanael Marchand
 
Homme Nathanael Marchand
Expert .Net So@t
Inscription : octobre 2008
Messages : 3 520
Détails du profil
Informations personnelles :
Nom : Homme Nathanael Marchand
Âge : 26
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Expert .Net So@t
Secteur : Conseil

Informations forums :
Inscription : octobre 2008
Messages : 3 520
Points : 7 962
Points : 7 962
Citation:
Envoyé par eka808 Voir le message
La question que je me pose désormais est : est-ce que mono+apache ou autre devient une alternative intéressante à .NET/IIS ?

En clair, est-ce que l'on pourra, dans un futur proche faire tourner des applications MVC/EntityFramework dans un environnement LAMP ?
Avec des performances équivalentes ?
Sans s'arracher les cheveux ?
MVC tu peux déjà (la version 4) pour ce qui est de EF, bien que ca soit dispo, je suis pas sur que les connecteurs ADO.Net compatibles existent (ou peut être pas vers SQL Server).
Nathanael Marchand est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/10/2012, 12h23   #8
Rachel
Expert Confirmé
 
Avatar de Rachel
 
Femme yannick inizan
Padawan
Inscription : février 2011
Messages : 444
Détails du profil
Informations personnelles :
Nom : Femme yannick inizan
Âge : 26
Localisation : France, Cher (Centre)

Informations professionnelles :
Activité : Padawan
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : février 2011
Messages : 444
Points : 3 631
Points : 3 631
Envoyer un message via MSN à Rachel Envoyer un message via Skype™ à Rachel
et où télécharge-t-on la dernière version de la lib gdi+ ?
Edit : j'ai tenté maintes fois d'empaqueter mono, sans succès
__________________
(marquer un post résolu si vous êtes satisfait de la réponse )
mon dépôt (mono, monodevelop, ...) : deb(-src) http://breizhodrome.free.fr raring main
ma page github : https://github.com/inizan-yannick
Rachel est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Actualité déjà publiée
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 21h28.


 
 
 
 
Partenaires

Hébergement Web