introducción a la plataforma -...

33
Integración de Sistemas Curso 2009 - 2010 1 Introducción a la plataforma .NET Integración de Sistemas Parte II. Diseño e implementación de aplicaciones Web con .NET Contenido Introducción .NET Framework Acceso a datos con ADO .NET Windows Forms Aplicaciones Web: ASP.NET Herramientas de desarrollo

Upload: vantuong

Post on 19-Sep-2018

212 views

Category:

Documents


0 download

TRANSCRIPT

Integración de Sistemas

Curso 2009 - 2010 1

Introducción a la

plataforma .NET

Integración de Sistemas

Parte II. Diseño e implementación de

aplicaciones Web con .NET

Contenido

� Introducción

� .NET Framework

� Acceso a datos con ADO .NET

� Windows Forms

� Aplicaciones Web: ASP.NET

� Herramientas de desarrollo

Integración de Sistemas

Curso 2009 - 2010 2

¿Qué no es .NET?

� .NET no es un Sistema Operativo

� .NET no es un Lenguaje de Programación

� .NET no es un Entorno de Desarrollo

� .NET no es un Servidor de Aplicaciones

¿Qué es .NET?

� Plataforma de Desarrollo compuesta de

� Entorno de Ejecución (Common Language Runtime)

� Common Type System

� Common Language Specification

� Bibliotecas de Funcionalidad (Class Library)

� Lenguajes de Programación

� Compiladores

� Herramientas de Desarrollo (IDE & Tools)

� Documentación y Guías de Arquitectura

Integración de Sistemas

Curso 2009 - 2010 3

Línea del tiempo de .NET

Visual Studio 6.0Visual BasicVBAVisual FoxProVBScriptC++J++JScriptASP

Visual Studio .NET 2003.NET Framework 1.1.NET Compact FrameworkJ#

Visual Studio 2008.NET Framework 3.5.NET Compact Framework 3.5

2000 2001 2002 2003 2004 2005 2006 2008

Visual Studio 2005 (“Whidbey”).NET Framework 2.0 (“Whidbey”).NET Compact Framework 2.0 (“Whidbey”)

Visual Studio .NET 2002.NET Framework 1.0Visual Basic .NETC#

Características de .NET

� Plataforma independiente del lenguaje

� Múltiples lenguajes (C#, VB .NET, COBOL, Perl, Phython, Eiffel, etc.)

� Código fuente se compila a MSIL (Microsoft Intermediate Language)

� MSIL se compila antes de ser ejecutado (no es interpretado)

� Sentencias MSIL manipulan tipos de datos comunes, compartidos por todos los

lenguajes de .NET

� Juntos forman el Common Type System (CTS)

� Todos los lenguajes proporcionados por Microsoft tienen la misma potencia y capacidad de acceso a los recursos y servicios que expone el .NET Framework

� No condiciona la elección del lenguaje

Integración de Sistemas

Curso 2009 - 2010 4

Características de .NET

� Plataforma de ejecución intermedia

� El Common Language Runtime (CLR) es el responsable de cargar

y ejecutar una aplicación .NET

� Utiliza compilación Just-In-Time (JIT) para traducir MSIL a código máquina

� Código .NET siempre es compilado, nunca interpretado

� No usa máquina virtual para ejecutar aplicaciones

� Código es compilado JIT la primera vez que se llama

� Proceso de compilación genera fichero ejecutable en formato portable executable (PE). Implicaciones:

� CLR nunca sabe, ni le importa, que lenguaje fue usado para crear la aplicación o

componente

� Para que el código funcione en otra plataforma basta reemplazar el compilador JIT

Características de .NET

� Plataforma 100% Orientada a Objetos ⇒ no existen tipos primitivos

� Permite el desarrollo de aplicaciones empresariales

� Modelo de programación único para todo tipo de aplicaciones (consola, Web, aplicaciones móviles, etc.) y dispositivos de hardware (PC, PDA, SmartPhone, etc.)

� Código gestionado

� Además de compilar, CLR gestiona las aplicaciones, haciéndose responsable de:

� Cargar, verificar y ejecutar código, la recolección de basura (Garbage Collector), proteger las

aplicaciones unas de otras, hacer cumplir las restricciones de seguridad, proporcionar

servicios de depuración e incluir soporte para versiones y desarrollo

� Además del MSIL, compiladores generan Metadata

� Metadata describe tipos

� Componentes .NET son autodescriptivos

Integración de Sistemas

Curso 2009 - 2010 5

Características de .NETModelo de ejecución

Todos los lenguajes son compilados a ILExtraído de: Grimes, F. (2002). Microsoft. Net for Programmers: Manning.

MSIL vs. Java bytecode

� Java bytecode específicamente diseñado para soportar lenguaje

Java, mientras MSIL diseñado para soportar múltiples lenguajes

� Java Virtual Machine diseñada para permitir Java bytecode

interpretado o compilado, mientras MSIL fue diseñado

explícitamente para compilación JIT (Just-In-Time Compilation)

Integración de Sistemas

Curso 2009 - 2010 6

Common Type System (CTS)

� El Common Type System (CTS) o Sistema de Tipo Común es el conjunto de reglas que han de seguir las definiciones de tipos de datos para que el CLR las acepte

� Define un conjunto común de tipos de datos orientados a objetos

� Todo lenguaje de programación .NET debe implementar los tipos definidos por el CTS

� Todo tipo hereda directa o indirectamente del tipo System.Object

� Define tipos valor y tipos referencia

Tipos valor vs. Tipos referencia

� CLR administra dos segmentos de memoria:

Stack (Pila) y Heap (Montón)

� Tipos valor (i.e: enteros, caracteres, boleanos,

etc.) se almacenan en el Stack

� Tipos referencia (i.e: strings, clases definidas

por el usuario, etc.) en el Heap

� El Stack es liberado automáticamente una vez

finaliza el procedimiento o el bloque de código,

mientras que el Heap es administrado por el

GC

� Tipo referencia puede ser nulo, tipo valor no

� Posible crear nuevos objetos valor (e.g.

C# struct)

� Para preservar filosofía “Todo es un objeto”,

.NET provee un tipo referencia correspondiente

a cada tipo valor

Integración de Sistemas

Curso 2009 - 2010 7

Assemblies

� Un Assembly o Ensamblado es la unidad mínima de ejecución, distribución, instalación y versionado de aplicaciones .NET� Normalmente, extensión .dll o .exe

� Todo código ejecutable debe formar parte de un Assembly

� Contienen:� Código MSIL

� Manifest (Manifiesto)

� METADATA: información sobre sí mismos y los recursos de los que dependen (son

autodescriptivos)

� Aplicación .NET se compone de uno o más ensamblados

� Pueden ser privados (opción por defecto) o compartidos (se instalan en la Global Assembly Cache)

Assemblies

Combinando módulos gestionados en AssembliesExtraído de: Richter, J. (2003). Applied Microsoft. NET framework programming: Microsoft Press.

Integración de Sistemas

Curso 2009 - 2010 8

Assemblies

� Herramienta MSIL Dissasembler (ildasm.exe), incluida en el .NET

Framework SDK

Assemblies. Global Assembly Cache (GAC)

� Es un repositorio centralizado de ensamblados en el cual se instalan todos los ensamblados que serán utilizados por múltiples aplicaciones en la misma máquina

� Para registrar un ensamblado en la GAC es necesario utilizar la herramienta gacutil.exe, incluida en el .NET Framework SDK

� Obligatorio un nombre distinto para cada librería

� Se consigue con tecnología de cifrado de clave pública

� Es posible distinguir entre versiones de un mismo ensamblado y éstas pueden convivir sin ningún conflicto

� Cada aplicación utiliza la versión de la librería que necesite

� Soluciona problema DLL Hell

� Actualizaciones y desinstalaciones más simples

Integración de Sistemas

Curso 2009 - 2010 9

Assemblies. Global Assembly Cache (GAC)

� Panel de Control > Herramientas Administrativas >

.NET Framework Configuration Administrative tool

Assemblies. Global Assembly Cache (GAC)

Integración de Sistemas

Curso 2009 - 2010 10

Contenido

� Introducción

� .NET Framework

� Acceso a datos con ADO .NET

� Windows Forms

� Aplicaciones Web: ASP.NET

� Herramientas de desarrollo

.NET Framework

� Paquete de software fundamental de la plataforma .NET. Incluye:

� Entorno de ejecución (Runtime)

� Bibliotecas de funcionalidad reutilizable (Class Library)

� Tres variantes principales:

� .NET Framework Redistributable Package (R + CL)

� .NET Framework SDK (R + CL + compiladores, depuradores, etc.)

� .NET Compact Framework

� Distribución libre y gratuita

� Instalado por defecto en Windows 2003 Server, Windows XP SP2 y

Vista

Integración de Sistemas

Curso 2009 - 2010 11

Arquitectura del .NET Framework

Windows COM+ Services

Common Language Runtime

Base Class Library

ADO.NET

Common Language Specification

VB C++ C# J# …

.NE

T F

ram

ew

ork

R

ed

istr

ibu

tab

le

.NE

T F

ram

ew

ork

SD

K

.NE

T F

ram

ew

ork

C

lass L

ibra

ry

WinForms ASP.NET

WPF WCF

LINQ

WF Card Space

ADO.NET Entity Framework

Arquitectura del .NET FrameworkCommon Language Runtime

� El CLR es un entorno de ejecución que puede ser usado por distintos lenguajes de programación

� El CLR es el responsable de cargar y ejecutar una aplicación .NET

� Utiliza compilación Just-In-Time (JIT) para traducir MSIL a código máquina

� Además de compilar, CLR gestiona las aplicaciones, haciéndose responsable de:

� Cargar, verificar y ejecutar código, la recolección de basura (Garbage Collector), proteger las aplicaciones unas de otras, hacer cumplir las restricciones de seguridad, proporcionar servicios de depuración e incluir soporte para versiones y desarrollo

� La gestión del código por parte del CLR proporciona una capa extra que

desacopla la aplicación del SO

Integración de Sistemas

Curso 2009 - 2010 12

Arquitectura del .NET Framework.NET Framework Class Library

� Conjunto de Tipos básicos (clases, interfaces, etc.) que vienen

incluidos en el .NET Framework

� Los tipos están organizados en jerarquías lógicas de nombres,

denominados namespaces

� Los tipos son independientes del lenguaje de programación de alto

nivel que se desee utilizar (C#, VB .NET, etc.)

� Es extensible y totalmente orientada a objetos

� Estas clases están disponibles para todos los lenguajes .NET

Arquitectura del .NET Framework.NET Framework Class Library

� Se divide en dos partes

� Base Class Library

� Incluye un pequeño subconjunto de la class library y es el núcleo de clases que

constituyen el API básica del CLR

� Clases en mscorlib.dll y algunas de las clases en System.dll y System.core.dll

� Las clases de la BCL están disponibles las distinas implementaciones del .NET

Framework

� Framework Class Library

� Es un superconjunto de las clases de la BCL formado por la librería completa de clases

incluidas con el .NET Framework

� Incluye un conjunto extensode librerías como WinForms, ADO.NET, ASP.NET, LINQ,

WPF y WCF, entre otras.

Integración de Sistemas

Curso 2009 - 2010 13

Arquitectura del .NET Framework.NET Framework Class Library

System

System.Data System.Xml

System.Web

GlobalizationGlobalization

DiagnosticsDiagnostics

ConfigurationConfiguration

CollectionsCollections

ResourcesResources

ReflectionReflection

NetNet

IOIO

ThreadingThreading

TextText

ServiceProcessServiceProcess

SecuritySecurity

CommonCommon

OLE DBOLE DB

SqlClientSqlClient

ODBCODBC

XPathXPath

XSLTXSLT

RuntimeRuntime

InteropServicesInteropServices

RemotingRemoting

SerializationSerialization

SerializationSerialization

ConfigurationConfiguration SessionStateSessionState

CachingCaching SecuritySecurity

ServicesServices

DescriptionDescription

DiscoveryDiscovery

ProtocolsProtocols

UIUI

HtmlControlsHtmlControls

WebControlsWebControls

System.Drawing

ImagingImaging

Drawing2DDrawing2D

TextText

PrintingPrinting

System.Windows.FormsDesignDesign ComponentModelComponentModel

Arquitectura del .NET FrameworkCommon Language Specification

� El CLS define el mínimo conjunto de características que todos los lenguajes deben soportar, si pretenden ajustarse al CLR y soportar operatividad multilenguaje� Todos los componentes desarrollados y compilados de acuerdo con la especificación

CLS pueden interactuar entre sí, independientemente del lenguaje de programación de alto nivel en el que fueron escritos

� El CLR/CTS soporta muchas más características que el subconjunto definido por el CLS� Si la operatividad multilenguaje no es un objetivo, se pueden desarrollar tipos más

ricos, limitados solo por el conjunto de características del lenguaje

� El CLS define reglas a las que se deben adherir los tipos y los métodos visibles externamente, para que éstos sean accesibles desde cualquier lenguaje de programación CLS-compatible� Las reglas del CLS no afectan a código que es accesible sólo desde el asembly en

que se define

� Librerías que se adhieren al CLS se dicen CLS-compliant

Integración de Sistemas

Curso 2009 - 2010 14

Arquitectura del .NET FrameworkCommon Language Specification

� El CLR/CTS ofrece un conjunto de características

� Algunos lenguajes exponen un gran subconjunto del CLR/CTS

� El CLS define el mínimo conjunto de características que todos los lenguajes deben soportar

Los lenguajes ofrecen un subconjunto del CLR/CTS y un superconjunto del CLS (pero no necesariamente el mismo superconjunto)

Extraído de: Richter, J. (2003). Applied Microsoft. NET framework programming: Microsoft Press.

Arquitectura del .NET FrameworkCommon Language Specification. Lenguajes compatibles

� Ada

� APL

� Basic (Visual Basic)

� C#

� C

� C++

� Delphi

� Java

� COBOL

� Component Pascal

(Queensland U Tech)

� ECMAScript (JScript)

� Eiffel (Monash U.)

� Fortran

� Haskell (Utrecht U.)

� JavaScript

� Lisp

� lcc (MS Research Redmond)

� Mondrian (Utrecht)

� ML (MS Research Cambridge)

� Mercury (Melbourne U.)

� Oberon (Zurich University)

� Oz (Univ of Saarlandes)

� Perl

� Prolog

� Python

� Scheme (Northwestern U.)

� SmallTalk

Integración de Sistemas

Curso 2009 - 2010 15

CLR Hosting & Application Domains

� Una aplicación .NET necesita una pieza de código llamada Runtime

Host para ejecutarse

� El Runtime Host carga el Runtime (CLR) en un proceso, crea

Application Domains dentro del proceso y carga y ejecuta el código

del usuario dentro de esos Application Domains

Código Gestionado

CLR

CLR Host

AppDomain 1

Código Gestionado

AppDomain N

CLR Hosting & Application Domains

� Los Application Domains son procesos virtuales dentro del CLR

� Se ejecutan dentro de un proceso del Sistema Operativo

� Un proceso puede contener varios Application Domains

� Más eficiente que múltiples procesos del SO

� Todos los ensamblados que conforman una aplicación siempre son cargados en un Application Domain

� Los Application Domains proporcionan un aislamiento entre aplicaciones, que garantiza:

� Una aplicación pueda ser detenida independientemente del resto

� Una aplicación no pueda acceder directamente a código en ejecución de otra aplicación

� Un fallo en una aplicación no afecte al resto de aplicaciones

Integración de Sistemas

Curso 2009 - 2010 16

Funcionamiento: Resumen

Desarrollo

(VisualStudio .NET)Ejecución

(Plataforma .NET)

Análisis y diseño

Código fuente

Compilador

Código MSIL(Ensamblado)

Verificación

Compilación(JIT)

Código Nativo

Ejecución(CLR)

Contenido

� Introducción

� .NET Framework

� Acceso a datos con ADO .NET

� Windows Forms

� Aplicaciones Web: ASP.NET

� Herramientas de desarrollo

Integración de Sistemas

Curso 2009 - 2010 17

Acceso a datos con ADO.NET

System.Data

OleDb

SqlClient

OracleClient

Common

Odbc SqlTypes

System.Xml

Serialization

XPath

XSLT

Schema

ADO.NET - Arquitectura

Integración de Sistemas

Curso 2009 - 2010 18

ADO.NET - DataSet

DataSet

DataTableDataTable

DataTable

DataRowDataRow

DataColumnDataColumn

RelationsRelations

DataRelationDataRelationXML SchemasXML Schemas

Acceso a Bases de Datos Relacionales: Entorno Conectado

� Los usuarios están constantemente conectados a la fuente de datos

� Ventajas:

� Mayor seguridad

� Mejor control de concurrencia

� Los datos se mantienen actualizados

� Desventajas:

� Se requiere una conexión constante (consume recursos del servidor)

� Escalabilidad limitada por cantidad de conexiones

Integración de Sistemas

Curso 2009 - 2010 19

Acceso a Bases de Datos Relacionales: Entorno Conectado

� En un escenario conectado, los

recursos se mantienen en el servidor

hasta que la conexión se cierra

� Pasos

1) Abrir Conexión

2) Ejecutar Comando

3) Procesar Filas en DataReader

