Introducción a .NET

por Viktor Ml. Justo Vasquez


¿Que es .Net?

.NET es un framework de desarrollo de software desarrollado por Microsoft para Windows. Este incluye una gran librería y provee mucha interoperabilidad entre los distintos lenguajes que lo componen.

¿Y porque me tienen que interesar .NET?


  • Interoperabilidad

  • Independencia de los lenguajes

  • Librería base de clases

  • Sencillez de implementación

  • Seguridad

Pero antes, Un poco de historia

Hace mucho mucho tiempo, alrededor de 1995, Java generaba mucha algarabía por el hecho de que los programadores ya no necesitaban saber varios lenguajes para enfocarse a cada plataforma o se veían encasillados a una.

Microsoft luchaba por alcanzar las herramientas de Sun, sin éxito. El Windows DNA (Arquitectura de aplicaciones de internet distribuidas, por sus siglas en ingles) se veía rezagado por el J2EE, dado su enfoque "distribuido gratis". Microsoft opto por dejar de enfocar sus esfuerzos en parches y iniciar un proyecto que se llamo NGWS (Next Generation Windows Services). El resultado de ese proyecto es lo que hoy conocemos como .NET

Componentes del framework


Aha, ¿Y entonce'?




  • Common Language Specification
  • Common Language Runtime
  • Common Type System
  • Microsoft Intermediate Language
  • .NET Framework Base Clases


cOMMON LANGUAGE SPECIFICATION

  • Especificación que estandariza una serie de características soportadas por el CLR.
  • Contrato entre diseñadores de lenguajes de programación y autores de bibliotecas.
  • Permite la interoperabilidad entre lenguajes.
  • Microsoft provee implementaciones de 4 lenguajes, todos compatibles con el CLS.
    • Microsoft Visual Basic
    • Microsoft Visual C#
    • Microsoft Visual J#
    • Microsoft C++

Common Language Specification

El resto de la industria y el sector académico han desarrollado mas de 20 lenguajes compatibles con la especificación CLS.


Common type system

  • Define un conjunto común de tipos de datos 
  • Todos los lenguajes bajo la sombrilla del framework .NET debe de implementar en su totalidad los tipos definidos por el CTS



    ¡¿Valores por referencia?! ¿Y que'jeso?

    El CLR administra dos segmentos de memoria: el Stack y el Heap.

    • El stack o pila almacena valores y es liberado automáticamente a medida que se desenvuelve el programa
    • El heap almacena referencias y es administrado por el Garbage Collector.
      • El GC se encarga de eliminar los datos en memoria una vez que su referencia fue eliminada.


    Common language Infrastructure

    • Es una especificación fomentada por Microsoft, Intel, HP.
    • Fue estandarizada por ECMA en el 2001 e ISO en el 2003 que describe el CTS, el CLS y un sistema virtual de ejecución.
    • El sistema virtual de ejecución nos permite compilar los lenguajes que cumplan con estos  estándares a un lenguaje assembly intermedio.

    Common language Runtime

    Es la implementación comercial de Microsoft del CLI y el motor de ejecución de todo el framework .NET

    • Compilación Just-In-Time
    • Gestión Automática de Memoria
    • Gestión de Errores
    • Ejecución basada en librerías o componentes
    • Multi hilos

    Common language Runtime

    CLR - El lado Oscuro



    CLR - El lado oscuro

    CLR - El Lado Oscuro

    Base Class Library

    Base Class Library

    Base class library

    Base class library


    Para cerrar:

    .NET :

    • Unifica los modelos de programación bajo una misma sombrilla
    • Es independiente del lenguaje de programación
    • Provee interoperabilidad con el código ya existente
    • Es extensible
    • Es de fácil administración una vez ya instalado.

    Introduccion a .NET

    By Viktor Ml. Justo Vasquez

    Introduccion a .NET

    Primera clase del segundo modulo de el diplomado en desarrollo .net

    • 1,632