Iniciativa Microsoft Multiplataforma - PowerPoint PPT Presentation

1 / 36
About This Presentation
Title:

Iniciativa Microsoft Multiplataforma

Description:

Iniciativa Microsoft Multiplataforma – PowerPoint PPT presentation

Number of Views:41
Avg rating:3.0/5.0
Slides: 37
Provided by: centralcr
Category:

less

Transcript and Presenter's Notes

Title: Iniciativa Microsoft Multiplataforma


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

2
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
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
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
  • Código fuente
  • 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
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
Standard CLI (cont.)
  • Lenguaje C
  • ECMA-334
  • Define
  • Representación del lenguaje
  • Sintáxis y restricciones del lenguaje
  • Reglas semánticas del lenguaje
  • Límites del lenguaje

14
Implementaciones
  • Microsoft
  • Common Language Runtime (CLR)
  • 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 -gt 2001.
  • 1.1 -gt 2003. Everett
  • Next gt 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 -gt 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 -gt Jul/2001
  • 0.24 -gt 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 -gt 2001
  • 0.5.6 -gt 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
  • 0.1.0 -gt Ago/2001
  • 0.5.0 -gt 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 lttargetgt
  • Permite tareas del usuario (User Tasks)

23
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 http//vb-net.sf.net
    /

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
  • www.microsoft.com/net
  • SSCLI
  • http//www.microsoft.com/sharedsource
  • Gyro
  • http//research.microsoft.com/research/downloads/
  • Proyecto Mono
  • www.go-mono.org
  • DotGNU
  • www.dotgnu.org
  • Intel OCL
  • sourceforge.net/projects/ocl

32
Otros Proyectos
  • Report.NET
  • http//report.sf.net
  • Gtk
  • http//gtk-sharp.sf.net
  • Canal Remoting-CORBA
  • http//remoting-corba.sourceforge.net/
  • Magic Library
  • http//www.dotnetmagic.com/
  • VB.Doc
  • http//vb-doc.sf.net/

33
Preguntas?
?
Por favor, completar elformulario 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 www.microsoft.com/argentina/msdn
34
Muchas gracias por tu participación!
Angel Java Lopez (webmaster_at_ajlopez.com) http//
www.ajlopez.com Diego Gonzalez
(diegog_at_lagash.com) Lagash Systems SA
(http//www.lagash.com)
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.
Write a Comment
User Comments (0)
About PowerShow.com