[Topic unique] .Net @ Prog

.Net @ Prog [Topic unique] - C#/.NET managed - Programmation

Marsh Posté le 14-06-2010 à 14:37:40    

Bonjour à tous,

 

Bienvenue sur le topic dédié aux langages de la plateforme .Net (C#, VB et pourquoi pas IronRuby, Python...) et technologies satellites (WPF, Webforms, Winforms, Silverlight, LINQ, Entity Framework, WCF...), ainsi que les "portages" tels que Mono et les IDE pour faire du .Net (VS, MonoDevelop, SharpDevelop)...

 

Ceci n'est PAS :
- une grotte à trolls Java vs .Net, débat anti-MS et consorts
- un lieu pour les conversations généralistes sur les technos MS

 

Outre le fait d'être un support de discussions, ce topic vise à lister les librairies, liens, bouquins, sites... indispensables à connaître pour tout amateur de .Net :
Librairies et outils incontournables (post 2)
Liens utiles (post 3)
N'hésitez pas à partager vos propres trouvailles, je les ajouterai à la liste !
:hello:


Message édité par TotalRecall le 23-01-2011 à 18:02:00

---------------
Topic .Net - C# @ Prog
Reply

Marsh Posté le 14-06-2010 à 14:37:40   

Reply

Marsh Posté le 14-06-2010 à 14:38:06    

I / Librairies :

 


I-1 / Gratuites :

 


I-1-A / Multimédia :

  • http://code.google.com/p/aforge/ : une lib très complète orientée manipulation d'image, de vidéos, mais aussi IA, réseaux neuronaux, et plein d'autres trucs
  • NAudio : lib bien aboutie de manipulation de données audio (divers formats dont le midi, gestion d'effets...)
  • OpenTK : un portage/wrapper managé pour OpenGL, OpenCL, OpenAL
  • Farseer Physics : moteur physique open source supporté par XNA, Silverlight, mais aussi en tant que lib généraliste. Certainement le projet le plus facile d'accès dans sa catégorie, même pour quelqu'un avec un bagage très réduit en maths.
 

I-1-B / Web :

  • http://forum-images.hardware.fr/themes_static/images_forum/1/favorisb.gif HtmlAgilityPack, une petite lib super sympa pour manipuler des pages HTML via LINQ (à la façon de LINQ to Xml)
  • Nvelocity : un moteur de templating pour faire des trucs du genre génération d'emails (supporte les structures itératives, les balises imbriquées...)
  • GeckoFX : permet d'intégrer Gecko (le moteur de rendu HTML de Firefox et beaucoup d'autres) dans une appli .Net. Il y existe peut être d'autres implémentations, et des astuces alternatives moins intéressantes comme le contrôle ActiveX COM distribué par mozilla...
  • Microsoft AntiXss / Web protection library :  Lib qui expose des fonctions se substituant à HttpUtility / HttpServerUtility mais développées sur un principe de white list plutôt que de substitution par black list, donc plus sécuritaire. Attention il en traine 50 versions sur le net de la 1.5 à la 4, c'est pas simple pour trouver la dernière sans se planter.


I-1-C / Fichiers :

  • SharpZipLib / DotNetZip : génération de ZIP. Personnellement ma préférence va largement à la seconde. Note : dans la V3 du framework il y a la classe ZipPackage qui fait aussi du ZIP en natif.
  • MyXLS et Excel Reader : lecture et génération de fichiers XLS (non Open Document donc). Les deux sont 100% managées et ne font pas d'invocations COM donc ne nécessitent pas Excel.
  • iTextSharp : manipulation de PDF et RTF
  • FileHelpers : lecture/écriture de fichiers types CSV, taille fixe et cie


I-1-D / Composants :

  • "Liquid" par Vectorlight : ensemble de contrôles Silverlight variés : RichTextEditor, TreeView à l'aspect joli (mais moins aboutit fonctionnellement que le TreeView de Microsoft malheureusement), PopIn déplaçable par l'utilisateur...
  • CSS Friendly Control Adapters : Handler qui se substitue au moteur de rendu MS pour les contrôles "évolués" de .Net, en leur faisant générer du code moins atroce au point de vue HTML vu que microsoft adore les <table> qui sont une plaie pour les intégrateurs CSS. Attention, le projet n'est plus maintenu.


I-1-E / Divers :

  • Log4Net : portage .Net de Log4J, donc projet qui gère le logging. Assez lourd à maitriser car extrêmement complet, on peut logger à peu pres n'importe quoi n'importe où, mais facile d'accès pour premiere une utilisation grâce aux nombreux exemples du web.
  • ZedGraph : Création de graphs
  • AutoMapper : Excellente lib de mapping objet-objet. Une petite recherche dans google permettra d'avoir quelques exemples de mise en oeuvre, malheureusement le manque de doc se fait sentir pour certains usages avancés, on sent que c'est là mais pas moyen d'arriver à le mettre en oeuvre... Il y a une lib concurrente, emit mapper, moins fournie en fonctionnalités mais qui mise beaucoup sur les perfs. Un autre projet très récent dans le même esprit c'est ValueInjecter, qui a l'avantage d'être distribué sous forme d'une lib extrêmement légère et qui vise à pallier quelques limitations d'automapper
  • FFLE Moteur de traitement d'expression (arithmétiques par exemple).
  • Postsharp : solutions pour faire de l'AOP. Voir aussi Spring, Castle Dynamic Proxy/Windsor, et pleins d'autres. Entre IoC, DI, AOP tous ont leurs avantages, leurs faiblesses et leurs fonctionnalités...


I-1-F / Frameworks généralistes "complémentaires" visant à enrichir .Net :

  • Spring .Net : portage .net du célèbre Spring. Un framework qui fait un peu de tout (et même trop de choses à mon goût, il gagnerait à être plus modulaire de façon à ne déployer que ce dont on a vraiment besoin) : IoC, AOP, dév en couche, logging via Log4Net, DAL via NHibernate... Pour la partie AOP et IoC il est très bon en tout cas.
  • Castle .Net : Plus ou moins une (très bonne) alternative à Spring.
  • http://forum-images.hardware.fr/themes_static/images_forum/1/favorisb.gif Dvp.Net : Le framework .Net du site developpez.com, assez complet et avec pas mal de trucs sympas à exploiter ! Un des contributeurs a posté ici la liste des fonctionnalités.
  • Sasa : Voir ici
  • Lokad : Voir ici
  • Miscutils par Jon Skeet Dans le même esprit que les précédentes mais en beaucoup moins riche.
 

I-1-F / Collections, extensions à LINQ :

  • C5 De nouvelles collections génériques (genre arbres, etc).
  • CLINQ une librairie contenant des collections qui se mettent à jour automatiquement lorsque elles sont construites à partir d'une requête LINQ pointant sur une source qui évolue elle même. Dans le genre il y a aussi Bindable Linq et Obtics
  • Linqkit : une lib qui étend LINQ/LINQ to SQL. Par exemple il est possible de construire facilement un prédicat "Where" qui ajoute des Or au lieu de End à une IQueryable, ce que LINQ ne permet pas en natif.
 

I-2 /  payantes :

 


I-2-A / Bibliothèques de composants :
Il y a énormément de solutions commerciales dans ce domaine, pour Winform, Webforms, WPF, Silverlight... On peut citer pour les plus connues :
DevExpress DX  
ComponentOne
SyncFusion
Telerik
NetAdvantage
Caliburn
... Une description succincte de chaque (techno, type de composants si non généralistes, gamme de produit...) est la bienvenue si qqun veut s'y coller.

 

I-2-B / Manipulations de fichiers :

  • Aspose
 


II / Plugins pour VS et outils

 

II-1 / Gratuits :

 

II-1-A / Ecriture du code :

  • http://forum-images.hardware.fr/themes_static/images_forum/1/favorisb.gif TytanNet : permet de générer des propriétés et des constructeurs en fonction des champs d'une classe. Sympa et utile.
  • http://forum-images.hardware.fr/themes_static/images_forum/1/favorisb.gif Regionerate : permet de générer des #region autour des différents blocs d'éléments (champs, méthodes, constructeurs, propriétés...) d'une classe.
  • NArrange : (standalone) "beautifier" de code
  • FxCop : (standalone) vérification de la conformité du code compilé avec les conventions Microsoft .Net, détection d'anomalies...
  • Gendarme : équivalent Mono de FxCop
  • StyleCop : (standalone) solution MS de vérification du respect des normes de développement (nommage des éléments de code, etc). Totalement configurable (choix des règles, par défaut l'appli en propose des milliers correspondant aux normes MS) et extensible à l'infini car on peut développer ses propres règles en s'appuyant sur un parser de code.
  • wscf.blue : facilite la mise en oeuvre de webservices "Contract first", entre autres choses utiles pour ceux qui bossent souvent avec des webservices/WCF.
  • ResourceRefactoring : déplacement de chaînes littérales vers .resx
  • StudioTools : quelques fonctions additionnelles sous forme de plugins sélectionnables dont par exemple un smart goto et un système de calcul de métriques basique.
  • MetaScroll : scrollbar alternative "visuelle", très pratique pour naviguer dans de gros fichiers.


II-1-B / Versionning/SCM :

  • AnkhSVN : plugin pour le support d'SVN


II-1-C / Documentation :


II-1-D / Tests unitaires / Profiling / Métriques / IC / Build :

  • WatiN : solution de mise en oeuvre de tests fonctionnels pour les webapps. Très sympa
  • PartCover : couverture de code
  • NUnit, MBUnit, XUnit : tests unitaires (pour ceux qui ne disposent pas de MSTest)
  • EQATEC Profiler : profiler de code
  • NDepend (Standalone & plugin pour VS) : calcule de métriques en tout genre, diagramme de dépendances et plein d'autres trucs. Très simple à utiliser, mais comprendre et exploiter les résultats relève d'un tout autre niveau...
  • WIX, NANT : outils de build permettant tous deux de construire des MSI (et bien d'autres choses).
  • Cruise Control .Net : solution d'intégration continue


II-1-E / Divers :

  • Reflector : (standalone) décompilateur de MSIL. Indispensable pour les assemblies dont on a perdu les sources comme ça arrive dans les boites mal organisées :whistle: /!\ Payant depuis début 2011, les versions antérieures étaient gratuites, donc privilégier celles-ci si vous n'avez que faire des fonctions de la version payante.
  • ILSpy Alternative open source et gratuite à Reflector, à tester absolument surtout depuis que ce dernier est payant.
  • http://forum-images.hardware.fr/themes_static/images_forum/1/favorisb.gif LINQPad : permet de tester "à la volée" n'importe quel bout de code C#/VB/SQL ou expression LINQ (avec le choix du provider, linq to objects mais offre aussi la connectivité aux bdd et l'entity framework/linq2sql en lien avec une assembly existante). Très utile pour le prototypage ou tester rapidement un truc en plein développement. Génial !!
  • Regulator : ecriture et test de regex, propose une base de regex toutes faites.
  • http://forum-images.hardware.fr/themes_static/images_forum/1/favorisb.gif Rad Software Regular Expression Designer : un concepteur de regexes super bien foutu et lui même écrit en .Net, donc proposant pour l'évaluation de celles-ci toutes les fonctionnalités et modificateurs de comportement natifs à .Net pour la manipulation des regexes : super pratique pour faire du prototypage en environnement .Net sans s'inquiéter d'éventuelles divergences de comportement


II-2 / Payants :

  • http://forum-images.hardware.fr/themes_static/images_forum/1/favorisb.gif Resharper : un classique, plein de fonctions utiles, pas trop lourd, et extensible.
  • Visual AssistX : celui auquel j'accroche le moins, plein de trucs qui apparaissent de partout et bizarrement je ne trouve d'usage à aucun, mais ça vient peut être de moi.
  • http://forum-images.hardware.fr/themes_static/images_forum/1/favorisb.gif Refactor! Pro : j'adore, comme resharper. Certaines fonctions sont vraiment sympas et bien foutues, comme l'envoi de chaînes littérales dans un .resx. Par contre il ralentit pas mal l'IDE et j'ai l'impression qu'il nuit à la stabilité, genre  depuis que je l'ai installé j'ai la protection DEP qui me ferme régulièrement mon visual studio en m'insultant...
  • NCover : couverture de code
  • CodeIt.Right : un énième plugin de refactoring / contrôle de règles d'écriture. Jamais essayé pour ma part.
  • Test Matrix : tests unitaires, couverture de code, profiling...


III / Divers :

 

III-1 / Gratuits :

  • Firebug (outil externe à VS) : entre autres fonctionnalités, visualisation des échanges de messages web services lors par exemple de l'exécution d'une application Silverlight. Permet de voir aussi la taille des messages, ce qui peut être bien pratique pour décider d'une activation de la compression sous IIS (souvent nécessaire avec une appli Silverlight).
  • Fiddler (outil externe à VS) : analyse poussée des WebServices (ce n'est pas spécifique à .Net).


III-2 / Payants :

  • Silverlight Spy (outil externe à VS, payant) : visualisation et édition du code XAML produit durant l'exécution d'une application Silverlight (à la manière de Firebug), analyse des performances de cette application et visualisation de la taille de chaque sous-partie du package généré (.xap)
  • Blend (outil Microsoft externe à VS, payant) : design assisté des applications WPF et Silverlight, beaucoup plus évolué de l'IDE que l'IDE de base. Code XAML produit automatiquement, généra;tion de templates et de styles via un GUI.

Message cité 1 fois
Message édité par TotalRecall le 19-04-2011 à 20:25:22

---------------
Topic .Net - C# @ Prog
Reply

Marsh Posté le 14-06-2010 à 14:38:11    

Liens utiles

 


Blogs:

 



Discussions/forums :

 



Quelques autres sujets sur stackoverflow (les liens sont très parlants, merci l'url rewriting) :



Podcasts :

 

Deux podcasts sur le développement parallèle, et l'utilisation des GPUs. Essentiellement axé C++ mais avec des éléments d'information intéressants pour l'avenir et pas mal de références à la TPL (C#) :
http://www.microsoft.com/showcase/ [...] bba3bbf855 et
http://www.microsoft.com/showcase/ [...] 612d64cd56

 


Tests :

 

Bref test de compétence (très orienté, pas un test généraliste) sur C# :
http://www.e-naxos.com/Blog/post/2 [...] uit-!.aspx

 

Tutos :

 
  • http://www.yoda.arachsys.com/csharp/index.html : une page avec plein d'articles techniques d'extrêmement bonne qualité. Bien écrits et très enrichissants. Les premiers liens pointent vers l'extérieur mais pas les suivants. A consulter absolument.


  • Très bon tutos sur WCF (même si un peu obsolète sur certains points) :

Partie 1 : http://www.dotnetfunda.com/articles/article221.aspx
Partie 2 : http://www.dotnetfunda.com/articles/article222.aspx
Plus spécifiquement, logging en WCF :
http://www.dotnetfunda.com/article [...] g-faq.aspx

 

Rien que la dernière partie évoquée est à lire absolument, le travail de documentation est phénoménal, surtout vu la pauvreté des docs officielles MS en comparaison. On en retrouve le contenu dans C# in a nutshell 4, excellent bouquin au demeurant...

 
  • Ten LINQ Myths ( http://www.albahari.com/nutshell/10linqmyths.aspx ) une lecture sympathique pour ceux qui découvrent encore la syntaxe linq et les expressions lambdas, ou même ceux qui pensent déjà maitriser le sujet. Dommage que seulement 10 points soient évoqués.


Code :

 


  • http://csharp-source.net/ : recensement de plein de projets open source de tous types (middle ware ou appli finale) en .Net (C#)



 

Outils :

 


Formations :

 



LIVRES :

 

Livres sur Entity Framework :
- Julia Lerman - Programming Entity Framework, O'Reilly, Second edition
- Scott Klein - Pro Entity Framework 4.0, APress
- Larry Tenny et Zeeshan Hirani - Entity Framework 4.0 Recipes: A Problem-Solution Approach, APress
- Roger Jennings - Professional ADO.NET 3.5 with LINQ and the Entity Framework, Wrox


Message édité par TotalRecall le 07-02-2012 à 20:46:07

---------------
Topic .Net - C# @ Prog
Reply

Marsh Posté le 14-06-2010 à 15:18:32    

drapal


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 14-06-2010 à 17:26:25    

Hello ! Toi j'étais certain de te voir rapidement vu qu'on se croise sans cesse sur les topics .Net :D.

 

Pour ma part je suis indépendant donc la question n'a pas vraiment d'objet. Les boîtes qui ont des abonnements MSDN ont franchi le cap ou l'envisagent, mais des boîtes qui utilisent vraiment au quotidien les nouveautés de 2010 / .Net 4 je n'en connais pas.

Message cité 1 fois
Message édité par TotalRecall le 14-06-2010 à 17:34:26

---------------
Topic .Net - C# @ Prog
Reply

Marsh Posté le 14-06-2010 à 21:24:24    


 
On en est encore à 2005 chez nous. [:cosmoschtroumpf]

Reply

Marsh Posté le 15-06-2010 à 09:05:40    

Salut les .net-eux,
 
Ca existe, nous venons de nous mettre à VS 2010 (tout légal, bien sûr, la "période de grâce" ayant rendu les prix intéressants) : des nouveaux projets qui devraient utiliser MVC2 / EF 4 (adieu NHibernate (?)).
 
Pas encore installé, on va voir ce que ça donne !
 

Reply

Marsh Posté le 15-06-2010 à 09:43:39    


tiens d'ailleurs en parlant de Linq, ça serait sympa de poster des exemples de requêtes +/- tordues, histoire de se marrer un peu :D
un exemple de requête Linq to XML que j'ai faite récemment, qui récupère ses datas d'un recordset en jointure avec un Dictionary, le tout dédoublonné avec une classe Comparer faite maison, et qui génère un fichier XML content des données d'utilisateurs :

 

la requête :

Code :
  1. Dictionary<string, KeyValuePair<string, string>> dicUsers = new Dictionary<string, KeyValuePair<string, string>>();
  2.  
  3. (...code qui remplit dicUsers...)
  4.  
  5. var users = (from line in tableUsers.AsEnumerable()
  6.                                join cell in dicUsers on line.Field<int>("U_id" ).ToString() equals cell.Key
  7.                                where !cell.Value.Value.Equals("0" )
  8.                                orderby Convert.ToInt32(cell.Value.Value) descending
  9.                                select new XElement("friend",
  10.                                        new XAttribute("percentage", cell.Value.Value),
  11.                                        new XAttribute("displaypicture", line.Field<Int64>("EU_id" )),
  12.                                        new XAttribute("name", cell.Value.Key),
  13.                                        new XAttribute("account", line.Field<int>("U_account" )),
  14.                                        new XAttribute("account_name", line.Field<string>("U_accountname" )),
  15.                                        line.Field<Int64>("EU_id" ))).Distinct(new UsersComparer());
 

et le code de la classe UsersComparer

Code :
  1. internal class UsersComparer : IEqualityComparer<XElement>
  2.    {
  3.        public bool Equals(XElement x, XElement y)
  4.        {
  5.            return (x.Attribute("name" ).Value.Equals(y.Attribute("name" ).Value));
  6.        }
  7.  
  8.        public int GetHashCode(XElement obj)
  9.        {
  10.            return obj.Attribute("name" ).ToString().GetHashCode();
  11.        }
  12.    }


Linq, c'est fun :D


Message édité par Harkonnen le 15-06-2010 à 09:44:34

---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 15-06-2010 à 10:25:01    

Si je peux me permettre quelques petites remarques :
- Personnellement j'aurai séparé la construction du xml de la requête (pour deux raisons : maintenabilité du code si on veut voir les données au format "natif" plutôt qu'en xml, et surtout pour éviter d'avoir à jouer le distinct sur du xml. En terme de perfs si tu as bcp de données ça doit pomper, et ça aurait évité de faire un Comparer hyper spécifique)
- j'aurai cherché à éviter le Dictionary<string, KeyValuePair<string, string>> parrce que c'est jamais très parlant comme type
Mais sinon c'est pas encore trop méchant comme requête. Au final ça se résumé à une jointure entre deux ensembles et tu en sors un xml.

 

edit : tu peux utiliser un truc explicite plutôt qu'un var pour ton xml puisque le type est connu.

 

Un exemple de truc particulièrement imbittable (et très impressionnant du coup) en LINQ : http://blogs.msdn.com/b/lukeh/arch [...] racer.aspx . Bon, c'est juste pour le sport, dans le monde réel on va éviter.

 

Une page MS avec des exemples de chaque prédicat :
http://msdn.microsoft.com/en-us/vcsharp/aa336746.aspx

 


edit : petite anecdote, à propos du raytracer, je pense que c'est là dessus que s'est appuyé le mec qui a fait la présentation des Parallel Extensions au dernier FOSDEM. Il a montré une version multi threaded et une single threaded pour illustrer le gain de perfs et la facilité de mise en oeuvre de PFX.

Message cité 1 fois
Message édité par TotalRecall le 16-06-2010 à 12:45:22

---------------
Topic .Net - C# @ Prog
Reply

Marsh Posté le 15-06-2010 à 10:30:53    

Fred > c'est un peu compliqué à expliquer et peut être juste temporaire.
Je n'ai jamais bossé en finance, je suis plus orienté Web mais je suis ouvert à tout, d'autant qu'à l'origine j'ai plutôt une sensibilité client lourd (je me tape du web marketing depuis 3 ans et ça me gonfle).
J'aimerai bien me dégotter une mission WPF pour changer du web...


Message édité par TotalRecall le 15-06-2010 à 10:31:27

---------------
Topic .Net - C# @ Prog
Reply

Marsh Posté le 15-06-2010 à 10:30:53   

Reply

Marsh Posté le 15-06-2010 à 10:38:43    

TotalRecall a écrit :

Si je peux me permettre quelques petites remarques :
- Personnellement j'aurai séparé la construction du xml de la requête (pour deux raisons : maintenabilité du code si on veut voir les données au format "natif" plutôt qu'en xml, et surtout pour éviter d'avoir à jouer le distinct sur du xml. En terme de perfs si tu as bcp de données ça doit pomper, et ça aurait évité de faire un Comparer hyper spécifique)  


le XML final ne représentera jamais plus d'une 50aine d'utilisateurs, c'est pour ça que je me suis un peu laché sur les perfs et que j'ai généré la requête et le XML en un seul tenant, c'est plus rapide à coder ;)
après, effectivement, j'ai d'autres endroits avec un nombre plus conséquent d'enregistrements où j'évite ce genre de truc :o
 

TotalRecall a écrit :


- j'aurai cherché à éviter le Dictionary<string, KeyValuePair<string, string>> parrce que c'est jamais très parlant comme type


j'avais pas le choix, j'avais absolument besoin de tuples, et n'étant pas sous .NET 4.0, c'est tout ce que j'ai trouvé pour le remplacer :o
 

TotalRecall a écrit :


 
Un exemple de truc particulièrement imbittable (et très impressionnant du coup) en LINQ : http://blogs.msdn.com/b/lukeh/arch [...] racer.aspx . Bon, c'est juste pour le sport, dans le monde réel on va éviter.


putain, le truc de malade [:ddr555]
ça me fait penser qu'il doit y avoir moyen de coder un ensemble de Mandelbrot de la même façon, tiens... [:transparency]


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 15-06-2010 à 10:46:22    

Je te confirme que ça a été fait ! J'en ai déjà vu passer. En même temps mathématiquement la génération de fractales est un truc simple, bien plus que l'écriture d'un raytracer je pense. Il faut juste un support des complexes et de qqes primitives mathématiques de base.


Message édité par TotalRecall le 15-06-2010 à 10:47:00

---------------
Topic .Net - C# @ Prog
Reply

Marsh Posté le 15-06-2010 à 11:54:44    

[:pcgamer]

Reply

Marsh Posté le 16-06-2010 à 12:39:33    

J'ai mis à jour le deuxieme post avec les quelques trucs qui m'ont traversé l'esprit pour se simplifier le .Net au quotidien ! Enjoy !
Evidemment c'est un premier jet, la forme et le contenu ne demandent qu'à évoluer, merci d'apporter votre contribution :)


---------------
Topic .Net - C# @ Prog
Reply

Marsh Posté le 16-06-2010 à 13:50:09    

Parmis ce que j'utilise régulièrement
 
Outils:
Reflector  :whistle:  
NArrange
NCover
 
Bibliothèques gratuites:
SharpZipLib
NAudio (Lib audio "unifiée" )
MyXLS (I/O Excel 100% Managed)
CSS Friendly Control Adapters (no comment :D)
Log4Net
 
Bilbiothèques payantes:
 
DevExpress DX  
ComponentOne
SyncFusion
Telerik


Message édité par ixemul le 16-06-2010 à 14:29:08
Reply

Marsh Posté le 17-06-2010 à 09:56:28    

Hello :). Content que l'idée plaise et de t'avoir fait découvrir des trucs ! Le but était effectivement de partager des trucs qui gagneraient à être plus connu plutôt que les gros classiques. Je vais essayer d'intégrer ça au deuxieme post en structurant un peu.

 

ixemul > t'aurais quand même pu faire l'effort de décrire chaque proposition [:kaola] :d

Message cité 1 fois
Message édité par TotalRecall le 17-06-2010 à 10:09:33

---------------
Topic .Net - C# @ Prog
Reply

Marsh Posté le 17-06-2010 à 10:21:55    

TotalRecall a écrit :

ixemul > t'aurais quand même pu faire l'effort de décrire chaque proposition [:kaola] :d


 
C'est toi le taulier du topic hein, tu te demm*rdes [:dawao]
 
Bon, je suis bon prince cette fois-ci :D
 
 
Outils:
Reflector  -> desassembleur IL/C#/VB/CppM/Delphi pour les assemblies .NET (standalone et plugin VS)
NArrange -> permet de mettre un peu d'ordre dans le code source (standalone)
NCover -> Couverture du code de tests unitaires  
 
Bibliothèques gratuites:
SharpZipLib : t'as réussi à te débrouiller
NAudio (Lib audio "unifiée" ): t'as réussi à te débrouiller
MyXLS (I/O Excel 100% Managed): t'as réussi à te débrouiller
CSS Friendly Control Adapters (no comment :D): Bon bha si, comment alors... ce handler permet de redéfinir la génération html des composant ASP.NET afin d'être plus facilement intégrable par rapport à des CSS "standard"
Log4Net : pendant de log4J mais en dotnet. Gestion cool des logs...
 
Bilbiothèques payantes:
Composants winforms, asp.NET, WCF et silverlights
DevExpress DX  
ComponentOne
SyncFusion
Telerik

Reply

Marsh Posté le 17-06-2010 à 10:28:54    

Quelques autres en vrac:
 
Gratuits:
 
iTextSharp: pendant de iText (java), creation/manipulation de PDF et RTF
ZedGraph: Création de graphs (sans blagues !!!)
 
Payants:
 
Aspose: manipulation word/excel/pdf/Flash/Code barre entre autres

Reply

Marsh Posté le 17-06-2010 à 10:34:57    

Ah merde pendant que tu rédigeais ton post je mettais à jour le deuxieme en pondant mes propres descriptifs... Désolé je ne vais pas changer maintenant (sauf si tu penses que je me suis planté sur un truc).  
Je vais juste rajouter itextsharp et zedgraph qui n'apparaissaient pas.


---------------
Topic .Net - C# @ Prog
Reply

Marsh Posté le 17-06-2010 à 10:36:35    

T'embêtes pas, tes decriptifs sont bons ;)
 
Edit: par contre, la couleur choisie pour les chapîtres Multimédia/Fichiers/etc est pas top... sur fond clair c'est quasi illisible :D
 
Re-edit:

Citation :

- CSS Friendly Control Adapters : contrôles ASP.Net reprenant les contrôles "évolués" de .Net


 
Ce ne sont pas des contrôles, c'est simplement un handler qui prend en charge le rendu des controles standards à la place du handler ASP.NET de base ;)
 


Message édité par ixemul le 17-06-2010 à 10:43:15
Reply

Marsh Posté le 17-06-2010 à 10:49:25    

Ok ok, c'est changé. J'ai foutu du orange et changé un peu la structure. Dites moi si ça vous plait.  


---------------
Topic .Net - C# @ Prog
Reply

Marsh Posté le 17-06-2010 à 10:52:54    

Et j'ai mis des puces au lieu des tirets [:joce]


---------------
Topic .Net - C# @ Prog
Reply

Marsh Posté le 17-06-2010 à 11:00:12    

Ca commence à ressembler à quelque chose   [:gui42]

Reply

Marsh Posté le 17-06-2010 à 11:01:59    

En outils Divers, j'utilise également StarUML qui permet de générer les squelettes C# à partir de mon analyse UML

Reply

Marsh Posté le 17-06-2010 à 11:14:27    

Je peux le mentionner mais j'aime pas ce truc, il n'est plus maintenu et il ne gère pas des trucs très très basiques du Framework V2, comme les generics il me semble. Faut s'en tenir à des trucs simplistes et la rétroingéniérie de code est inutilisable du coup.
A choisir autant utiliser Paradigm community.


---------------
Topic .Net - C# @ Prog
Reply

Marsh Posté le 17-06-2010 à 11:17:40    

Pas de problèmes, perso je l'utilise par habitude (une vieille habitude :D).

Reply

Marsh Posté le 17-06-2010 à 16:03:41    

J'ai corrigé les puces folles et la phrase pour les libs xls. Pour la numérotation faudra attendre par contre :whistle:


---------------
Topic .Net - C# @ Prog
Reply

Marsh Posté le 18-06-2010 à 16:38:23    

Pas un post depuis 24h... ça n'interesse donc personne ?  [:mlc2]

Reply

Marsh Posté le 18-06-2010 à 17:04:48    

si si, tiens, je lance un débat : la sortie de Silverlight 4 réduit de plus en plus l'écart entre lui et WPF. moi je pense qu'à terme, ces 2 technos vont fusionner et provoqueront la disparition de WPF.

 

des avis ?


Message édité par Harkonnen le 18-06-2010 à 17:35:02

---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 18-06-2010 à 17:53:13    

Non, il y aura toujours une grosse distinction entre Silverlight et WPF, deja car je suis d'accord avec fred82 concernant la différence de "framework" (Lourd/Leger). Mais aussi du fait du contexte d'éxecution d'une application SL (avec des droits très restreints par rapport à une application lourde WPF). Une convergence des 2 technos aboutierais à des failles de sécurités énormes concernant les applis SL.

Reply

Marsh Posté le 18-06-2010 à 17:59:05    

Remarquez tout de même qu'avec l'essor du cloud computing on assistera de plus en plus à une convergence RIA/client lourd... Actuellement les arguments avancés par Fred sont parfaitement justes mais à long terme par contre que ce soit au travers de Silverlight/WPF ou d'autre chose (un hybride?) on devrait tendre vers un rapprochement...


---------------
Topic .Net - C# @ Prog
Reply

Marsh Posté le 24-06-2010 à 23:04:03    

ixemul a écrit :

Pas un post depuis 24h... ça n'interesse donc personne ?  [:mlc2]


En fait tu avais raison :p.
Si vous avez des idées de libs à partager, de débat à lancer, thème à aborder... n'hésitez pas, je crois que le topic en a bien besoin :d :bounce:
:hello:

Message cité 2 fois
Message édité par TotalRecall le 24-06-2010 à 23:04:12

---------------
Topic .Net - C# @ Prog
Reply

Marsh Posté le 25-06-2010 à 03:24:12    

Tiens j'ai réalisé que personne n'avait songé à citer NDepend, du coup je l'ai rajouté.

 

Bon je me lance concernant ta question...
Je trouve que ça ne se compare pas trop, ça ne se comporte pas pareil et ça ne s'applique pas aux mêmes choses.
Le as (et is) travaillent sur les références et contrôlent la convertibilité avant de renvoyer quelque chose, là où le cast essaie expressément de l'appliquer et fonctionne aussi sur les types primitifs. Il faut également différencier cast et boxing/unboxing, là aussi il y a des subtilités, l'un est plus coûteux que l'autre et peu entrainer des erreurs. Le as fait du boxing et pas autre chose il me semble.

 

On dit que le as est plus "safe" et performant, et vu qu'il est moins chiant à utiliser lorsque on n'est pas sûr du type (pas de risque d'exception), autant l'encourager pour les objets.

 

Pour répondre néanmoins, intuitivement j'aurai tendance à te dire que j'utilise plutôt as sur des hiérarchies d'objets (unboxing depuis de l'object, genre dans les event handlers où le sender est toujours un object), et le casting plutôt sur des types primitifs (pour basculer entre les différents types de flottants et d'entiers par exemple) ou parfois dans le polymorphisme quand je suis sûr de ce que j'ai dans l'instance. Mais ça n'est pas une règle à suivre, plutôt une habitude. Et encore, je dis ça mais si ça se trouve en jetant un oeil dans mon code je serai surpris [:ddr555]

Message cité 1 fois
Message édité par TotalRecall le 25-06-2010 à 04:12:29

---------------
Topic .Net - C# @ Prog
Reply

Marsh Posté le 25-06-2010 à 09:33:58    

TotalRecall a écrit :


En fait tu avais raison :p.
Si vous avez des idées de libs à partager, de débat à lancer, thème à aborder... n'hésitez pas, je crois que le topic en a bien besoin :d :bounce:
:hello:


 
Bon, histoire de me donner un coup de pied au c*l. Est-ce que ça interresserait quelqu'un un mod player (en fait un port bête et méchant de MikMod) pour silverlight et/ou NAudio ? Sachant que j'ai ça dans mes cartons depuis quelques mois et que j'arrive pas à me motiver à le releaser (genre sur codeplex ou SF).
 
Il est 100% fonctionnel, mais encore un peu crade niveau code :D

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed