1 / 133

La plateforme . NET vue par le développeur

Présentation et démos disponibles : http:// www.msfrancedev.net/Prez/20100916-JUSSIEU.zip. La plateforme . NET vue par le développeur. Université Jussieu 11 octobre 2011. Hugues Moore AZEO – http://www.azeo.com http://huguesmoore.wordpress.com. La Présentation est basée sur.

hyman
Télécharger la présentation

La plateforme . NET vue par le développeur

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Présentation et démos disponibles : http://www.msfrancedev.net/Prez/20100916-JUSSIEU.zip La plateforme .NETvue par le développeur Université Jussieu 11 octobre 2011 Hugues Moore AZEO – http://www.azeo.com http://huguesmoore.wordpress.com

  2. La Présentation est basée sur Université Jussieu 16 septembre 2010 Pascal Belaud Microsoft France http://blogs.msdn.com/Pascalhttp://www.saga-fr.net

  3. La vision .NET

  4. Historique .NET pour les développeurs • Première ligne de code écrite (ASP .NET) en Novembre 1997 • Sortie de Visual Studio .NET 2002 et du Framework .NET 1.0 en Janvier 2002 • Sortie de Visual Studio .NET 2003 et du Framework .NET 1.1 en Avril 2003

  5. Historique .NET pour les développeurs • Sortie de Visual Studio 2005, du Framework . NET 2.0 et de SQL Server 2005 en Novembre 2005 • Sortie du Framework .NET 3.0 en Novembre 2006 • Framework .NET 2.0+ • Windows PresentationFoundation (WPF) • Windows Communication Foundation (WCF) • Windows WorkflowFoundation (WF) Visual Studio 2005

  6. Historique .NET pour les développeurs • Sortie de Visual Studio 2008, du Framework . NET 3.5 en Novembre 2007 • Framework .NET 3.0+ • LINQ

  7. Historique .NET pour les développeurs • Sortie de Visual Studio 2010, du Framework . NET 4.0 en Avril 2010 • CLR 4.0 • Framework .NET 3.5+ • Parallel Extensions

  8. .NET pour les développeurs

  9. Visual Studio 2010 • Des versions Express à la version Ultimate • Les versions Express sont TOTALEMENT gratuites pour tout le monde

  10. Les versions Express = Gratuites http://www.microsoft.com/express

  11. Voir Gratuit pour les étudiants • Si votre établissement est abonné au programme MSDNAA, demandez à vos professeurs l’accès gratuit aux médias • Sinon, il suffit d’aller ici :http://www.microsoft.com/france/msdn/abonnements/academic/etudiants/telechargementdirect.mspx

  12. Machine de démonstrations • .NET 3.0 • .NET 3.5 • .NET Framework 3.5 • Visual Studio 2008 • .NET 4.0 • .NET Framework 4.0 • Visual Studio 2010 • SQL Server • SQL Server 2008 Express • SQL Server 2008 • Windows 7 • COM/Win32 • .NET 1.1 • .NET Framework 1.1 • .NET 2.0 • .NET Framework 2.0

  13. Saga .NET • Retrouver une grosse partie des démonstrations sous forme de WebCasts : http://www.saga-fr.net

  14. Agenda de la présentation • Microsoft .NET : les points essentiels • Visual Studio 2008 • Les XML Web Services • Accès aux données et ADO.NET • Déploiement par ClickOnce • Les applications Web et ASP.NET • Le développement sur terminaux mobiles

  15. Agenda de la présentation • Microsoft .NET : les points essentiels • Visual Studio 2008 • Les XML Web Services • Accès aux données et ADO.NET • Déploiement par ClickOnce • Les applications Web et ASP.NET • Le développement sur terminaux mobiles

  16. Agenda de la présentation • Multi Langages • Multi Plateformes • Common Language Runtime (CLR) • Framework Class Library (FCL) • Déploiement • Sécurité

  17. Agenda de la présentation • Multi Langages • Multi Plateformes • Common Language Runtime (CLR) • Framework Class Library (FCL) • Déploiement • Sécurité

  18. VB C++ C# J# JScript Cobol … Les langages sur .Net

  19. Comment installer .NET ? • 1- Visual Studio 2008 • La plateforme .NET • Le Software Development Kit (SDK) • Visual Studio en tant qu’IDE

  20. Comment installer .NET ? • 2- Software Development Kit (SDK) • La plateforme .NET • Le Software Development Kit (SDK)http://www.microsoft.com/downloads/details.aspx?FamilyID=e6e1c3df-a74f-4207-8586-711ebe331cdc&DisplayLang=en Gratuit !

  21. Comment installer .NET ? • 3- .NET Redistribuable • La plateforme .NEThttp://www.microsoft.com/downloads/details.aspx?familyid=333325FD-AE52-4E35-B531-508D977D32A6&displaylang=en Gratuit !

  22. *.vb *.cpp *.cs *.jsl *.js *.cob *.? VB C++ C# J# JScript Cobol … Microsoft Intermediate Language (MSIL) Les langages sur .Net Respectent la Common Language Specification (CLS) Indépendant de la plate-forme hardware

  23. *.vb *.cpp *.cs *.jsl *.js *.cob *.? VB C++ C# J# JScript Cobol … Microsoft Intermediate Language (MSIL) Les langages sur .Net Langage C# Common Language Specification (CLS) Soumis et validé comme un standard par ECMA et ISO

  24. Perl Python Cobol Haskell ML JScript Ada APL Eiffel Pascal Fortran PHP Les langages disponibles • Managed C++ • Visual Basic • C# • J# • SmallTalk • Oberon • Scheme • Mercury • Oz • Objective Caml • Delphi • WinDev • …

  25. Multi Langages démo

  26. Agenda de la présentation • Multi Langages • Multi Plateformes • Common Language Runtime (CLR) • Framework Class Library (FCL) • Déploiement • Sécurité

  27. Common Language Runtime (CLR) Windows XP Windows 2000 NT 4.0* Windows 98, Me PocketPC* … Vista Implémentée par MS La plateforme .Net Microsoft Intermediate Language (MSIL) Soumis et validé à l’ISO et ECMA

  28. Petit lexique avant d’aller plus loin • Le monde .NET est dit « Managé » • Le monde Win32/COM est dit « Non managé » • Toute DLL ou EXE .NET est appelé une Assembly

  29. Agenda de la présentation • Multi Langages • Multi Plateformes • Common Language Runtime (CLR) • Framework Class Library (FCL) • Déploiement • Sécurité

  30. Common Language Runtime • Beaucoup de concepts ont été ramenés au niveau de la CLR, donc accessibles par tout langage • Debug • Types unifiés • Modèle d’exception pour tout le monde • Garbage Collector • …

  31. Common Language Runtime • Common Types System

  32. Common Type System Garbage Collector IDisposable démo

  33. Value / Reference types • Il y’a une nette différence de comportement en mémoire entre une value Type et une Reference • La mémoire est scindée en 2 parties : • Stack : pile • Heap : tas (cible unique du GC)

  34. Value / Reference types • Les Value types (System.ValueType) sont directement stockées dans la Stack • Les Reference types (System.Object) sont stockées à la fois dans la Stack et dans la Heap : • Pointeur dans la Stack • L’objet lui-même dans la Heap

  35. Value types • bool • byte • char • decimal • double • enum • float • int • long • sbyte • short • struct • uint • ulong • ushort

  36. Stack Heap valeur (=2) int valeur = 2; public class MaClasse { public propertyint Valeur { get; set; } } MaClassemaClasse = new MaClasse(); maClasse.Valeur = 3; maClasse .Valeur (=3)

  37. Stack Heap valeur = 2 Index = 3 int valeur = 2; MaMéthode1(valeur); Console.WriteLine(valeur); public void MaMéthode1(int index) { index = 3; } valeur = 2

  38. Stack Heap valeur = 2 Valeur = Index = 4 int valeur = 2; MaMéthode2(ref valeur); Console.WriteLine(valeur); public void MaMéthode2(refint index) { index = 4; } valeur = 4

  39. Stack Heap public class MaClasse { public int Valeur { get; set; } } maClasse .Valeur = 2 maRef MaClassemaClasse = new MaClasse(); maClasse.Valeur = 2; MaMéthode1(maClasse); Console.WriteLine(maClasse.Valeur); public void MaMéthode1(MaClassemaRef) { maRef = null; } maClasse.Valeur = 2

  40. Stack Heap public class MaClasse { public int Valeur { get; set; } } maClasse maClasse = maRef .Valeur = 2 MaClassemaClasse = new MaClasse(); maClasse.Valeur = 2; MaMéthode2(refmaClasse); Console.WriteLine(maClasse.Valeur); public void MaMéthode2(refMaClassemaRef) { maRef = null; }

  41. Attention DANGER intnombreA = 3; objectmonEntier = nombreA; Console.WriteLine(monEntier); monEntier = 4; Console.WriteLine(nombreA); intnombreB = (int)monEntier; Console.WriteLine(nombreB); nombreB = 5; Console.WriteLine(nombreA); monEntier = 3 nombreA = 3 nombreB = 4 nombreA = 3

  42. Boxing/Unboxing Stack Heap nombreA= 3 • Le Boxing etUnboxing est trèscoûteux enmémoire et entemps ! • A utiliser avec modération… monEntier nombre= 3 puis 4 nombreB= 4 puis 5

  43. Agenda de la présentation • Multi Langages • Multi Plateformes • Common Language Runtime (CLR) • Framework Class Library (FCL) • Déploiement • Sécurité

  44. Framework Class Library Le .Net Framework Microsoft Intermediate Language (MSIL) Accessible depuis tous les langages Common Language Runtime (CLR)

  45. System.Web System.Windows.Forms Design ComponentModel Services UI Description HtmlControls Discovery WebControls Protocols System.Drawing Caching Security Drawing2D Printing Configuration SessionState Imaging Text System.Xml System.Data OracleClient OleDb SqlClient XSLT Serialization OracleTypes Design SqlTypes XPath System Collections IO Security Runtime InteropServices Configuration Net ServiceProcess Remoting Diagnostics Reflection Text Serialization Globalization Resources Threading Le .Net Framework

  46. Threading Generics LINQ démo

  47. LINQ et les nouveautés syntaxiques par l’exemple

More Related