La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Iniciativa Microsoft Multiplataforma

Presentaciones similares


Presentación del tema: "Iniciativa Microsoft Multiplataforma"— Transcripción de la presentación:

1 Iniciativa Microsoft Multiplataforma
Bienvenidos Iniciativa Microsoft Multiplataforma Angel “Java” López (VMP) Diego González (VMP)

2 Proyectos de código abierto
Agenda Introducción Standard CLI Implementaciones Microsoft .NET SSCLI (ROTOR) Proyecto Mono PNet OCL Proyectos de código abierto NAnt, NDoc, NUnit, SharpDevelop, Workspaces

3 Introducción

4 Nuevo modelo de desarrollo y ejecución
Introduccion Nuevo modelo de desarrollo y ejecución Lenguajes orientados a objetos Basado en “máquinas virtuales” Amplia biblioteca de clases Necesidad de un entorno de desarrollo (IDE) SDKs muy completos Compiladores Documentación Herramientas

5 Nueva capa de software base para las aplicaciones
Maquinas Virtuales Nueva capa de software base para las aplicaciones Aplicaciones (EXE) Aplicaciones (EXE) Maquina Virtual Sistema Operativo Sistema Operativo Hardware Hardware

6 Maquinas Virtuales (cont.)
Abstrae los conceptos del sistema operativo hacia las aplicaciones. Altos niveles de portabilidad Idea principal “Compile-Once-Run-Everywere” Unifica los conceptos de las aplicaciones permitiendo altos niveles de interoperabilidad. Basado en la experiencia previa: ’70. PCode, una máquina virtual que interpreta un lenguaje intermedio para Pascal. ’70. Lisp lenguaje que ejecuta interpretado en una máquina virtual. ’80. Smalltalk, máquina virtual con GC. ’90. Java lenguaje y máquina virtual con JIT y GC.

7 Maquinas Virtuales (cont.)
Cambios en el modelo de desarrollo Tradicional Código fuente Objeto Propio de la plataforma de hardware Ejecutable Propio del sistema operativo Usando máquinas virtuales Lenguaje intermedio Independiente de la plataforma de hardware Independiente del sistema operativo

8 Maquinas Virtuales (cont.)
Servicios Ejecución Procesos, Threads, Manejo de Memoria Carga de ejecutables Dynamic Linking (DLL, SO) Interoperabilidad Operar con la intefaz de E/S (I/O) Acceder a los servicios propios del sistema operativo Integrar con los servicios de seguridad disponibles

9 Maquinas Virtuales (cont.)
Mas servicios Desarrollador Lenguajes orientados a objetos Manejo de errores flexible y extensible Manejo de memoria automático Depuración y Profiling Operaciones Deployment simplificado Monitoreo integrado al SO Configuración basada en XML

10 Maquinas Virtuales (cont.)
Interés Comercial Simplifica todas las etapas del desarrollo Mejora la calidad de las piezas de software Facilita los cambios Académico Paradigmas Lenguajes Compiladores

11 Standard CLI

12 Common Language Infrastructure
Standard CLI Common Language Infrastructure ECMA-335. Actualmente en proceso para conformar un estándar ISO Define Formato de archivo (PE/COFF) Especificacion de lenguaje común (CLS) Un sistema común de tipos (CTS) Un sistema extensible para soportar matadatos (CLI Metadata) Un lenguaje intermedio. MSIL o IL (CIL) Define el acceso a la plataforma de base Una bilbioteca común de clases (BCL)

13 Lenguaje C# ECMA-334 Define Standard CLI (cont.)
Representación del lenguaje Sintáxis y restricciones del lenguaje Reglas semánticas del lenguaje Límites del lenguaje

14 Microsoft Common Language Runtime (CLR) Implementaciones
Implementación “comercial” del standard CLI. Just-In-Time Compiler (JIT) / Garbage Collector (GC) Plataformas: Windows, Intel Compiladores: C#, VB.NET, JScript, MSIL ASP.NET, Windows Forms, Windows services Disponibilidad: Runtime, Class Library y SDK 1.0 -> 2001. 1.1 -> Everett Next –> 200?. Whidbey

15 Implementaciones (cont.)
Microsoft SSCLI (ROTOR) Implementación CLI de código compartido JIT / GC Licencia: Shared Source Plataformas: Windows, MacOS/X, FreeBSD Compiladores: C#, JScript, MSIL Disponibilidad: Runtime, Class Library, SDK y código Opcional Gyro. Implementación de Generics de C++ 1.0 -> 2003