4) Cerrar DataReader

5) Cerrar Conexión

Acceso a Bases de Datos Relacionales: Entorno Desconectado

� Una parte de los datos del repositorio central se copia y modifica en forma local, para luego sincronizarse con éste

� Ventajas

� Forma cómoda de trabajar, si los datos únicamente se necesitan para lectura

� Desventajas

� Los datos no están sincronizados

� Sólo es válido para ciertos escenarios

Integración de Sistemas

Curso 2009 - 2010 20

� En un escenario desconectado, los recursos no se mantienen en el servidor mientras los datos se procesan

� Pasos

1) Abrir Conexión

2) Llenar DataSet mediante DataAdapter

3) Cerrar Conexión

4) Procesar DataSet

5) Abrir Conexión

6) Actualizar fuente de datos mediante

DataAdapter

7) Cerrar Conexión

Acceso a Bases de Datos Relacionales: Entorno Desconectado

ADO.NET Entity Framework

� Es un OR/M (Object Relational / Mapping) para .NET

� Incluído en .NET Framework 3.5 SP1 y en VS2008 SP1 (11 de

agosto de 2008)

� A día de hoy ya proporciona soporte para la mayoría de los SGBD

relacionales

� Mapeado:

� Store Schema Definition Language (SSDL)

� Conceptual Schema Definition Language (CSDL)

