Upload
ailani
View
43
Download
1
Embed Size (px)
DESCRIPTION
™. Microsoft .NET & Langage Intermédiaire du Web (C#). Nguyen Tuan Loc 10/04. Contenu. 1) Microsoft.NET .NET et Framework.NET .NET et les langages supportés Mécanisme de fonctionnement de .NET Installation .NET 2) C# et C++ Présentation C# Comment ça marche C# ? - PowerPoint PPT Presentation
Citation preview
Nguyen Tuan Loc
10/04
™
Contenu
1) Microsoft.NET– .NET et Framework.NET– .NET et les langages supportés– Mécanisme de fonctionnement de .NET– Installation .NET
2) C# et C++– Présentation C#– Comment ça marche C# ?– Pourquoi choisir C# ?– Comparaison entre C# et C++
Avantages Similaire Inconvénients
3) Perspective & conclusion
Présentation .NET & .NET Framework
Microsoft propose 4 langages– C#, C++,VB.NET,ASP.NET
dont C# est le premier recommandé par Microsoft
Autres langages supportés– Perl, Cobol, Eiffel, J#, Oberon,Component Pascal,
Python, Smalltalk
.NET & CLR Common Language Runtime
Architectures intelligentes
Intelligence : -Intégration, -Réutilisation, -Interopérabilité.
sourisMSIL
chat.cs
chienMSIL
chatMSIL
chien.pl
deploymentWindows
JIT
Linux (?)
JIT
souris.vb
Exemple :
CLRCLR
JIT : Machine virtuelle de Microsoft
Microsoft Framework.NETMicrosoft Framework.NET
7/32CLR : Common Runtime LanguageMSIL : Langage Intermédiaire de Microsoft
Mécanisme de fonctionnement de MS.NET
chienMSIL
chat.cs
sourisMSIL
chien.vb
chatMSIL
souris.pl
déploiement
Windows
JIT
Linux (?)
JIT
CLR : moteur exécution en langage commun
CLR : Common Language RuntimeJIT : Just in Time (2eme compilateur)
Assemblage de composants
Bonne conception ?
Nombre de composants
Prix de composants
Prix d’interfaces
Prix
Prix minimum
c
J
VBC
J
Résumé
Architectures intelligentes de .NET :– Rapidité, qualité : l’intelligence se trouve dans
la logique de services, pas dans le traitement de services.
– Ouvertes dans un monde « fermé » : l’implémentation propriétaire (.Net sur Linux?).
Installation Microsoft.NET
Que faut-il avoir pour une application .NET tourne ?– Windows OS (XP n’a pas besoin)
Windows 2000 recommandé ou Microsoft .NET SDK (30 mb)
– http://msdn.microsoft.com/netframework
– Editeur de texte (notepad) ou Visual Studio.NET (option) (10 licences déjà dans l’équipe TDD, 3 utilisées)
La production avec Perl : Visual Perl de ActiveState (partenaire .Net de Microsoft) (495 $) (option)
Qu’est-ce c’est C# ?
Langage proposé par Microsoft, standardisé par ECMA, ressemble la syntaxe de Java
– Langage orienté objet– Une partie évolue vers langage orienté et langage de
programmation de component– Dérivé de C++– MFC est remplacée par librairie .NET Framework
Combinaison entre la force de C++ et la simplicité de Visual Basic
Cross Plate-forme Cross Langage
C# : comment ça marche ?
C#
Codenatif
(selon OS)
JIT.cs
Code source
‘.exe’‘.dll’
Microsoft Intermediate Language (MSIL)
CLS ‘Règle de
tranformation en .NET’
Just in Time Compiler
CLR Common Runtime Language
Avantages C#Avantages C#Plus ouvertPlus ouvertInteropérabilité dans le futur avec Framework Interopérabilité dans le futur avec Framework .Net (Windows, »Linux,Unix »).Net (Windows, »Linux,Unix »)Supporter XML (standard de l’Internet W3c)Supporter XML (standard de l’Internet W3c)Composant.Net (complexité, time to market, Composant.Net (complexité, time to market, plug and play)plug and play)
Inconvénients C#Inconvénients C#Apprendre nouveau concept de base (.Net)Apprendre nouveau concept de base (.Net)Apprendre nouveau langage Apprendre nouveau langage (temps d’estimation (temps d’estimation environ 4 semaine)environ 4 semaine)
C# versus C++ C# versus C++ Pourquoi choisir C# ?Pourquoi choisir C# ?
Peu de pointeur Conversion automatique (boxing)
– list.Add(1); – list.Add(13.12);
Versioning– C# demande le développer de clarifier la création de la
version librairie créée. Utilise le keyword ‘new’ et ‘override
Utiliser la librairie de framework .NET Threading, Collection, XML, ADO+, ASP+, GDI+ & WinForms
libraries
Avantages C#
Avantages C#
C# élimine header .h C# non pointeur (très limité). C# est un langage objet orienté pur avec tous les
objets et types dérivés de la classe Object. Codé géré (pas besoin de ‘’free’’ et ‘’delete’’)-> plus de paniques MFC(CString, string) en
COM,VB(_bstr, BSTR) !-> classe Systeme CLR remplacée.
Plus détails :– http://msdn.microsoft.com/library/default.asp?url=/library/enus/
cscon/html/vclrfcomparisonbetweenccsharp.asp
Similaire C++ et C#
– Keywords similaires (dérive de C++)– Classe hiérarchie par arbre avec un Root– Machine virtuelle & IL/CLR– Garbage Collection– Pas de méthode globale– Pas d’inhérence Multiple
Inconvénients de C#
Technologie Windows 100%, porter Framework sur Linux “à voir” (projet Mono)
.NET et C# sont des "standards ouverts" ne signifie pas nécessairement des "environnements ouverts". (IBM-ZDNet)
La première fois est lente (à cause de compilateur 2-time) Les tests du produit non extensifs (large utilisé par
communauté des utilisateurs) Trop nouveau, vient d’être soumis et accepté par ECMA
Orienté vers l’évolution de l’Internet et les Web Services
Perspective :
– .NET est une architecture ouverte
Et Pourquoi ?
.NET et perspective
XML, C# et .NET :
Source Microsoft DevDay 2003
EvolutionEvolution
Basic InterpreterBasic Interpreter
MicroMicrocomputercomputer
19751975
WindowsWindows19901990
Visual Visual
ToolsTools
PCPC19811981
Quick Quick LanguagesLanguages
.NET,C#.NET,C#
Web ServicesWeb ServicesWin.NET, 200xWin.NET, 200x
Visual Visual Studio 6Studio 6
InternetInternet19971997
C# et .NET: orientation tothe Internet evolution
Application to application(B2B)
Web services
Web services
XML/SOAP
Architecture “n-tiers”
Person to person(C2C)
Data echange
PC
PC
Architecture 1-tiers
Evolution de l’architecture
Application to person (B2C)
Web server
Web browser HTTP/HTML
Architecture 2-tiers Architecture 2-tiers
Web browser
Application to person (B2C)
HTTP/HTML
Web server
Databases
.NET et perspective
Boîte blancheUtiliser le code monolithique dans programme
Boîte noireAssembler les codes compilés dans un programme
Boîte grise (.NET et autres langages)
Entre boîte noir et boîte noir plus interface de wrapping
.NET conclusion
Solution pour résoudre 3 problèmes de base:– Intégration– Réutilisation– Interopérabilité
Supporter SOAP, XML -> Nouveau standard de l’industrie
C# conclusion
C# = Power C++ + Simplicity Visual Basic
+ Interoperability Java
C# = Langage ouvert et du futur
Références
NET Framework SDK (includes C# compiler)– http://msdn.microsoft.com/netframework– http://www.gotdotnet.com
ECMA C# Standardhttp://www.ecma.ch/ecma1/stand/ecma-334.htm
Microsoft Visual C# .NET– http://msdn.microsoft.com/vcsharp– http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cscon/html/
vcoricstartpage.asp– http://www.csharphelp.com/– http://msdn.microsoft.com/msdnmag/issues/01/07/ctocsharp/ctocsharp.asp– http://windows.oreilly.com/news/hejlsberg_0800.html – http://msdn.microsoft.com/msdnmag/issues/0900/csharp/default.aspx
Microsost.NET, C#, groupes françaises :– http://www.dotnet-fr.org– http://www.c2i.fr