Fundamentos de C#
Fundamentos de C#
Fundamentos de C#
Fundamentos de C#
Versin 1.0
Sesin 1
Agenda de la Sesin
Objetivo S.1.1. Introduccin a Plataforma .NET S.1.2. Introduccin a Visual Studio 2005 S.1.3. Introduccin a C# CAF
Duracin 09:00-11:00
11:00 -11:30
S.1.4. POO en C#
11:30-14:00
2
CEP "Lenguaje de Programacin C#"- Curso 08/09
Sesin 1.1.
Contenidos
1. 2. 3. 4. 5.
La Plataforma .NET .NET Framework Entorno de Ejecucin Comn Biblioteca de Clases Comn Especificacin del Lenguaje Comn
4
CEP "Lenguaje de Programacin C#"- Curso 08/09
1. Plataforma .NET
Qu incluye?
.NET Framework, infraestructura para la creacin y ejecucin de las aplicaciones. Visual Studio .NET, entorno de desarrollo integrado (IDE). Otros servicios.
5
CEP "Lenguaje de Programacin C#"- Curso 08/09
1. Plataforma .NET
Objetivo Fundamentales
Nueva manera de desarrollar software 1996 Internet 1st Gen 1997 Internet 2nd Gen 2000 Internet 3rd Gen
IE/IIS DNA/COM+
1992 Cliente/Servidor
.NET
Win32
6
CEP "Lenguaje de Programacin C#"- Curso 08/09
1. Plataforma .NET
Soporte multi-lenguaje
La plataforma .NET es independiente del lenguaje
Todos los lenguajes .NET son considerados por igual Un Runtime nico => mejor aprovechamiento de los conocimientos existentes
Lenguajes disponibles:
Por Microsoft: Visual Basic, C++, C#, J# Por terceros: APL, COBOL, Pascal, Eiffel, Haskell, ML, Oberon, Perl, Python, Scheme, Smalltalk, Fortran,
7
CEP "Lenguaje de Programacin C#"- Curso 08/09
1. Plataforma .NET
8
CEP "Lenguaje de Programacin C#"- Curso 08/09
1. Plataforma .NET
Soporte multi-plataforma
Proyecto Rotor
Common Language Infraestructure (CLI) Cdigo fuente abierto, no comercial, modificable Compilar/ejecutar en FreeBSD, Windows, Mac OS X
http://msdn.microsoft.com/net/sscli
Proyecto Mono
Implementacin Open Source del .NET Framework Compilador de C#, VB.NET, CLR, librera de clases, etc. Linux, S390, SPARC, HPPA Implementa ADO.NET, ASP.NET, etc.
www.go-mono.com
9
CEP "Lenguaje de Programacin C#"- Curso 08/09
1. Plataforma .NET
Basado en estndares
XML (XML Schemas, Xpath, XSLT) Servicios Web
SOAP (Simple Object Access Protocol) UDDI (Universal Description, Discovery & Integration) WSDL (Web Service Description Language)
10
CEP "Lenguaje de Programacin C#"- Curso 08/09
1. Plataforma .NET
Estrategias de Desarrollo
Facilitar la integracin del software permitiendo Diversas plataformas (Windows, UNIX, Mainframe)
Diferentes middleware de componentes (DDE, COM, CORBA) Diferentes sistemas operativos
11
CEP "Lenguaje de Programacin C#"- Curso 08/09
1. Plataforma .NET
.NET Framework
RAD, Composicin, Delegacin OOP, Potencia, Expresividad Web, Estndar, En HTML
VB Forms
MFC/ATL
ASP
Windows API
12
CEP "Lenguaje de Programacin C#"- Curso 08/09
1. Plataforma .NET
Estrategias de Implantacin
Instalacin de impacto cero
Aplicaciones y componentes compartidos o privados
Ejecucin side-by-side
Coexistencia de varias versiones del mismo componente
Ensamblados (Assemblies)
Coleccin de funcionalidad creada, versionada e implantada como una unidad de implementacin nica (incluyendo uno o varios archivos) Son autodescriptivos En tiempo de ejecucin se resuelven las referencias entre componentes, se garantiza la poltica de enlace de versiones y se valida la integridad de los ensamblados cargados. El Manifiesto (Manifest) contiene los metadatos del ensamblado incluyendo
la identidad del ensamblado los archivos que implementan el ensamblado las dependencias en tiempo de compilacin con otros ensamblados los tipos y recursos que forman el ensamblado el conjunto de permisos para ejecutarse apropiadamente
13
CEP "Lenguaje de Programacin C#"- Curso 08/09
1. Plataforma .NET
14
CEP "Lenguaje de Programacin C#"- Curso 08/09
Sesin 1.1.
Contenidos
1. 2. 3. 4. 5.
La Plataforma .NET .NET Framework Entorno de Ejecucin Comn Biblioteca de Clases Comn Especificacin del Lenguaje Comn
15
CEP "Lenguaje de Programacin C#"- Curso 08/09
2. .NET Framework
Caractersticas De cara al programador, el .NET framework es la pieza base de .NET, ya que proporciona las herramientas y servicios para desarrollar el software:
Entorno de Ejecucin Comn (CLR) Biblioteca de clases bsicas Motor de generacin de interfaces de usuario
Web (ASP .NET) Tradicionales Windows (Windows Forms)
16
CEP "Lenguaje de Programacin C#"- Curso 08/09
2. .NET Framework
ADO.NET and XML Base Class Library Common Language Runtime Windows COM+ Services
17
CEP "Lenguaje de Programacin C#"- Curso 08/09
Sesin 1.1.
Contenidos
1. 2. 3. 4. 5.
La Plataforma .NET .NET Framework Entorno de Ejecucin Comn Biblioteca de Clases Comn Especificacin del Lenguaje Comn
18
CEP "Lenguaje de Programacin C#"- Curso 08/09
En tiempo de desarrollo
Gestin del tiempo de vida, nominacin de tipos robusta, tratamiento de excepciones multilenguaje, gestin de eventos basada en delegados, enlace dinmico, ..
19
CEP "Lenguaje de Programacin C#"- Curso 08/09
Common Language Runtime-CLR (II) Sistema de Tipos Comn (CTS) Soporte Threads Control Tipos Motor Seguridad Lenguaje Intermedio (IL) Componentes Gestor Excepciones Motor Depuracin Recolector de basura
Gestor de cdigo
Lenguaje Intermedio IL
VB Cdigo Nativo
Cdigo generado instalacin
VC
...
Script
IL
Cdigo Nativo
21
CEP "Lenguaje de Programacin C#"- Curso 08/09
Cdigo nativo
No ms versiones de libreras para cada lenguaje o compilador! No ms libreras de clases limitadas a un lenguaje concreto! Todas las implementaciones de clases, interfaces, estructuras, etc., nativas o creadas por el programador, son tipos .NET. Todos los tipos .NET son objetos.
Dim sNombre As String sNombre = "coche" MessageBox.Show(sNombre.Length) ' devuelve 5
23
CEP "Lenguaje de Programacin C#"- Curso 08/09
24
CEP "Lenguaje de Programacin C#"- Curso 08/09
25
CEP "Lenguaje de Programacin C#"- Curso 08/09
Sesin 1.1.
Contenidos
1. 2. 3. 4. 5.
La Plataforma .NET .NET Framework Entorno de Ejecucin Comn Biblioteca de Clases Comn Especificacin del Lenguaje Comn
26
CEP "Lenguaje de Programacin C#"- Curso 08/09
Distintos APIs
System.Web
Services Description Discovery Protocols Caching Configuration UI HtmlControls VBWebControls C# C++
System.WinForms
Design J# ComponentModel Cobol
Common Language Specification Security Drawing2D Printing SessionState Imaging Forms Text ASP.NET Windows ADO.NET and XML System.Xml SQL XSLT Serialization Base Class Library SQLTypes XPath Common Language Runtime Windows IO Net Reflection Resources
System.Drawing
System.Data
ADO Design
System
COM+ Services Security Runtime InteropServices ServiceProcess Remoting Text Serialization Threading 27
28
CEP "Lenguaje de Programacin C#"- Curso 08/09
Sesin 1.1.
Contenidos
1. 2. 3. 4. 5.
La Plataforma .NET .NET Framework Entorno de Ejecucin Comn Biblioteca de Clases Comn Especificacin del Lenguaje Comn
29
CEP "Lenguaje de Programacin C#"- Curso 08/09
ADO.NET and XML Base Class Library Common Language Runtime Windows COM+ Services
30
CEP "Lenguaje de Programacin C#"- Curso 08/09