� Mapping Specificacion Language (MSL)

⇒ VS 2008 incluye asistente gráfico para hacerlo

Integración de Sistemas

Curso 2009 - 2010 21

ADO.NET Entity Framework

� Objetos de servicio

� EntityObject (ModeloConceptual, clase base de los objetos de datos, …)

� ObjectContext (Gestión de la conexión, almacén en memoria de objetos, …)

� ObjectStateManager (Gestiona el estado, identidad, cambios en los objetos de datos, …)

� Las consultas pueden realizarse

� Entity SQL

� Indep. del SGBD

� Strings (Interpretados en tiempo de ejecución)

� LINQ to Entities

� Lenguaje común y semántico

ADO.NET Entity FrameworkEjecución de consultas

Integración de Sistemas

Curso 2009 - 2010 22

Contenido

� Introducción

� .NET Framework

� Acceso a datos con ADO .NET

� Windows Forms

� Aplicaciones Web: ASP.NET

� Herramientas de desarrollo

Windows Forms

� Una clase base común: Control

� Representa un elemento de la interfaz gráfica

� Resto de elementos derivan de Control

� Formulario Windows (Form)

� Básicos (TextBox) y extendidos (DataGrid)

� Funcionalidad encapsulada en propiedades y eventos

Integración de Sistemas

Curso 2009 - 2010 23

System.Drawing

Drawing2D

Imaging

Printing

Text

System.Windows.Forms

Design ComponentModel

Windows Forms

Contenido

� Introducción

� .NET Framework

� Acceso a datos con ADO .NET

� Windows Forms

� Aplicaciones Web: ASP.NET

� Herramientas de desarrollo

Integración de Sistemas

Curso 2009 - 2010 24

Aplicaciones Web: ASP.NET

� Versión para la plataforma .NET de la tecnología ASP

(Active Server Pages)

� Tres partes muy diferenciadas:

� Web Forms

� Server Controls

� Web Services

System.Web

Caching

Configuration

Services UI

SessionState

HtmlControls

WebControls

Description

Discovery

Security

Protocols

Aplicaciones Web: ASP.NET

Integración de Sistemas

Curso 2009 - 2010 25

Arquitectura de aplicaciones Web con ASP.NET

Vista

Lógica Negocio

Datos

Graphic

Files

UI Pages

(.htm)

XML Web Services

(.asmx)

User Controls

(.ascx)

Code-Behind File

(.aspx.vb or .aspx.cs)

Proxy ADO.NET

.NET

Objects

Data Source

COM+

Services

COM

Objects

RCW

Web Form (.aspx)

Contenido

� Introducción

� .NET Framework

� Acceso a datos con ADO .NET

� Windows Forms

� Aplicaciones Web: ASP.NET

� Herramientas de desarrollo

Integración de Sistemas

Curso 2009 - 2010 26

Novatos

Entusiastas

Estudiantes

Hobbyists

Part-Timers

Profesionales

Consultores

Desarrolladores

Arquitectos

Testers

VB6 Devs

Herramientas de desarrollo: Visual Studio 2008

Microsoft®

Visual Studio® 2008Team System

Microsoft®

Visual Studio® 2008Professional Edition

Microsoft®

Visual Studio® 2008Standard Edition

� Herramientas de desarrollo gratuitas: : http://www.microsoft.com/express

� Diseñadas para estudiantes y principiantes

� Hay varias ediciones, según el tipo de aplicación y el lenguaje:

