lunes, 4 de octubre de 2010

Introducción a .NET

Primero que todo, les digo por experiencia que uno no aprende la teoría de .Net (ni de ninguna plataforma) solo leyendo, porque (segun yo) el 90% de las cosas que hay aquí hay que Verlas, Practicarlas para entenderlas, para saber que existen y que realmente es asi, sino, apréndanselo de memoria pero no les servirá de nada (Y).  Por lo mismo traté de poner la mayor cantidad de imagenes para que no sea tan monótono y vean gráficamente mas o menos como funciona esta cosa .Net. Quizas ahora no lo entiendan mucho,y no se alarmen por esto (excepto si a algun profe se le ocurre ademas evaluarselo xD) pero a medida que practiquen durante el semestre/curso/etc, vayan leyendo esto y asimilando los conceptos (Entendiendolo). :)

¿Qué es .Net?
No es un SO (Windows, Linux…)
No es un lenguaje de programación (C#, vs.net, Java)
No es 1 entorno de desarrollo (Visual C# 2008 express, Visual Basic 2010 express, (Jcreator)
No es un servidor de aplicaciones (XSP servidor de aplicaciones para .NET)

.Net es la evolución de la plataforma COM (Component Object Model), y una Plataforma de Desarrollo compuesta de:
•    Entorno de Ejecución (Runtime)
•    Bibliotecas de Funcionalidad (Class Library)
•    Lenguajes de Programación (C#, Visual basic.net, J#, Visual C++)
•    Compiladores
•    Herramientas de Desarrollo (IDE & Tools)
•    Guías de Arquitectura



Características de .Net:
•    Plataforma de ejecución intermedia
•    100% Orientada a Objetos
•    Multilenguaje
•    Plataforma Empresarial de Misión Crítica
•    Modelo de Programación único para todo tipo de aplicaciones y dispositivos de hardware
•    Se integra fácilmente con aplicaciones existentes desarrolladas en plataformas Microsoft
•    Se integra fácilmente con aplicaciones desarrolladas en otras plataformas

Net Framework


Paquete de software fundamental de la plataforma .NET. Está instalado por defecto en Windows 2003 Server o superior. Se distribuye en forma libre y gratuita. Incluye: Entorno de Ejecución (Runtime) y Bibliotecas de Funcionalidad (Class Library).
Existen tres variantes principales:
-    .NET Framework Redistributable Package:
Paquete distribuible de .NET Framework

-    .NET Framework SDK:
SDK = kit de desarrollo de software  = Software Developer Kit

-    .NET Compact Framework:
Versión del .NET Framework que está diseñado para funcionar en Windows CE basado en móviles/dispositivos embebidos tales como PDAs, teléfonos móviles, etc.

Arquitectura del .NET  Framework
 (De abajo hacia arriba)
CLR: El CLR (Common Languaje Runtime) es el motor de ejecución de .NET. Características:
-    Compilación Just-In-Time (JIT)
-    Gestión automática de memoria (Garbage Collector)
-    Gestión de errores consistente (Excepciones)
-    Ejecución basada en componentes (Assemblies)
-    Gestión de Seguridad
-    Multithreading
NET Framework Class Library: Conjunto de Tipos básicos (clases, interfaces, etc.) que vienen incluídos 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 desarrollo.
-    Es extensible y totalmente orientada a objetos

El namespace raíz es SYSTEM

Common Language Specification (CLS):
-    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 CLS
o    Microsoft Visual Basic .NET
o    Microsoft Visual C# .NET
o    Microsoft Visual J#.NET
o    Microsoft Visual C++.NET
-    El resto de la industria y el sector académico han desarrollado más de 20 lenguajes compatibles con la especificación CLS
 Elección del lenguaje:
-    .NET posee un único runtime (el CLR) y un único conjunto de bibliotecas para todos los lenguajes
-    No hay diferencias notorias de performance entre los lenguajes provistos por Microsoft
-    El lenguaje a utilizar, en gral., dependerá de su experiencia previa con otros lenguajes o de gustos personales
    Si conoce Java, Delphi, C++, etc.  C#
    Si conoce Visual Basic o VBScript   VB.NET
-    Los tipos de aplicaciones .NET son INDEPENDIENTES del lenguaje que elija

CTS (Common Type System)
-    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 de VALOR y de REFERENCIA

Fuente: Material 5 estrellas Microsoft, y otros.

No hay comentarios: