Programacion .Net Framework

31
UTN Facultad Regional Rosario – Ingeniería en Sistemas de Información Asignatura: Tecnologías de desarrollo de software IDE Contenidos Programa Analítico Plan 2008 (ver. 2010) Unidad 1: Plataforma y Entorno de Desarrollo Capítulo 1: Plataforma de Desarrollo Contenidos Tecnologías de Desarrollo de Software IDE Unidad: 1 “Plataforma y Entorno de Desarrollo” Capítulo: 1 “Plataforma de Desarrollo” (Última Actualización: 1 Abril 2015) Autor: Porta Ezequiel Versión: Abril 2015 Pág.: 1 / 31

description

Programacion en .NEt

Transcript of Programacion .Net Framework

  • UTN Facultad Regional Rosario Ingeniera en Sistemas de Informacin Asignatura: Tecnologas de desarrollo de software IDE Contenidos Programa Analtico Plan 2008 (ver. 2010)

    Unidad 1: Plataforma y Entorno de

    Desarrollo Captulo 1:

    Plataforma de Desarrollo

    Contenidos

    TecnologasdeDesarrollodeSoftwareIDE

    Unidad: 1 Plataforma y Entorno de Desarrollo

    Captulo: 1 Plataforma de Desarrollo

    (ltimaActualizacin:1Abril2015)

    Autor: Porta Ezequiel Versin: Abril 2015 Pg.: 1 / 31

  • UTN Facultad Regional Rosario Ingeniera en Sistemas de Informacin Asignatura: Tecnologas de desarrollo de software IDE Contenidos Programa Analtico Plan 2008 (ver. 2010)

    Unidad 1: Plataforma y Entorno de

    Desarrollo Captulo 1:

    Plataforma de Desarrollo

    ndiceUnidad1:PlataformayEntornodeDesarrollo

    Captulo1:PlataformadeDesarrolloIntroduccinPlataformadeDesarrollo.NetEntornodetrabajo.NetFramework

    Evolucindeversionesde.NetFrameworkComponentesPrincipales

    CommonLanguageRuntime(CLR)Procesodecompilacinyejecucindecdigoadministrado

    CdigoenLenguajeIntermedio(CILoMSIL)Ensamblados,ManifiestosyMetadatos

    DesensambladordeMSILComponentesdelCLRInfraestructuraComndeLenguajes(CLI)SistemadeTiposComunes(CTS:CommonTypeSystem)

    ClasificacindeTiposEspecificacinComndeLenguajes(CLS)

    BaseClassLibrary(BCL)OrganizacindelaBCL

    EspaciodeNombres(Namespaces)SoporteamltiplesLenguajesdeProgramacin

    ResumendelaUnidad/CaptuloAutoevaluacinBibliografa

    Nota: los contenidos fueron generados a partir de diversas fuente de informacin, entre las que se destacan la oficial presentada en el sitio MSDN, la publicada por la editorial oficial y ladeotraseditorialesyautoresdereconocidomritoacadmicoy/oprofesional.

    Autor: Porta Ezequiel Versin: Abril 2015 Pg.: 2 / 31

  • UTN Facultad Regional Rosario Ingeniera en Sistemas de Informacin Asignatura: Tecnologas de desarrollo de software IDE Contenidos Programa Analtico Plan 2008 (ver. 2010)

    Unidad 1: Plataforma y Entorno de

    Desarrollo Captulo 1:

    Plataforma de Desarrollo

    Unidad1:PlataformayEntornodeDesarrollo

    Captulo1:PlataformadeDesarrolloIMPORTANTE: los contenidos aqu desarrollados no son necesariamente completos en su total profundidad, por lo que se sugiere consultar otras fuentes, tales como la BibliografasugeridaporlactedraenelProgramaAnalticoydocentes.Objetivo(s)

    Conocerlosaspectosbsicosdelaplataformadedesarrolloysufuncionamiento.Temas

    1. Laplataformadedesarrollo.Netysufuncionamiento.a. Problemasqueresuelve.b. Beneficiosqueofrece.

    2. Elentornodetrabajo.NetFrameworkysufuncionamiento.a. Componentes.b. Evolucindeversionesliberadas.

    3. ElmotordeejecucinCLR(CommonLanguageRuntime)ysufuncionamiento.a. Componentesyserviciosofrecidosentiempodeejecucin.

    i. Recoleccindebasura(garbagecollector)ii. Restodeservicios...

    4. ArquitecturadecompilacinyEjecucin.ElprocesodecompilacinJIT(JustInTime)5. ElSistemadeTiposComunesCTS(CommonTypeSystem).

    a. Categoras.i. TiposporValoryporReferencia

    6. LaLibrera(oBiblioteca)deClasesBaseBCL(BaseClassLibrary).7. EspaciodeNombres(namespaces)8. CdigoadministradooInterpretado.CdigoenLenguajeIntermedioCILoMSIL

    (MicrosoftIntermediateLanguage)9. Ensamblados(assemblies),ManifiestosyMetadatos.10. EspecificacinComndeLenguajesCLS(CommonLanguageSpecification)11. LaInfraestructuraComndelLenguajeCLI(CommonLanguageInfrastructure).

    Estandarizacinylicenciamiento(NormaECMA335ISO/IEC23271).12. Soporteamltipleslenguajes.

    Autor: Porta Ezequiel Versin: Abril 2015 Pg.: 3 / 31

  • UTN Facultad Regional Rosario Ingeniera en Sistemas de Informacin Asignatura: Tecnologas de desarrollo de software IDE Contenidos Programa Analtico Plan 2008 (ver. 2010)

    Unidad 1: Plataforma y Entorno de

    Desarrollo Captulo 1:

    Plataforma de Desarrollo

    Autor: Porta Ezequiel Versin: Abril 2015 Pg.: 4 / 31

  • UTN Facultad Regional Rosario Ingeniera en Sistemas de Informacin Asignatura: Tecnologas de desarrollo de software IDE Contenidos Programa Analtico Plan 2008 (ver. 2010)

    Unidad 1: Plataforma y Entorno de

    Desarrollo Captulo 1:

    Plataforma de Desarrollo

    IntroduccinLa plataforma .Net con los componentes principales de su Framework, Librera de Clases (BCL) y Motor de Ejecucin (CLR), permiten entender cmo funciona esta plataforma y el entorno de desarrollo sobre el cual generar y ejecutar cdigo escrito en alguno lenguaje de programacinsoportadopor.Net.La plataforma .NET es un conjunto de tecnologas diseado por Microsoft que permiten el desarrollo y ejecucin de software, de forma independiente del lenguaje de programacin, modelo de objetos, sistema operativo, infraestructura de hardware y dispositivos donde se ejecuta.Esta combinacin tecnolgica la componen un entorno de trabajo, denominado .NET Framework y un conjunto de lenguajes .Net y herramientas de programacin que posibilitan el desarrollo de aplicaciones robustas, seguras y de alto rendimiento para diferentesambientes.Esta plataforma sumada a las utilidades y herramientas que dispone el Entorno de Desarrollo Integrado (IDE) Visual Studio .Net permite que tanto programadores como otros actores que intervienen en el ciclo de vida de desarrollo del software, puedan realizar de modo integrado un rpido desarrollo de aplicaciones en cualquiera lenguaje soportado por .Net.

    PlataformadeDesarrollo.NetLa plataforma .NET est construido sobre una arquitectura abierta (estndar ECMA335, ISO/IEC 23271), que permite generar y ejecutar tanto aplicaciones de escritorio, aplicaciones web,servicioswebcomoaplicacionesmviles.Uno de los objetivos de esta plataforma es simplificar el desarrollo al independizarse de la plataforma de hardware, del lenguaje de programacin utilizado y de los dispositivos donde sernejecutados.Laplataforma.NETproporcionaentreotrosaspectos:

    Un modelo de programacin coherente e independiente del lenguaje para todas las capasonivelesdeunaaplicacin.

    Unainteroperabilidadtransparenteentretecnologas. Unafcilmigracindesdetecnologasexistentes. Un completo soporte de tecnologas de Internet independientes de la plataforma y

    Autor: Porta Ezequiel Versin: Abril 2015 Pg.: 5 / 31

  • UTN Facultad Regional Rosario Ingeniera en Sistemas de Informacin Asignatura: Tecnologas de desarrollo de software IDE Contenidos Programa Analtico Plan 2008 (ver. 2010)

    Unidad 1: Plataforma y Entorno de

    Desarrollo Captulo 1:

    Plataforma de Desarrollo

    basadaenestndares,incluyendoHTTP,XMLySOAP.Estaconformadaporlassiguientesreastecnolgicas:

    Unentornodetrabajodenominado.NetFramework. UnconjuntodeLenguajes.NetyHerramientasdedesarrollo.

    Entornodetrabajo.NetFrameworkEn el mbito del desarrollo de software, un framework o infraestructura digital, es una 1estructura conceptual y tecnolgica de soporte definido, normalmente con artefactos o mdulos de software concretos, con base a la cual otro proyecto de software puede ser ms fcilmente organizado y desarrollado. Tpicamente, puede incluir soporte de programas, bibliotecas, y un lenguaje interpretado, entre otras herramientas, para as ayudar a diferentes actores que intervienen en el ciclo de vida del software y unir los diferentes componentes de unproyecto.Representa una arquitectura de software que modela las relaciones generales de las entidades del dominio, y provee una estructura y una especial metodologa de trabajo, la cual extiendeoutilizalasaplicacionesdeldominio.El .NET Framework es la infraestructura ofrecida por Microsoft donde aplicaciones y 2servicios son construidos y ejecutados, que por su naturaleza unificada permite que cualquier tipo de aplicacin sea desarrollada mediante herramientas comunes haciendo la integracin muchomssimple.

    Evolucindeversionesde.NetFrameworkEl .Net framework se encuentra en constante evolucin y crecimiento por lo que la empresa va liberando con el tiempo nuevas versiones que incorporan tanto mejoras de la funcionalidadexistentecomonuevosdesarrollosytecnologas.Se muestra un diagrama con las diferentes versiones que fueron surgiendo en un correlato

    1 En trminos generales segn el concepto deFramework en Wikipedia, es un conjunto estandarizado de conceptos, prcticas y criterios para enfocar un tipo de problemtica particular, que sirve como referencia paraenfrentaryresolverproblemasdendolesimilar.2 El .NET Framework se incluye en versiones del sistema operativo Windows Server 2008 y Windows Vista en adelante. De igual manera puede ser instalada en Windows XP, y en la familia de sistemas operativos Windows Server 2003. Una versin "reducida" de .NET Framework est disponible para la plataforma Windows Mobile y Phone, en telfonos inteligentes. Existen implementaciones en otros sistemasoperativoscomoporejemploelimplementadoporelProyectoMonoparaLinux.

    Autor: Porta Ezequiel Versin: Abril 2015 Pg.: 6 / 31

  • UTN Facultad Regional Rosario Ingeniera en Sistemas de Informacin Asignatura: Tecnologas de desarrollo de software IDE Contenidos Programa Analtico Plan 2008 (ver. 2010)

    Unidad 1: Plataforma y Entorno de

    Desarrollo Captulo 1:

    Plataforma de Desarrollo

    cronolgicoeneltiempo.

    Figura:Evolucindeversionesdel.NetFramework(hasta2014,vertablarelacionadasiguiente)La tabla siguiente relaciona .NET Framework, CLR y las versiones de Visual Studio y proporciona un breve revisin de cada versin. Tenga en cuenta que Visual Studio proporciona compatibilidad con mltiples versiones (multi-targeting), por lo que no est limitado a la versin de .NET Framework que se muestra.

    .Net Framework

    Incorporado al IDE

    Descripcin

    4.6 N/D En proceso (a Marzo 2015)

    4.5.2 Visual Studio 2013

    Incluye modificaciones menores sobre comportamiento de ciertos controles Windows Form, APIs para ASP.Net entre otros.

    4.5.1 Visual Studio 2013

    Incluye mejoras de rendimiento y depuracin, compatibilidad para el redireccionamiento de enlaces automtico y compatibilidad extendida para las aplicaciones de la Tienda Windows.

    4.5 Visual Studio 2012

    Inclua una versin actualizada de CLR 4, compatibilidad para compilar aplicaciones Tienda Windows y las actualizaciones para WPF, WCF, WF y ASP.NET.

    4 Visual Studio Presenta una nueva versin de CLR, bibliotecas de clases

    Autor: Porta Ezequiel Versin: Abril 2015 Pg.: 7 / 31

  • UTN Facultad Regional Rosario Ingeniera en Sistemas de Informacin Asignatura: Tecnologas de desarrollo de software IDE Contenidos Programa Analtico Plan 2008 (ver. 2010)

    Unidad 1: Plataforma y Entorno de

    Desarrollo Captulo 1:

    Plataforma de Desarrollo

    2010 base expandidas y nuevas caractersticas, como Managed Extensibility Framework (MEF), Dynamic Language Runtime (DLR) y contratos de cdigo.

    3.5 Visual Studio 2008

    Se agregaron nuevas caractersticas, como los sitios web habilitados para AJAX y LINQ. La actualizacin SP1 incorporaba datos dinmicos y un pequeo conjunto de mejoras adicionales.

    3.0 Visual Studio 2005

    Esta versin es esencialmente .NET Framework 2.0 con la incorporacin de Windows Presentation Foundation (WPF), Windows Communications Foundation (WCF), Windows Workflow Foundation (WF) y CardSpace. Se actualiz con SP1 y SP2.

    2.0 Visual Studio 2005

    Se incorpor una nueva versin de CLR con ampliaciones de las bibliotecas de clases base, que incluyen genricos, colecciones de genricos y ampliaciones significativas de ASP.NET. Esta versin se actualiz con el SP1 y el SP2.

    1.1 Visual Studio .NET 2003

    Inclua actualizaciones de ASP.NET y ADO.NET. Esta versin se actualiz dos veces posteriormente, con Service Pack 1 y (SP1) SP2. Esta versin incorporaba tambin la ejecucin en paralelo, lo que permite que las aplicaciones de un solo equipo ejecuten varias versiones de CLR.

    1.0 Visual Studio .NET

    Contena la primera versin de CLR y la primera versin de las bibliotecas de clases base.

    Nota: ver mas sobre la evolucin de las versiones de .Net Framework en el sitio MSDN .NET FrameworkVersionsandDependencies(MSDN)oen.NETFrameworkversionhistory

    ComponentesPrincipalesEsteentornodetrabajoestaformadopordoscomponentesprincipales:

    UnmotordeejecucinllamadoCommonLanguageRuntime(CLR)

    Autor: Porta Ezequiel Versin: Abril 2015 Pg.: 8 / 31

  • UTN Facultad Regional Rosario Ingeniera en Sistemas de Informacin Asignatura: Tecnologas de desarrollo de software IDE Contenidos Programa Analtico Plan 2008 (ver. 2010)

    Unidad 1: Plataforma y Entorno de

    Desarrollo Captulo 1:

    Plataforma de Desarrollo

    UnalibreradeclasesllamadaBaseClassLibrary(BCL)Nota: ms adelante en la seccin referida a la BCL, se muestra grficamente la evolucin de lalibreradeclasesbaserespectoalframework.

    CommonLanguageRuntime(CLR)El Common Language Runtime (CLR) maneja el cdigo en tiempo de ejecucin y provee 3una serie de servicios esenciales tales como la integracin de lenguajes, seguridad, manejo de tipos seguros, manejo de hilos (thread) y manejo de memoria, entre otras ventajas que proporcionaesteentornodeejecucinadministrado.Adems brinda un conjunto de herramientas y utilidades que permiten simplificar y facilitar la tarea del desarrollador, tales como herramientas de depuracin de errores (debugging), manejo de excepciones y uso de funcionalidad bsica y avanzada expuesta en la librera de clasescomnatodosloslenguajes.Net(BCL).El CLR es el verdadero ncleo del framework de .NET, entorno de ejecucin en el que se cargan las aplicaciones desarrolladas en los distintos lenguajes, ampliando el conjunto de servicios del sistema operativo. Permite integrar proyectos en distintos lenguajes soportados porlaplataforma.Net,comoC#,VisualBasic,C++,F#,entreotros.El CLR es el encargado de compilar una forma de cdigo intermedio llamada Common Intermediate Language (CIL) o tambin conocido como Microsoft Intermediate Language (MSIL), a cdigo mquina nativo (optimizado para el sistema operativo y el hardware donde correr la aplicacin), mediante una compilacin JIT (JustInTime) en tiempo de ejecucin a 4medida que el programa invoca mtodos. El cdigo ejecutable obtenido se almacena en la memoria cach del ordenador, siendo recompilado de nuevo slo en el caso de producirse algncambioenelcdigofuente.

    3ConocidocomoCLRporsussiglaseningls,hacenreferenciaalmotordeejecucinoruntime.4 Un compilador en tiempo de ejecucin, es aquel que utiliza una tcnica de compilacin dinmica para mejorarelrendimientodesistemasdeprogramacin.

    Autor: Porta Ezequiel Versin: Abril 2015 Pg.: 9 / 31

  • UTN Facultad Regional Rosario Ingeniera en Sistemas de Informacin Asignatura: Tecnologas de desarrollo de software IDE Contenidos Programa Analtico Plan 2008 (ver. 2010)

    Unidad 1: Plataforma y Entorno de

    Desarrollo Captulo 1:

    Plataforma de Desarrollo

    Figura:Procesodedesarrolloycompilacinen.Net

    El Entorno de Desarrollo cuenta con la asistencia de conjunto de compiladores , existiendo 5 6uno para cada lenguaje .Net soportado, cada uno de los cuales es el encargado de transformar el cdigo fuente escrito con la sintaxis propia del lenguaje utilizado, a un cdigo en un Lenguaje Intermedio (IL) comn a todos, conocido como CIL (Common Intermediate Language), que es entendido por el CLR. Para generarlo, el compilador se basa en la especificacin CLS (Common Language Specification) que determina las reglas necesariasparacrearelcdigoCILcompatibleconelCLR.

    ProcesodecompilacinyejecucindecdigoadministradoElprocesodeejecucinadministradaincluyelospasossiguientes:

    1. Elegiruncompilador .7Para obtener los beneficios que proporciona el Common Language Runtime, se deben utilizar uno o ms compiladores por cada lenguaje .Net utilizado para generar cdigo.

    2. CompilarelcdigoaLenguajeintermediodeMicrosoft(MSIL).La compilacin convierte el cdigo fuente en CIL (o MSIL) y genera los metadatos requeridos.

    3. CompilarMSILacdigonativo.En tiempo de ejecucin, un compilador JustInTime (JIT) convierte CIL en cdigo nativo. Durante esta compilacin, el cdigo debe pasar un proceso de comprobacin que examina el CIL y los metadatos para validar si el cdigo garantiza la seguridad de tipos,queesunodelosserviciosquerealizaelCLR.

    4. Ejecutarcdigo.

    5LlamadoIDEporsussiglaseninglsIntegratedDevelopmentEnvironment,talcomoVisualStudio6Cadalenguaje.Nettienesupropiocompilador.7 Considerando el uso del compilador del lenguaje especfico por lnea de comandos. Por ejemplo el compilador del lenguaje C# es csc.exe. Si se utiliza un entorno de desarrollo integrado (IDE) este paso y elsiguientelorealizaelmismoentornodemaneraautomtica.

    Autor: Porta Ezequiel Versin: Abril 2015 Pg.: 10 / 31

  • UTN Facultad Regional Rosario Ingeniera en Sistemas de Informacin Asignatura: Tecnologas de desarrollo de software IDE Contenidos Programa Analtico Plan 2008 (ver. 2010)

    Unidad 1: Plataforma y Entorno de

    Desarrollo Captulo 1:

    Plataforma de Desarrollo

    El CLR proporciona la infraestructura que permite que la ejecucin tenga lugar, as comounaampliagamadeserviciosquesepuedenutilizardurantelaejecucin.

    Figura:Procesodecompilacinyejecucindecdigoadministrado

    CdigoenLenguajeIntermedio(CILoMSIL)El cdigo en Lenguaje Intermedio de Microsoft (MSIL o CIL) es un conjunto de instrucciones independientedelaCPUquesepuedeconvertirdeformaeficazencdigonativo.MSIL incluye instrucciones para cargar, almacenar, inicializar y llamar a mtodos en los objetos, as como instrucciones para operaciones lgicas y aritmticas, flujo de control, accesodirectoalamemoria,controldeexcepcionesyotrasoperaciones.Antes de poder ejecutar cdigo, se debe convertir MSIL a cdigo especfico de la CPU, medianteunprocesodecompilacinJIT.EL CLR proporciona uno o varios compiladores JIT para cada arquitectura de equipo compatible, por lo que se puede compilar y ejecutar el mismo conjunto de MSIL en cualquier arquitecturacompatible.Cuando el compilador (especfico del lenguaje fuente utilizado) produce MSIL, tambin genera informacin adicional sobre el cdigo. Esta informacin describe los tipos que aparecen en el cdigo, incluidas las definiciones de los tipos, las firmas de los miembros de tipos, los miembros a los que se hace referencia en el cdigo y otros datos que el motor de

    Autor: Porta Ezequiel Versin: Abril 2015 Pg.: 11 / 31

  • UTN Facultad Regional Rosario Ingeniera en Sistemas de Informacin Asignatura: Tecnologas de desarrollo de software IDE Contenidos Programa Analtico Plan 2008 (ver. 2010)

    Unidad 1: Plataforma y Entorno de

    Desarrollo Captulo 1:

    Plataforma de Desarrollo

    ejecucinutilizaentiempodeejecucin.El IL y los datos adicionales, conocidos como MetaData, se incluyen en un archivo Ejecutable Portable (PE), que se basa y extiende el PE de Microsoft publicado y el formato Common Object File Format (COFF) utilizado tradicionalmente para contenido ejecutable. Este formato de archivo, que contiene cdigo MSIL o cdigo nativo as como metadata, permitealsistemaoperativoreconocerimgenesdeCommonLanguageRuntime.La presencia de metadatos junto con el Lenguaje intermedio de Microsoft (MSIL) permite crear cdigos autodescriptivos, con lo cual las bibliotecas de tipos y el Lenguaje de definicin deinterfaces(IDL)soninnecesarios.El motor de ejecucin localiza y extrae los metadatos del archivo cuando son necesarios durantelaejecucin.

    Ensamblados,ManifiestosyMetadatosLos componentes de cdigo, manejados y ejecutados por el CLR son conocidos como ensamblados (assemblies) y conforman la unidad bsica funcional de un desarrollo .Net que contienen cdigo IL, una coleccin de tipos, recursos y un manifiesto, el cual es un conjunto demetadatos quedescribesucontenido.8

    Figura:Ensamblado(assembly)

    8Elconceptodemetadato(ometadataeningls)serefiereaunconjuntodedatosquedescribenoexplicanotroconjuntodedatos.Verampliacindelconceptodemetadato

    Autor: Porta Ezequiel Versin: Abril 2015 Pg.: 12 / 31

  • UTN Facultad Regional Rosario Ingeniera en Sistemas de Informacin Asignatura: Tecnologas de desarrollo de software IDE Contenidos Programa Analtico Plan 2008 (ver. 2010)

    Unidad 1: Plataforma y Entorno de

    Desarrollo Captulo 1:

    Plataforma de Desarrollo

    Cada ensamblado (assembly) es almacenado como un archivo .exe o .dll y el .NET Framework los utiliza como unidad fundamental para diferentes propsitos, tales como los relativosaseguridad,identificacindetipos,alcancedereferencias,versionadoydespliegue.Los metadatos describen las dependencias e informacin de versionado asociado con el ensamblado que permite la ejecucin en paralelo de mltiples versiones diferentes de un mismoensambladosinqueestogenereconflicto .9

    DesensambladordeMSILPuede utilizar la utilidad ildasm.exe que forma parte del SDK para examinar y ver 10 11informacindelensamblado.

    Si quiere conocer ms sobre esta utilidad visite el sitio MSDN Entendiendo y utilizando Ensamblados y Espacios de Nombres en .Net, Cmo: Ver el contenido de un ensamblado obibliografasugeridaquetrataeltema.

    ComponentesdelCLREl CLR es el encargado de gestionar lo que se denomina cdigo administrado, y para ello cuenta con un conjunto de componentes que proveen una serie de servicios automticos al cdigoqueseejecuta.

    9 En relacin al desarrollo con versiones anteriores a .Net donde se generaban grandes inconvenientes conloqueseconocacomoelinfiernodelasdll

    10SideseasaberdondeencontrarlautilidadILDASM.exeveaestaentradadelBlogMSDN

    11 Un SDK (Software Development Kit Kit de Desarrollo de Software) es un conjunto de herramientas y programas de desarrollo que permite crear aplicaciones para un determinado paquete de software, estructura de software, plataforma de hardware, sistema de computadora, consulta de videojuego, sistema operativo o similar. Pueden incluir herramientas de debugger, cdigos de ejemplos, documentacin,ymuchasvecesunentornodeprogramacinIDE.

    Autor: Porta Ezequiel Versin: Abril 2015 Pg.: 13 / 31

  • UTN Facultad Regional Rosario Ingeniera en Sistemas de Informacin Asignatura: Tecnologas de desarrollo de software IDE Contenidos Programa Analtico Plan 2008 (ver. 2010)

    Unidad 1: Plataforma y Entorno de

    Desarrollo Captulo 1:

    Plataforma de Desarrollo

    Grfico:ComponentesprincipalesdelCLREntrelosserviciosvariadosquecuentaseencuentranlossiguientes:

    CargadordeClases(ClassLoader):permitecargarenmemorialasclases. Compilador MSIL a nativo (MSIL to Native Compilers): transforma cdigo intermedio

    de alto nivel independiente del hardware que lo ejecuta a cdigo de mquina propio deldispositivoqueloejecuta.

    Administrador de Cdigo (Code Manager): coordina toda la operacin de los distintossubsistemasdelCommonLanguageRuntime.

    Recolector de Basura (Garbage Collector): elimina de memoria objetos no utilizados automticamente.

    Motor de Seguridad (Security Engine): administra la seguridad del cdigo que se ejecuta.

    Motor de Depuracin (Debug Engine): permite hacer un seguimiento de la ejecucin delcdigoancuandoseutilicenlenguajesdistintos.

    Verificador de Tipos (Type Checker): controla que las variables de la aplicacin usen elreadememoriaquetienenasignado.

    Administrador de Excepciones (Exception Manager): maneja los errores que se producendurantelaejecucindelcdigo.

    Soporte de Multiproceso (hilos) (Thread Support): permite desarrollar aplicaciones queejecutencdigoenformaparalela.

    Empaquetador de COM (COM Marshaler): coordina la comunicacin con los componentesCOMparaquepuedanserusadosporel.NETFramework.

    Soporte de la Biblioteca de Clases Base (BCL Support): que incluye soporte para muchasfuncionalidadescomunesenlasaplicaciones.

    Autor: Porta Ezequiel Versin: Abril 2015 Pg.: 14 / 31

  • UTN Facultad Regional Rosario Ingeniera en Sistemas de Informacin Asignatura: Tecnologas de desarrollo de software IDE Contenidos Programa Analtico Plan 2008 (ver. 2010)

    Unidad 1: Plataforma y Entorno de

    Desarrollo Captulo 1:

    Plataforma de Desarrollo

    InfraestructuraComndeLenguajes(CLI)La Infraestructura Comn de Lenguajes (CLI por sus siglas en ingls Common Language Infrastructure) es una especificacin estandarizada que describe un entorno virtual para la ejecucin de aplicaciones, cuya principal caracterstica es la de permitir que aplicaciones escritas en distintos lenguajes de alto nivel puedan luego ejecutarse en mltiples plataformas tanto de hardware como de software sin necesidad de reescribir o recompilar su cdigo fuente.La especificacin del CLI est formada por un Sistema Comn de Tipos, (CTS por sus siglas en ingls de Common Type System), Metadatos y Especificacin Comn del Lenguaje(CLSporsussiglaseninglsdeCommonLanguageSpecification).Debido a la publicacin de la norma para la Infraestructura Comn de Lenguajes (CLI), el desarrollo de lenguajes se facilita, por lo que el marco de trabajo .NET soporta una variada gamas de lenguajes de programacin y es posible desarrollar cualquiera de los tipos de aplicaciones soportados por la plataforma con cualquiera de ellos, lo que elimina las diferenciasqueexistanentreloqueeraposiblehacerconunouotrolenguaje.Entre algunos de los lenguajes desarrollados para el marco de trabajo .NET encontramos a C#, Visual Basic .NET, Delphi (Object Pascal), C++, F#, J#, Perl, Python, Fortran, Prolog, CobolyPowerBuilder.

    SistemadeTiposComunes(CTS:CommonTypeSystem)En un sentido amplio, un Tipo de datos define un conjunto de valores y las operaciones que sepuedenrealizarsobreestosvalores.El Sistema de Tipos Comn (CTS) es un estndar (ECMA 355) implementado en el .Net 12Framework, que especifica cmo se declaran, utilizan y administran los tipos en el motor de ejecucin (runtime). Es tambin una parte importante de la compatibilidad en tiempo de ejecucinconlaintegracinentrelenguajes.Elsistemadetiposcomnrealizalasfuncionessiguientesentreotras:

    12LaespecificacinparaelCTSseencuentraenelestndarECMA355quedefinelaarquitecturadelaInfraestructuraComndelLenguaje"(CLI:CommonLanguageInfrastructure)yMicrosoft.NETesunaimplementacindelanorma.OtroestndareselECMA334quedefinelaEspecificacindelLenguajeC#.

    Autor: Porta Ezequiel Versin: Abril 2015 Pg.: 15 / 31

  • UTN Facultad Regional Rosario Ingeniera en Sistemas de Informacin Asignatura: Tecnologas de desarrollo de software IDE Contenidos Programa Analtico Plan 2008 (ver. 2010)

    Unidad 1: Plataforma y Entorno de

    Desarrollo Captulo 1:

    Plataforma de Desarrollo

    Establece un marco de trabajo que ayuda a permitir la integracin entre lenguajes, la seguridaddetiposyunaltorendimientoenlaejecucindecdigo..

    Proporciona un modelo orientado a objetos que admite la implementacin completa demuchoslenguajesdeprogramacin.

    Define reglas que deben seguir los lenguajes, lo que ayuda a garantizar que los objetosescritosendistintoslenguajespuedaninteractuarunosconotros.

    Proporciona una biblioteca que contiene los tipos de datos primitivos (como Boolean, Byte,Char,Int32yUInt64)utilizadoseneldesarrollodeaplicaciones.

    ClasificacindeTiposEl CTS soporta dos categoras generales de tipos, que a su vez se dividen en subcategoras. TodoslostiposderivandeltipobaseSystem.Object.

    Grfico:SistemadeTiposComunes(CTS)TiposdeValorLos tipos de (o por) valor contienen directamente sus datos y las instancias de los tipos de valor se almacenan en la pila (stack) o se asignan en lnea en una estructura. Los tipos de valor pueden ser integrados (o Incorporados, implementados por el motor en tiempo de ejecucin), definidos por el usuario o enumeraciones. Para obtener una lista de los tipos devalorintegrados,veaBibliotecadeclasesde.NETFramework.TiposdeReferenciaLos tipos de referencia guardan una referencia a la direccin en memoria del valor y se asignan en un sistema de cola (Heap). Los tipos de referencia pueden ser tipos autodescriptivos, punteros o de interfaz. A su vez los tipos autodescriptivos se dividen en

    Autor: Porta Ezequiel Versin: Abril 2015 Pg.: 16 / 31

  • UTN Facultad Regional Rosario Ingeniera en Sistemas de Informacin Asignatura: Tecnologas de desarrollo de software IDE Contenidos Programa Analtico Plan 2008 (ver. 2010)

    Unidad 1: Plataforma y Entorno de

    Desarrollo Captulo 1:

    Plataforma de Desarrollo

    matrices y clases. Los tipos de clase pueden ser definidas por el usuario, tipos de valor a los quesehaaplicadolaconversinboxingydelegados.Las variables que son tipos de valor tienen, cada una, su propia copia de los datos y, por lo tanto, las operaciones en una variable no afectan a las dems. Las variables que son tipos de referencia pueden hacer referencia al mismo objeto y, por lo tanto, las operaciones en unavariablepuedenafectaralmismoobjetoalquehacereferenciaotravariable.En el siguiente ejemplo se muestra la diferencia entre los tipos de referencia y los tipos de valor.[C#] using System; class Class1 { public int Value = 0; } class Test { static void Main() { int val1 = 0; int val2 = val1; val2 = 123; Class1 ref1 = new Class1(); Class1 ref2 = ref1; ref2.Value = 123; Console.WriteLine("Values: {0}, {1}", val1, val2); Console.WriteLine("Refs: {0}, {1}", ref1.Value, ref2.Value); } } Elresultadodelcdigoanterioreselsiguiente:Values: 0, 123 Refs: 123, 123 DiagramadeClasificacindeTiposEl diagrama siguiente ilustra cmo se relacionan las diferentes categoras y subcategorias de los distintos tipos. Tenga en cuenta que las instancias de los tipos pueden ser simplemente tiposdevalorotiposautodescriptivos,aunquehayasubcategorasdeestostipos.

    Autor: Porta Ezequiel Versin: Abril 2015 Pg.: 17 / 31

  • UTN Facultad Regional Rosario Ingeniera en Sistemas de Informacin Asignatura: Tecnologas de desarrollo de software IDE Contenidos Programa Analtico Plan 2008 (ver. 2010)

    Unidad 1: Plataforma y Entorno de

    Desarrollo Captulo 1:

    Plataforma de Desarrollo

    Grfico:CategorasysubcategorasdelCTSPara obtener ms informacin sobre cada tipo, vea tipos de valor, enumeraciones, clases, delegados, matrices, interfaces y punteros. Tambin puede consultar en MSDN el tema Tipos(GuadeprogramacindeC#)Si desea ampliar contenidos sobre este tema puede consultar el Sistema de Tipos ComunesenelMSDN,http://msdn.microsoft.com/eses/library/zcx1eb1e(v=vs.80).aspx

    EspecificacinComndeLenguajes(CLS)Para poder interactuar completamente con otros objetos, sea cual fuere el lenguaje en que se hayan implementado, los objetos deben exponer slo aquellas caractersticas que sean comunes para todos los lenguajes con los que deben interoperar. Por este motivo, se ha definido el Common Language Specification (CLS), que es un conjunto de caractersticas bsicas del lenguaje, requeridas por la mayora de las aplicaciones que establece los requisitosdecompatibilidad.Las reglas de CLS definen un subconjunto del Sistema de Tipos Comunes, es decir, todas las reglas que se aplican al sistema de tipos comn se aplican tambin a CLS, salvo que se definanreglasmsestrictasenCLS.Nota:puedeampliarsuconocimientosobreeltemaCLSenelsitioMSDN

    Autor: Porta Ezequiel Versin: Abril 2015 Pg.: 18 / 31

  • UTN Facultad Regional Rosario Ingeniera en Sistemas de Informacin Asignatura: Tecnologas de desarrollo de software IDE Contenidos Programa Analtico Plan 2008 (ver. 2010)

    Unidad 1: Plataforma y Entorno de

    Desarrollo Captulo 1:

    Plataforma de Desarrollo

    BaseClassLibrary(BCL)Este componente esencial del .Net Framework provee un extenso conjunto de soluciones predefinidas y unificadas para necesidades generales bsicas y avanzadas de la programacin de aplicaciones, totalmente orientada a objetos, organizadas en una jerarqua declasesllamadaBaseClassLibrary(BCL)Las clases unificadas de .NET proporcionan un mtodo coherente de acceso a la funcionalidad de la plataforma. Si aprende a utilizar la biblioteca de clases, observar que todas las tareas siguen la misma arquitectura uniforme. Ya no necesitar aprender ni administrardistintasarquitecturasAPIparaescribirlasaplicaciones.Provee una coleccin de tipos y cdigo orientado a objetos reusable para la mayora de las tareas comunes que se encuentran involucradas en el desarrollo de aplicaciones, incluyendo entre otras el acceso y manejo de datos y el desarrollo de formularios Windows, Web y ServiciosWebXML.Como para dar una idea de algunas de las operaciones comunes que ofrece podemos nombrarlassiguientes:

    Interaccinconlosdispositivosperifricos. Accesoaunavariadagamadefuentesdedatos. TareasdeI/O Manejodedatos(ADO.NET). Transmisinyrecepcindedatospordistintosmedios(XML,TCP/IP) Administracin de componentes Web que corren tanto en el servidor como en el

    cliente(ASP.NET). Cifradodedatos. Manejoyadministracindeexcepciones. Manejodelsistemadeventanas(WindowsForm). Herramientasdedesplieguedegrficos(GDI+). Manipulacindearchivosdeimgenes. Herramientasdeseguridadeintegracinconlaseguridaddelsistemaoperativo. Manejodetiposdedatosunificado. Interaccinconotrasaplicaciones. Manejodecadenasdecaracteresyexpresionesregulares. Manejodearreglosdedatosycolecciones. Operacionesaritmticas. Aleatoriedad. Manipulacindefechas,zonashorariasyperiodosdetiempo.

    Autor: Porta Ezequiel Versin: Abril 2015 Pg.: 19 / 31

  • UTN Facultad Regional Rosario Ingeniera en Sistemas de Informacin Asignatura: Tecnologas de desarrollo de software IDE Contenidos Programa Analtico Plan 2008 (ver. 2010)

    Unidad 1: Plataforma y Entorno de

    Desarrollo Captulo 1:

    Plataforma de Desarrollo

    ManejodeidiomasyLocalizacin. InteraccinconelAPIWin32oWindowsAPI. Administracindememoria. Generacindecdigo. Autodescripcindecdigo. Compilacindecdigo

    Provee un conjunto amplio de interfaces, adems de clases abstractas y concretas. Las clases concretas estn disponibles para ser utilizadas, pero tambin extenderlas, a partir de herencia. Para utilizar la funcionalidad de una interfase, se puede crear una clase que la implementeoderivarunaclasedelasclasesdelFrameworkqueyalaimplementan.Estas libreras que son parte fundamental del .Net Framework , se encuentran, al igual que 13este,enconstanteevolucinyactualizacinconcadanuevaversinliberada.

    OrganizacindelaBCLLa Biblioteca de Clases Base adems de seguir un sistema jerrquico de clases se encuentra organizada por medio de espacios de nombres (namespaces) que concentra clases de funcionalidadafin.Existen grupos de tecnologas claves incluidas en la BCL, tales como ASP.NET, Servicios WebXML,WindowsForms,ADO.NETyotrasquesemuestranenelsiguientegrfico.

    13VeaelconjuntodeespaciosdenombresabarcadosporlaLibreradel.NetFrameworkenelsitioMSDN

    Autor: Porta Ezequiel Versin: Abril 2015 Pg.: 20 / 31

  • UTN Facultad Regional Rosario Ingeniera en Sistemas de Informacin Asignatura: Tecnologas de desarrollo de software IDE Contenidos Programa Analtico Plan 2008 (ver. 2010)

    Unidad 1: Plataforma y Entorno de

    Desarrollo Captulo 1:

    Plataforma de Desarrollo

    Figura:Arquitecturadel.NETFramework.ASP.NET:permiteeldesarrollodepginasWebbajoelmodeloWebForms.ASP.NET MVC: permite el desarrollo web, basado en el patrn ModelViewController (esto fueincorporadoapartirdelSP1de.NETFramework3.5).AJAX: permite una interaccin asncrona desde el Browser del cliente, con el servidor Web denuestraaplicacin.ADO.NET: conjunto de clases que exponen servicios de acceso a datos que permiten conectarse a diferentes orgenes tales como base de bases relacionales (motores MS SQL Server, Oracle entre otros o expuestos mediante OLE DB y ODBC), XML y de aplicaciones y recuperar,manipularyactualizarlosdatoscontenidos.LINQ (Language Integrated Query): permite emplear sintaxis de consulta para diferentes tiposdeorgenesdedatos,ejemplo:colecciones,DataSets,XML.Entity Framework: permite manejar un modelo de objetos para diferentes orgenes de datos, manejandolapersistenciadedatos(operacionescontraunorigen),basadoencdigo.NET.WinForm (Windows Forms): modelo de desarrollo de aplicaciones cliente de escritorio usandoFormulariosWindowsquecuentaconunavariedaddecontroles.WPF (Windows Presentation Foundation): permite la mejora visual de las aplicaciones a

    Autor: Porta Ezequiel Versin: Abril 2015 Pg.: 21 / 31

  • UTN Facultad Regional Rosario Ingeniera en Sistemas de Informacin Asignatura: Tecnologas de desarrollo de software IDE Contenidos Programa Analtico Plan 2008 (ver. 2010)

    Unidad 1: Plataforma y Entorno de

    Desarrollo Captulo 1:

    Plataforma de Desarrollo

    travs del uso de XAML (eXtensible Application Markup Language), el WPF incorpora como mejoraprincipalelusodelosaceleradoresdegrfico(Codecs)WCS (Windows CardSpace) permite el uso de tokens de identificacin para aplicaciones que ejecutenbajoWindowsXPSP2superior.WWF (Windows Workflow Foundation) permite implementar procesos de negocio basados en Workflows, y podemos integrarlo con otras plataformas como Microsoft Office SharePoint Server2007(MOSS).WCF (Windows Communication Foundation) permite implementar servicios para aplicaciones distribuidas, y es la plataforma base actual de Microsoft para la construccin de soluciones basadasenSOA(ServicesOrientedArchitecture).XML: permite manipular y aprovechar funciones del estndar XML orientado principalmente a lainteroperabilidadentrelossistemas.EvaluacindetecnologasincluidasenlaBCLsegnlaevolucindel.NetFramework

    Fuente:Wikipedia

    EspaciodeNombres(Namespaces)Un namespace se utiliza para declarar un mbito que permite organizar el cdigo y proporcionaunaformadecreartiposglobalmentenicos.

    Autor: Porta Ezequiel Versin: Abril 2015 Pg.: 22 / 31

  • UTN Facultad Regional Rosario Ingeniera en Sistemas de Informacin Asignatura: Tecnologas de desarrollo de software IDE Contenidos Programa Analtico Plan 2008 (ver. 2010)

    Unidad 1: Plataforma y Entorno de

    Desarrollo Captulo 1:

    Plataforma de Desarrollo

    Dentrodeunespaciodenombres,sepuedendeclararunoovariosdelossiguientestipos:

    otroespaciodenombres clase(class) interfaz struct enum delegado(delegate)

    Aunque declare explcitamente un espacio de nombres en un archivo de cdigo fuente (de C# por ejemplo), el compilador agrega un espacio de nombres predeterminado. Este espacio de nombres sin denominacin, a veces denominado espacio de nombres global, est presente en todos los archivos. Cualquier identificador del espacio de nombres global puede utilizarsetambinenunespaciodenombresdeclarado.De todos modos se recomienda incluir su cdigo siempre dentro de un namespace utilizando comoconvencinalgenerarloslasiguiente:CompanyName.TechnologyName.Los espacios de nombres disponen implcitamente de un acceso pblico que no puede modificarse. Para obtener una descripcin de los modificadores de acceso que se pueden asignar a los elementos de un espacio de nombres, consulte Modificadores de Acceso. Un espaciodenombressepuededefinirendosomsdeclaraciones.El espacio de nombres principal y ms bsico es el System donde se encuentran la definicin de los tipos de datos nativos del .NET Framework, tales como: Int32, Int64, Boolean,String,etc.

    SoporteamltiplesLenguajesdeProgramacinLa plataforma .Net soporta una gran variedad de lenguajes, dentro de los que se 14encuentran los desarrollados por el propio Microsoft, tales como C# , Visual Basic .NET, 15C++, J# y recientemente F# (lenguaje funcional) o los desarrollados por otros fabricantes 16

    14PuedeverundetalledelosLenguajesdeProgramacin.NetenelsitioMSDN

    15 Lenguaje totalmente nuevo con la aparicin de .Net cuya sintaxis tiene muchas similitudes a C con una plenaimplementacindelParadigmaOrientadoaObjetos(POO).

    16Lenguajemultiparadigmaqueconjugalaprogramacinfuncionalconlaimperativaydeobjetos,creadoporDonSymedelequipodeinvestigacindeMicrosoftsoportadoapartirdeVisualStudio2010.

    Autor: Porta Ezequiel Versin: Abril 2015 Pg.: 23 / 31

  • UTN Facultad Regional Rosario Ingeniera en Sistemas de Informacin Asignatura: Tecnologas de desarrollo de software IDE Contenidos Programa Analtico Plan 2008 (ver. 2010)

    Unidad 1: Plataforma y Entorno de

    Desarrollo Captulo 1:

    Plataforma de Desarrollo

    tales como, Cobol, Python , Delphi (Object Pascal), Perl, Python, Fortran, Prolog y 17PowerBuilderentreotros.Los lenguajes de programacin de la plataforma .NET, utilizan los servicios y caractersticas de.NETFrameworkatravsdeunconjuntocomndeclasesunificadas,laBCL.En la mayora de las situaciones, puede utilizar de manera eficiente todos los lenguajes de programacin. Sin embargo, cada lenguaje tiene sus puntos fuertes, y es recomendable comprenderlascaractersticasnicasparacadaunodeellos.La eleccin de un lenguaje de programacin depende de sus conocimientos del lenguaje y del mbito de la aplicacin que est generando. Las aplicaciones de pequeo tamao se suelen crear utilizando un nico lenguaje, y en otros casos pueden utilizarse ms de uno de acuerdoalosrequerimientosparticularesdelasolucin.

    17Unaimplementacindecdigoabierto(opensource)dePythonesIronPythonhttp://ironpython.net.

    Autor: Porta Ezequiel Versin: Abril 2015 Pg.: 24 / 31

  • UTN Facultad Regional Rosario Ingeniera en Sistemas de Informacin Asignatura: Tecnologas de desarrollo de software IDE Contenidos Programa Analtico Plan 2008 (ver. 2010)

    Unidad 1: Plataforma y Entorno de

    Desarrollo Captulo 1:

    Plataforma de Desarrollo

    ResumendelaUnidad/CaptuloIMPORTANTE: los contenidos desarrollados en esta seccin no son completos, sino que son un mini resumen de conceptos generales de los temas de mayor importancia de la unidad/captulo a modo de repaso general de los mismos una vez completada la lectura del mismo.Microsoft .Net es una plataforma formada por un conjunto de tecnologas que permiten el desarrolloyejecucindesoftwarebajoel.NetFramework.El .Net Framework es el entorno de trabajo de la plataforma .Net, completamente orientado aobjetos,cuyoscomponentesprincipalesson:

    ElmotordeejecucinCommonLanguageRuntime(CLR) LalibreradeclasesBaseClassLibrary(BCL)

    El Common Runtime Language (CLR) es el motor de ejecucin comn a todos los lenguajes soportados por la plataforma .Net entre los que se destacan C#, Visual Basic .NET, C++, J# y recientemente F# (lenguaje funcional) desarrollados por Microsoft y otros tantos 18desarrollados por terceros tales, como Cobol, Python, Delphi (Object Pascal), Perl, Python, Fortran,PrologyPowerBuilderentreotros.Cada lenguaje de programacin tiene su propio compilador e intrprete de su sintaxis propia, que debe cumplir las normas del CLS, CLI y CTS, aunque todos, luego al compilar, generan cdigoMSIL.El Lenguaje Intermedio de la plataforma conocido como Microsoft Intermediate language (MSIL), es el lenguaje intermedio al que compilan las aplicaciones (Assemblies) .NET. Este lenguajeintermedioesinterpretadoporelCRLentiempodeejecucin.CommonLanguageSpecification(CLS)Define el conjunto de caractersticas que todo lenguaje compatible con .NET debera soportar.El Common Language Specification (CLS), es la Especificacin Comn a todos los Lenguajes .Net, que engloban las pautas que deben cumplir estos para poder ser soportados porlaplataformayquepermitiraotrascompaasproducirlenguajescompatiblescon.NET.

    18 Lenguaje multiparadigma que implementa el lenguaje funcional, creado por Don Syme del equipo de investigacindeMicrosoft.

    Autor: Porta Ezequiel Versin: Abril 2015 Pg.: 25 / 31

  • UTN Facultad Regional Rosario Ingeniera en Sistemas de Informacin Asignatura: Tecnologas de desarrollo de software IDE Contenidos Programa Analtico Plan 2008 (ver. 2010)

    Unidad 1: Plataforma y Entorno de

    Desarrollo Captulo 1:

    Plataforma de Desarrollo

    Debido a la publicacin de la norma para la infraestructura comn de lenguajes (CLI por sus siglas en ingls), el desarrollo de lenguajes se facilita, por lo que el marco de trabajo .NET soporta ya ms de 20 lenguajes de programacin y es posible desarrollar cualquiera de los tipos de aplicaciones soportados en la plataforma con cualquiera de ellos, lo que elimina las diferenciasqueexistanentreloqueeraposiblehacerconunouotrolenguaje.La Librera (o biblioteca) de Clases Base (BCL) de .NET, es el conjunto de clases unificada para toda la plataforma que componen el .NET framework y que permiten realizar casi cualquiertareadeunamanerafcilyrpida.EntrelasconjuntosdeclasesquecontienelaBCLseencuentran:ADO.NET, que es la nueva interfaz de bases de datos. No se trata de una evolucin de ADO, sino que se trata de una interfaz completamente nueva para el manejo de datos en la aplicacin.Windows Form cuenta con un conjunto de clases y mtodos que permite el desarrollo de aplicacionesclientedeescritorio.ASP.NET, es la tecnologa para el desarrollo de pginas web dinmicas que reemplaz al clsicoASP,completamenteintegradadentrodelentorno.NET.Lenguajes.NetsoportadosCualquier lenguaje que sea acorde a la Common Language Specification (CLS) puede ejecutarse sobre la CLR. En .NET Framework, Microsoft provee Visual C#, Visual Basic .Net, Visual C++, Visual J# o F#. Terceros proveer nuevos lenguajes tales como implementaciones dePython,Pascal,Eiffel,Cobol,SmalltalkyADAentreotros.

    Autor: Porta Ezequiel Versin: Abril 2015 Pg.: 26 / 31

  • UTN Facultad Regional Rosario Ingeniera en Sistemas de Informacin Asignatura: Tecnologas de desarrollo de software IDE Contenidos Programa Analtico Plan 2008 (ver. 2010)

    Unidad 1: Plataforma y Entorno de

    Desarrollo Captulo 1:

    Plataforma de Desarrollo

    Autoevaluacin1. Queslaplataforma.Netycmofunciona?2. QueselFramework.Net?Cualessonsuscomponentesprincipalesyquefuncin

    yutilidadtienecadauno?3. QueeselmotordeejecucinCLRde.Net,quefuncindesempeaydequ

    manera?4. DequesetratalaLibreradeClasesBase(BCL)?Nombrealgunascaractersticasy

    componentesdelamisma.5. Expliciteyexpliquelasreastecnologasdefuncionescomunesagrupadasenla

    BCL.6. DequesetrataelRecolectordeBasura(GarbageCollector),dequeformaparte,

    cualessurol(ofuncin)ycmofunciona?7. DequesetrataelCTS?Dequformaestorganizado?8. CualesladiferenciaentrelosTiposporReferenciayporValor?Citarejemplosde

    cadauno.9. DequesetratalaSeguridaddeTipos?10. DequesetrataelMSIL?11. Enquconsisteelprocesodecompilacinyejecucindelcdigodesarrolladoen

    .Net?12. Aqueserefiereelconceptodecdigomanejadoointerpretado?Cualesla

    diferenciaentrecdigomanejadoynomanejado?13. Dequesetrataunensamblado(assembly)?QuerelacintieneconMSIL(oCIL)?14. AqunosreferimosconMetadata?Nombrealgunascaractersticasdesu

    contenido.15. DequesetratalacompilacinJIT(JustInTime)?Dondesellevaacaboycuando?16. ExpliquedequsetrataelCLSyrelacineloconelCTS?17. DequesetrataelCLI:CommonLanguageInfrastructure?Cualessonlaspartes

    principalesdelaarquitecturaCLI?Queyquienlodefine?Nombreunejemploequivalentedesuimplementacin?

    18. QueeslaECMA335,ISO/IEC23271?Qucaractersticastieneycualessuobjetivo?Deejemplosdesuimplementacin?

    19. Qucaractersticasdebentenerloslenguajessoportadosporlaplataforma.Net?Nombrealgunosejemplosdelenguajessoportados.

    20. Loslenguajes.Netsondesarrolladosporunnicofabricante?Cadalenguajetienesupropiocompilador?Elcdigogeneradoporelcompiladoraquelenguajelotraduce?

    Autor: Porta Ezequiel Versin: Abril 2015 Pg.: 27 / 31

  • UTN Facultad Regional Rosario Ingeniera en Sistemas de Informacin Asignatura: Tecnologas de desarrollo de software IDE Contenidos Programa Analtico Plan 2008 (ver. 2010)

    Unidad 1: Plataforma y Entorno de

    Desarrollo Captulo 1:

    Plataforma de Desarrollo

    Autor: Porta Ezequiel Versin: Abril 2015 Pg.: 28 / 31

  • UTN Facultad Regional Rosario Ingeniera en Sistemas de Informacin Asignatura: Tecnologas de desarrollo de software IDE Contenidos Programa Analtico Plan 2008 (ver. 2010)

    Unidad 1: Plataforma y Entorno de

    Desarrollo Captulo 1:

    Plataforma de Desarrollo

    Bibliografa 19IMPORTANTE: Se sugiere buscar bibliografa adicional a la citada aqu, en el buscador disponibleenBibliotecaUTNRosario.BALENA,FrancescoProgramacinavanzadaconMicrosoftVisualBasic.Net.,Madrid,McGrawHill,2003.ISBN:8448137159Captulo8Tiposbsicosde.Netframeworky14EnsambladosyappDomainsEjemplaresDisponibles:enbibliotecaFOXALL,JamesVisualC#2005.,Madrid,Anaya,2006.ISBN:9788441521216Captulo24Visingeneralde.NETframeworkDisponibilidad:enbibliotecaHILLAR,Gastn,VisualBasic2005y.Net2.0.BuenosAires,Hasa,2007.ISBN:9789505282760Captulo1IntroduccinalEntornodeDesarrollo.NetDisponibilidad:enbibliotecaMACKENZIE,DuncanySHARKEY,Kent.AprendiendovisualBasic.Neten21leccionesavanzadas.Mxico,Pearson,2003.ISBN:970260379xCaptulo8Presentacindel.NETFrameworky17Usodel.NETFrameworkDisponibilidad:enbibliotecaSHARP,John.VisualC#2008:pasoapaso.Madrid,Anaya,2008. ISBN:9788441524491Captulo1BienvenidoaC#Disponibilidad:enbiblioteca

    19 La Bibliografa est organizada en una primer seccin de libros impresos, ordenados alfabticamente por apellido del autor, muchos de ellos disponibles en Biblioteca de UTN Rosario en cuyo caso aparecer un enlace a los datos de la publicacin que figuran en lnea en el buscador del sitio web de la biblioteca. Seguido se detallan aquellos recursos digitales ya sean otros libros disponibles en dicho formato que podr encontrar en el aula virtual o de alguna otra fuente de informacin como pueden ser los libros en lnea del MSDN del sitio oficial de Microsoft o sitios de empresas o profesionales que poseencontenidosdevalor.

    Autor: Porta Ezequiel Versin: Abril 2015 Pg.: 29 / 31

  • UTN Facultad Regional Rosario Ingeniera en Sistemas de Informacin Asignatura: Tecnologas de desarrollo de software IDE Contenidos Programa Analtico Plan 2008 (ver. 2010)

    Unidad 1: Plataforma y Entorno de

    Desarrollo Captulo 1:

    Plataforma de Desarrollo

    FuentesDigitales+MicrosoftDeveloperNetwork(MSDN)OnLine:http://msdn.microsoft.com

    Framework.Net:http://msdn.microsoft.com/enus/library/a4t23ktk.aspxVersionesdel.NetFramework:http://msdn.microsoft.com/eses/library/bb822049.aspxCommonLanguageRuntime:

    http://msdn.microsoft.com/esar/library/8bs2ecf4(v=vs.80).aspxMetadatos:http://msdn.microsoft.com/eses/library/4y7k7c6k(v=vs.80).aspxEnsambladosyEspaciosdenombres:

    http://msdn.microsoft.com/enus/library/ms973231.aspxLenguajesdeprogramacion.Net:

    http://msdn.microsoft.com/eses/library/aa292164(v=vs.71).aspxF#:http://msdn.microsoft.com/eses/magazine/cc164244.aspx

    +ArtculoIntroduccina.NETensitiowebDVJokerhttp://www.devjoker.com/contenidos/Articulos/25/Introducci%C3%B3naNET.aspx+Wikipedia,conceptosgenricosyespecficos:

    Microsoft.Net:http://es.wikipedia.org/wiki/Microsoft_.NETFramework.Net:http://en.wikipedia.org/wiki/.NET_FrameworkCommonLanguageRuntime:

    http://es.wikipedia.org/wiki/Common_Language_RuntimeCompilacinentiempodeejecucin:

    http://es.wikipedia.org/wiki/Compilaci%C3%B3n_en_tiempo_de_ejecuci%C3%B3n

    Autor: Porta Ezequiel Versin: Abril 2015 Pg.: 30 / 31

  • UTN Facultad Regional Rosario Ingeniera en Sistemas de Informacin Asignatura: Tecnologas de desarrollo de software IDE Contenidos Programa Analtico Plan 2008 (ver. 2010)

    Unidad 1: Plataforma y Entorno de

    Desarrollo Captulo 1:

    Plataforma de Desarrollo

    HistorialdeVersionesVersin Fecha Autor Detalle

    1.0 12/03/2012

    EzequielPorta Versin inicial de la Unidad 1 Plataforma y Entorno de Desarrollo

    1.1 21/03/2012

    EzequielPorta Ultimos agregados y modificaciones y generacin de una primer versin publicable, previa consulta y revisin de docentesdelactedra.

    1.2 23/07/2013

    EzequielPorta Correccionesmenoresyagregadodegrficosobretecnologasincluidascomoevolucindel.NetFramework

    1.3 01/04/2015

    EzequielPorta AdaptacinaorganizacinProgramaAnalitico2014dondeUnidad1y2seunificanconvirtindosecadaencaptulosdelamismaUnidad1.Correccionesyagregadosmenoresenparticularlorelativoalaevolucindel.NetFramework

    Autor: Porta Ezequiel Versin: Abril 2015 Pg.: 31 / 31