� Visual Web Developer 2008 Express, Visual Basic 2008 Express,

Visual C# 2008 Express y Visual C++ 2008 Express y SQL Server

Express

� Características avanzadas, por ejemplo:

� Refactoring

� Code Snippets

� Diseñadores WYSIWYG para Windows Presentation Foundation

� Depuradores

� Intellisense

� Persistencia mediante “Entity Framework”

Visual Studio 2008 Express Editions

Integración de Sistemas

Curso 2009 - 2010 27

SQL Server 2005 Express

� Es una edición gratuita

� Incluye una interfaz de administración y un editor de consultas:

� SQL Server Management Studio Express

� Tamaño máximo de base: 4 Gb

� No tiene un número máximo conexiones concurrentes

� Integración con Visual Studio 2005/2008

� Mecanismos de seguridad:

� Autenticación, Autorización y Auditoría

� Cifrado de datos

SQL Server 2008 Express

� Nueva edición gratuita:

� SQL Server 2008 Express (Runtime only)

� Motor de Base de Datos

� SQL Server 2008 Express with Tools

+ SQL Server Management Studio Basic

� SQL Server 2008 Express with Advanced Services:

+ Motor de búsqueda de datos de texto

+ Servicios para la creación de informes

� Soporta LINQ, Entity Data Model y ADO.NET Entity Framework

� Funcionalidades para la gestión de datos complejos

� Nuevos tipos de datos Date y Time mejorados

� Nuevos tipos de datos: “Filestream” y “HierarchyID”

� Proporciona “T-SQL Intellisense”

� Integración con Visual Studio 2008 + SP1

� Distribución a partir de noviembre de 2008

Integración de Sistemas

Curso 2009 - 2010 28

Recursos libres� Otras implementaciones del “framework .NET”:

� Portable .NET

� MONO Project

� Entornos de desarrollo

� MonoDevelop

� SharpDevelop

� Repositorios:

� Open Source Software in C#

� http://csharp-source.net/

� IDEs

� Librerías, Fuentes, etc.

� MSDN Code Gallery:

� http://code.msdn.microsoft.com/

� Aplicaciones, snippets

� Ejemplos, guías

Portable .NET

� http://www.dotgnu.org

� Implementación limitada de la plataforma .NET bajo licencia GNU

GPL

� Soporta las librerías:

� Base Class

� XML

� Windows Forms

� Persigue el funcionamiento de .NET sobre cualquier tipo de

plataforma

� De momento, tiene un alcance muy limitado

� El proyecto tiene como objetivos principales de desarrollo de aplicaciones “stand-alone” y servicios Web en C#

Integración de Sistemas

Curso 2009 - 2010 29

Mono Project� http://www.mono-project.com

� Incluye

� CLI: Common Language Infrastructure

� Librería clases sobre CLR

� Compilador C#

� Entornos ejecución:

� Linux, Unix, Solaris

� MacOS X

� Windows

� Portabilidad .NET – MONO

� MoMA

� Patrocinado por Novell Corporation

Mono develop

� http://www.monodevelop.org

Integración de Sistemas

Curso 2009 - 2010 30

Sharp Develop

� SharpDevelop. The Open Source Development Environment for .NET: http://www.sharpdevelop.com

� Soporta:

� C#

� Visual Basic .NET

SharpDevelop

� SharpDevelop:

� Requiere la instalación previa del framework .NET 3.5

� Sistemas operativos Windows XP SP2 y posteriores

� Características

� Soporte para compiladores Microsoft

� Integración con “NUnit” y “NAnt”

� Integración con la documentación de .NET 3.5

� Funcionalidades:

� “IntelliSense”, soporte para “snippets”, código autocompletable

� Diseñador visual de “Windows Forms”

� Navegador de clases y utilidades de definición de código

� Diseñador de bases de datos visual

� Conversión de código C# - VisualBasic

Integración de Sistemas

Curso 2009 - 2010 31

SharpDevelop

� Código Autocompletable:

SharpDevelop

� Diseñador visual de Windows Forms

Integración de Sistemas

Curso 2009 - 2010 32

SharpDevelop

� Navegador de clases y utilidades de definición de código

SharpDevelop

� Conversión de código

Integración de Sistemas

Curso 2009 - 2010 33

Recursos libres

� Open Source Software in C#

� http://csharp-source.net/

� IDEs

� Librerías, Fuentes, etc.

� MSDN Code Gallery:

� http://code.msdn.microsoft.com/

� Aplicaciones, snippets

� Ejemplos, guías