16 Implementaciones (cont.)
Ximian / Comunidad open source Proyecto Mono Implementación CLI de código abierto JIT / GC / Inteprete Licencias: Compilador GPL, Runtime LGPL, Class Library MIT X11 Plataformas: Windows, Linux/x86, Linux/PPC, S390, StrongARM y SPARC Compiladores: C#, JScript, Visual Basic, MSIL Objetivo: 100% compatible con CLR Disponibilidad: Runtime, Class Library, SDK y código 0.01 -> Jul/2001 0.24 -> 2003 (compatible con 1.1)

17 Implementaciones (cont.)
GNU / Comunidad Open Source DotGNU / PortableNet Implementación CLI de código abierto - GPL JIT / GC / Inteprete Sub-proyecto de DotGNU. Plataformas: GNU/Linux, Windows, Solaris, NetBSD, FreeBSD, and MacOS X. Arquitecturas: x86, PowerPC, ARM, Sparc, PARISC, s309, Alpha, IA-64. Compiladores: C#, Java, MSIL Disponibilidad: Runtime, Class Library, SDK y código 0.01 -> 2001 > 2003 (compatible con 1.1)

18 Implementaciones (cont.)
Intel Open CLI Library (OCL) Implementación Class Library de código abierto Plataformas: 100% .NET Disponibilidad: Class library y código > Ago/2001 > Sep/2002

19 Proyectos de código abierto

20 NAnt Problemática Es común en proyectos grandes la realización de tareas frecuentes: Compilación total o parcial Generación de la documentación Deployment para prueba Si bien se pueden realizar archivos .BAT, .CMD, .VBS o .JS, hay una herramienta llamada MAKE Los scripts de MAKE tienen una semántica especial para las tareas relacionadas con la compilación y manejo de código fuente.

21 NAnt

22 NAnt http://nant.sf.net Herramienta similar a MAKE Basado en Ant
Archivo de configuración en XML Ejecuta <target…> Permite tareas del usuario (User Tasks)

23 Técnicas modernas de manejo de proyectos plantean
NUnit Técnicas modernas de manejo de proyectos plantean Desarrollo de los scripts de prueba en paralelo con el desarrollo Creación de los principales Tests por parte del mismo equipo de desarrollo. Con cada cambio en el software Preparación de los nuevos scripts de pruebas Ejecución satisfactoria de todos los Tests anteriores (Test de regresión)

24 NUnit

25 NUnit http://www.nunit.org/ Basado en JUnit
Un framework de Unit Test, para soportar integración continua Versión 2: rediseñado para .NET Test para todos los lenguajes .NET: VB.Net, C#, J#....

26 NDoc Problemática Donald Knuth: “La mejor documentación es el código fuente” El código fuente debe contener la mayor cantidad de documentación posible. Restricciones, alcance, precondiciones XML Documents Con el compilador de C# se incluyó soporte para extraer la documentación del código fuente Esta documentación se agrupa en un archivo XML que contiene toda la documentación de una unidad de compilación (assembly) Con Visual Studio.NET se puede crear un conjunto de archivos HTML con la documentación lista para ser navegada.

27 NDoc

28 NDoc http://ndoc.sf.net Genera documentación de proyectos C#
Hay distintos Documenters Documenter MSDN Para Visual Basic .NET existe

29 SharpDevelop

30 SharpDevelop http://www.icsharpcode.net
Entorno de desarrollo, libre, con código fuente Escrito en C# Proyectos en C# y en VB.Net Incluye un NAnt, NDoc, SharpUnit

31 Sitios de Interes Microsoft .NET SSCLI Proyecto Mono DotGNU Intel OCL
SSCLI Gyro Proyecto Mono DotGNU Intel OCL sourceforge.net/projects/ocl

32 Otros Proyectos Report.NET Gtk# Canal Remoting-CORBA Magic Library
Gtk# Canal Remoting-CORBA Magic Library VB.Doc

33 ? ¿Preguntas? Por favor, completar el formulario de evaluación
Te llevás un CD con un curso interactivo de ASP.NET y Visual C# En 10 días, esta ppt en línea

34 Muchas gracias por tu participación!
Angel “Java” Lopez Diego Gonzalez Lagash Systems SA (

35 Programa Desarrollador Cinco Estrellas
Hacele un upgrade a tu currículum Si ya tenés tu estrella, pasá al salón San Telmo

36 Tu potencial. Nuestra pasión.®


Descargar ppt "Iniciativa Microsoft Multiplataforma"

Presentaciones similares


Anuncios Google