Tecnología Microsoft.NetBernardo Antonio Robelo JirónIngeniero en Sistemas
Antes de comenzarPresentación.Ocupación Actual.Experiencia con el uso de .NET y VB.NETExpectativas.Metodología del curso.
Objetivos del cursoTecnología .NETNet Framework 3.5ASP.NETADO.NETLINQWCF Y WPFSilverLight 2.0Lenguaje Visual Basic .NET
Agenda del CursoIntroducción a .NET ( Estructuras del Lenguaje)SQL Server ( Transact – SQL )Acceso a Datos ( ADO.NET)Acceso a Datos  (LINQ)ControlesAvanzadosWPFCrystal ReportASP.NET
Elementos AdicionalesXHTMLJavaScriptCSSXMLXAML
Tecnología Microsoft .NET
ObjetivoPresentar una introducción a la plataforma de desarrollo Microsoft .NET, describiendo sus principios básicos de funcionamiento, su arquitectura de componentes y sus principales bibliotecas reutilizables, mostrando además las novedades introducidas en la última versión de la misma.
ServiciosComponentesFuncionalidadWindows3.0MFCAPIsCOMWin32Win16198019902000Paradigmas de Programación
Que tal un poquito de historia?
Primera GeneraciónTodos con las MainframesProgramación orientada a uso de terminales tontas, con cerebros un poco “más inteligentes”.Integrar aplicaciones era MUY difícil (procesos batch, importación-exportación, etc. etc.).Programación en lenguajes de “Primera” (Generación). COBOL, Fortran, Pascal, C, etc.No cualquiera podía escribir aplicaciones.	No cualquiera tenía acceso a	poder de cómputo.“Al final de los tiempos,	solo sobrevivirán las	cucarachas y COBOL”	¿Será cierto?
Segunda Generación”Aquí se rompió una taza...”Después de años de pensar de manera centralizada, a “alguien” se le ocurrió dotar de poder para ser independientes a esas terminales tontas.Ahora ya el uso de cómputo no era privilegio de unos pocos.Compartiendo el poder de los equipos de computo con el poder de los equipos de escritorio,	se tenían aplicaciones más potentes.Se podía tener aplicaciones en una sola	computadora (stand alone).Se hizo extensivo el uso de	lenguajes tipo Clipper, FoxProCOBOL seguía ¡vivito y coleando!
Tercera GeneraciónGeneración Internet... ¡Todos a la Red!Al surgir el “boom” de Internet, se sigue mezclando el poder de las maquinas de escritorio con el uso de servidores potentes para darles servicio.Aparecen nuevos lenguajes: Java, 	Visual Basic, etc.Aunque ya no es protagonista,	COBOL continúa entre nosotros.En esta generación es la actual.
Que es .NET?
Tecnología .Net.NET no es un Sistema Operativo.NET no es un Lenguaje de Programación.NET no es un Entorno de Desarrollo.NET no es un Servidor de Aplicaciones.NET no es un producto empaquetado que se pueda comprar como tal
¿Qué es .NET?Plataforma de Desarrollo compuesta deEntorno de Ejecución (Runtime)Bibliotecas de Funcionalidad (Class Library)Lenguajes de ProgramaciónCompiladoresHerramientas de Desarrollo (IDE & Tools)Visual Studio 2005. Visual Studio 2008.Visual Studio 2010.Guías de ArquitecturaLa evolución de la plataforma COM
Plataforma .NET
ExperienciasHerramientasClientesServidoresServicios¿Cuales son los Componentes de .NET?Experiencias .NETClientes .NETServicios .NETServidores .NETHerramientas .NET
Características de .NETPlataforma de ejecución intermedia100% Orientada a ObjetosMultilenguajePlataforma Empresarial de Misión CríticaModelo de Programación único para todo tipo de aplicaciones y dispositivos de hardwareSe integra fácilmente con aplicaciones existentes desarrolladas en plataformas MicrosoftSe integra fácilmente con aplicaciones desarrolladas en otras plataformas
Aplicación .NETEntorno de DesarrolloLenguajes de ProgramaciónLibrerías de FuncionalidadEntorno de EjecuciónSistema Operativo (Familia Windows)Arquitectura .NetMicrosoft .NET
.NET como evolución de COMEntorno de Ejecución (Runtime)COM: Windows.NET: Common Language RuntimeLibrerías de FuncionalidadCOM: Algunas (ADO, FSO, etc.).NET: Muy extensa (.NET Framework Class Library)Lenguajes de ProgramaciónCOM: VB, C++, VFP, ASP, J++.NET: Common Language SpecificationEntorno de Desarrollo (IDE)COM: Uno para cada lenguaje.NET: Uno independiente del lenguaje (VS.NET)
.NET Framework
Que es un Framework?
Un Framework es, básicamente, un conjunto de clases que interactúan en forma cooperativa para dar solución a una determinada necesidad. .NET FrameworkQue es un Framework?
.NET FrameworkQue es un Framework?¿Quedo claro?
.NET FrameworkQue es un Framework?Suponga que usted necesita construir un edificio…
.NET FrameworkQue es un Framework?Imagine que a usted le tocara construir cada una de las partes…
.NET FrameworkQue es un Framework?¿Cuánto tiempo cree que tardaría en terminar?
Lo mismo sucede con el software, si cada vez tuviéramos que construir todos los componentes que lo conforman, tardaríamos mucho más tiempo….NET FrameworkQue es un Framework?
¿Qué es un Framework?Marco de trabajo
Puede estar compuesto por
Librerías de clases
Documentación
Ayuda
Ejemplos
Tutoriales
Etc.¿Qué es .NET Framework? Herramientas de DesarrolloClientesAplicaciones Web ASP.NETBases de DatosServicios Web XMLAplicaciones de Usuario.NET Framework
Net FrameworkPaquete de software fundamental de la plataforma .NET. Incluye:Entorno de Ejecución (Runtime)Bibliotecas de Funcionalidad (Class Library)Se distribuye en forma libre y gratuitaExisten tres variantes principales:.NET Framework RedistributablePackage.NET Framework SDK.NET Compact Framework Está instalado por defecto en Windows 2003 Server o superior
¿Dónde instalar el .NET Framework?ServidorClienteü*üAplicación de EscritorioüAplicación Webü*üAplicación de Consola.NET Compact FrameworkAplicaciónMóvil* Sólo si la aplicación es distribuida
Línea del tiempo de .NETVisual Studio 6.0Visual BasicVBAVisual FoxProVBScriptC++J++JScriptASPVisual Studio .NET 2003.NET Framework 1.1.NET Compact FrameworkJ#Visual Studio 2008.NET Framework 3.0 – 3.5.NET Compact Framework2000         2001         2002         2003         2004    2005      2006 y más   2008      2010Visual Studio .NET 2002.NET Framework 1.0Visual Basic .NETC#Visual Studio 2005.NET Framework 2.0.NET Compact Framework 2.0Visual Studio 2010.NET Framework 4.0
Evolucion del .NET Framework
Arquitectura del .NET FrameworkVBC++C#J#…Common Language SpecificationASP.NETWindows Forms.NET Framework SDK.NET Framework Class Library.NET Framework RedistributableADO.NET y XMLBase Class LibraryCommon Language RuntimeWindowsCOM+ Services
Quees el .NET Framework 3.5 ?
2.0.NET Framework 2.0VBC#J#IronPhytonRuby…3.0.NET Framework 3.0CLS y CTSASP.NETWPFWCSWF & WCF EnhancementsDynamic DataADO.NETLINQAdditional EnhancementsEntity FrameworkWCFWFAdd-in FrameworkWindowsFormsMVCData ServicesBiblioteca de ClasesCommon Language Runtime (CLR)Windows 7, Windows Vista,Windows XP,Windows Server 2008Microsoft .NET Framework 3.5
Common Language Runtime
CLR – Common Languaje RuntimeArquitecturas de Ejecución de Aplicaciones
CLR – Common Language RuntimeEl CLR es el motor de ejecución (runtime) de .NETCaracterísticasCompilació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 SeguridadMultithreading
CLR – Componentes Internos
Assembly (MSIL)CompiladorBibliotecao EjecutableCLR – Proceso de CompilaciónCódigoFuenteCualquier lenguaje .NET
DemoPrimer vistazo a .NetDesarrollar nuestra aplicación “HelloWorld”
Microsoft Intermediately Language
Descripción de TiposClasesClases BaseInterfaces ImplementadasAtributos de las ClasesMétodos de las ClasesMiBiblioteca.DLLMetadataManifiesto del AssemblyCódigo CompiladoMSILNombreVersiónCulturaRecursosOtros AssembliesPermisos de SeguridadTipos ExternosAssembly
Assemblies - Aplicaciones .NETUno o más AssembliesAl ejecutar una aplicación, ¿cómo ubico los assemblies necesarios?El Class Loader busca en el directorio local (preferido)Global Assembly Cache (GAC)Diferentes aplicaciones pueden usar diferentes versionesActualizaciones más simplesDesinstalación más simple
.NET Framework Class LibraryConjunto de Tipos básicos (clases, interfaces, etc.) que vienen incluídos en el .NET FrameworkLos tipos están organizados en jerarquías lógicas de nombres, denominados NAMESPACESLos tipos son INDEPENDIENTES del lenguaje de desarrolloEs extensible y totalmente orientada a objetos
.NET Framework Class LibrarySystem.WebSystem.Windows.FormsServicesUIDesign	ComponentModelDescriptionHtmlControlsDiscoveryWebControlsProtocolsSystem.DrawingCaching	SecurityDrawing2D	PrintingConfigurationSessionStateImagingTextSystem.DataSystem.XmlOleDbOdbcXSLTSerializationCommonSqlClientXPathSystem   CollectionsIOSecurityRuntimeInteropServicesConfigurationNetServiceProcessRemotingDiagnosticsReflectionTextSerializationGlobalizationResourcesThreading
Common Language Specification (CLS)Especificación que estandariza una serie de características soportadas por el CLRContrato entre diseñadores de lenguajes de programación y autores de bibliotecasPermite la interoperabilidad entre lenguajesMicrosoft provee implementaciones de 4 lenguajes, todos compatibles con CLSMicrosoft Visual Basic .NETMicrosoft Visual C# .NETMicrosoft Visual J#.NETMicrosoft Visual C++.NET
Common Language Specification (CLS)El resto de la industria y el sector académico han desarrollado más de 20 lenguajes compatibles con la especificación CLSC#Visual Basic.NETJ#C++.NETPerlJavaJavaScriptPHPDelphiPythonPascalHaskellRPGLISPPrologMondrianEiffelMLOberonSmalltalkSchemeCobolFortranMercuryObjective CamlAPL
CLS - Elección del lenguaje.NET posee un único runtime (el CLR) y un único conjunto de bibliotecas para todos los lenguajesNo hay diferencias notorias de performance entre los lenguajes provistos por MicrosoftEl lenguaje a utilizar, en gral., dependerá de su experiencia previa con otros lenguajes o de gustos personalesSi conoce Java, Delphi, C++, etc.  C#Si conoce Visual Basic o VBScript   VB.NETLos tipos de aplicaciones .NET son INDEPENDIENTES del lenguaje que elija
Modelo de Ejecución del CLRCódigoFuenteVB.NETC++.NETC#ComponenteNo ManejadoCompilador VB.NETCompiladorC#CompiladorC++ .NETCódigo ManejadoAssemblyCódigo MSILAssemblyCódigo MSILAssemblyCódigo MSILCommon Language RuntimeCompilador JITCódigo NativoSistema Operativo (Windows)
DesarrolloAssembly en la máquinadestinoInstalaciónAssemblyClass LoaderAssemblyLoaderCompiladorJITSeguridadGarbage Collector.exe Nativo+Tabla GC Code ManagerManejador ExcepcionesSoporte MultiThreadCOM InteropDebug EngineInstalaciónPolicy<?xml version="1.0" encoding="utf-8" ?><configuration>   <mscorlib>      <security>         <policy>            <PolicyLevel version="1">               <CodeGroup class="UnionCodeGroup"                          version="1"                          PermissionSetName="Nothing"                          Name="All_Code"                          Description="Code group grants no permissions and forms the root of the code group tree.">                  <IMembershipCondition class="AllMembershipCondition"                                        version="1"/>                  <CodeGroup class="UnionCodeGroup"                             version="1"                             PermissionSetName="FullTrust"EjecuciónModelo de Ejecución del CLR
Ventajas de .NETUnifica los modelos de programaciónSimplifica aún más el desarrolloProvee un Entorno de Ejecución robusto y seguroEs independiente del lenguaje de programaciónInteroperabilidad con código existenteSimplifica la instalación y administración de las aplicacionesEs Extensible
API consistente mas allá del lenguaje o del modelo de programación.NET FrameworkBasado en Servidor,UI Embebido en el códigoOOP, Potencia,Acceso a bajo nivelDesarrollo Rapido,Componentes,Event DrivenASPMFC/ATL (C++)Visual BasicWindows APIUnificando los Modelos
Desarrollo SimplificadoAlto nivel de abstracciónNo mas accesos COM a bajo nivelOrientado a Objetos desde el NúcleoSistema de tipos unificado (CTS)Todo es un objeto, no mas variantsComponentes de SoftwarePropiedades, métodos, eventos, y atributos incluidos en la construcción de clasesAPI organizada en forma Jerárquica
Entorno de Ejecución Robusto y SeguroGestión automática de la memoriaTodos los objetos son administrados por el Garbage CollectorManejo de ExcepcionesFuertemente tipadoSolo casteos segurosInicialización de variables obligatoriaInstalación con Cero ImpactoNo requiere registración en la Registry
Independencia del lenguajeLibertad en la elección del lenguajeTodas las facilidades de la plataforma .NET están disponibles a todos los lenguajes de programación .NETLos componentes de una aplicación .NET pueden ser escritos en distintos lenguajes de alto nivel compatibles con la plataformaHerramientas compartidasDebuggers, profilers, analizadores de código, y otras trabajan para todos los lenguajes
Instalación y Administración más simplesUnidades de Ensamblado (“Assemblies”)Mínima unidad de distribución, versionado y administración de seguridad de aplicaciones .NETAuto-descriptas a través de un manifiesto (“manifest”)Instalaciones Cero-impactoAplicaciones y componentes pueden ser compartidas o privadasVersioningMúltiples versiones del mismo componente pueden co-existir, aún en el mismo proceso

Tecnologia Microsoft

  • 1.
    Tecnología Microsoft.NetBernardo AntonioRobelo JirónIngeniero en Sistemas
  • 3.
    Antes de comenzarPresentación.OcupaciónActual.Experiencia con el uso de .NET y VB.NETExpectativas.Metodología del curso.
  • 4.
    Objetivos del cursoTecnología.NETNet Framework 3.5ASP.NETADO.NETLINQWCF Y WPFSilverLight 2.0Lenguaje Visual Basic .NET
  • 5.
    Agenda del CursoIntroduccióna .NET ( Estructuras del Lenguaje)SQL Server ( Transact – SQL )Acceso a Datos ( ADO.NET)Acceso a Datos (LINQ)ControlesAvanzadosWPFCrystal ReportASP.NET
  • 6.
  • 7.
  • 8.
    ObjetivoPresentar una introduccióna la plataforma de desarrollo Microsoft .NET, describiendo sus principios básicos de funcionamiento, su arquitectura de componentes y sus principales bibliotecas reutilizables, mostrando además las novedades introducidas en la última versión de la misma.
  • 9.
  • 10.
    Que tal unpoquito de historia?
  • 11.
    Primera GeneraciónTodos conlas MainframesProgramación orientada a uso de terminales tontas, con cerebros un poco “más inteligentes”.Integrar aplicaciones era MUY difícil (procesos batch, importación-exportación, etc. etc.).Programación en lenguajes de “Primera” (Generación). COBOL, Fortran, Pascal, C, etc.No cualquiera podía escribir aplicaciones. No cualquiera tenía acceso a poder de cómputo.“Al final de los tiempos, solo sobrevivirán las cucarachas y COBOL” ¿Será cierto?
  • 12.
    Segunda Generación”Aquí serompió una taza...”Después de años de pensar de manera centralizada, a “alguien” se le ocurrió dotar de poder para ser independientes a esas terminales tontas.Ahora ya el uso de cómputo no era privilegio de unos pocos.Compartiendo el poder de los equipos de computo con el poder de los equipos de escritorio, se tenían aplicaciones más potentes.Se podía tener aplicaciones en una sola computadora (stand alone).Se hizo extensivo el uso de lenguajes tipo Clipper, FoxProCOBOL seguía ¡vivito y coleando!
  • 13.
    Tercera GeneraciónGeneración Internet...¡Todos a la Red!Al surgir el “boom” de Internet, se sigue mezclando el poder de las maquinas de escritorio con el uso de servidores potentes para darles servicio.Aparecen nuevos lenguajes: Java, Visual Basic, etc.Aunque ya no es protagonista, COBOL continúa entre nosotros.En esta generación es la actual.
  • 14.
  • 15.
    Tecnología .Net.NET noes un Sistema Operativo.NET no es un Lenguaje de Programación.NET no es un Entorno de Desarrollo.NET no es un Servidor de Aplicaciones.NET no es un producto empaquetado que se pueda comprar como tal
  • 16.
    ¿Qué es .NET?Plataformade Desarrollo compuesta deEntorno de Ejecución (Runtime)Bibliotecas de Funcionalidad (Class Library)Lenguajes de ProgramaciónCompiladoresHerramientas de Desarrollo (IDE & Tools)Visual Studio 2005. Visual Studio 2008.Visual Studio 2010.Guías de ArquitecturaLa evolución de la plataforma COM
  • 17.
  • 18.
    ExperienciasHerramientasClientesServidoresServicios¿Cuales son losComponentes de .NET?Experiencias .NETClientes .NETServicios .NETServidores .NETHerramientas .NET
  • 19.
    Características de .NETPlataformade ejecución intermedia100% Orientada a ObjetosMultilenguajePlataforma Empresarial de Misión CríticaModelo de Programación único para todo tipo de aplicaciones y dispositivos de hardwareSe integra fácilmente con aplicaciones existentes desarrolladas en plataformas MicrosoftSe integra fácilmente con aplicaciones desarrolladas en otras plataformas
  • 20.
    Aplicación .NETEntorno deDesarrolloLenguajes de ProgramaciónLibrerías de FuncionalidadEntorno de EjecuciónSistema Operativo (Familia Windows)Arquitectura .NetMicrosoft .NET
  • 21.
    .NET como evoluciónde COMEntorno de Ejecución (Runtime)COM: Windows.NET: Common Language RuntimeLibrerías de FuncionalidadCOM: Algunas (ADO, FSO, etc.).NET: Muy extensa (.NET Framework Class Library)Lenguajes de ProgramaciónCOM: VB, C++, VFP, ASP, J++.NET: Common Language SpecificationEntorno de Desarrollo (IDE)COM: Uno para cada lenguaje.NET: Uno independiente del lenguaje (VS.NET)
  • 22.
  • 23.
    Que es unFramework?
  • 24.
    Un Framework es,básicamente, un conjunto de clases que interactúan en forma cooperativa para dar solución a una determinada necesidad. .NET FrameworkQue es un Framework?
  • 25.
    .NET FrameworkQue esun Framework?¿Quedo claro?
  • 26.
    .NET FrameworkQue esun Framework?Suponga que usted necesita construir un edificio…
  • 27.
    .NET FrameworkQue esun Framework?Imagine que a usted le tocara construir cada una de las partes…
  • 28.
    .NET FrameworkQue esun Framework?¿Cuánto tiempo cree que tardaría en terminar?
  • 29.
    Lo mismo sucedecon el software, si cada vez tuviéramos que construir todos los componentes que lo conforman, tardaríamos mucho más tiempo….NET FrameworkQue es un Framework?
  • 30.
    ¿Qué es unFramework?Marco de trabajo
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
    Etc.¿Qué es .NETFramework? Herramientas de DesarrolloClientesAplicaciones Web ASP.NETBases de DatosServicios Web XMLAplicaciones de Usuario.NET Framework
  • 38.
    Net FrameworkPaquete desoftware fundamental de la plataforma .NET. Incluye:Entorno de Ejecución (Runtime)Bibliotecas de Funcionalidad (Class Library)Se distribuye en forma libre y gratuitaExisten tres variantes principales:.NET Framework RedistributablePackage.NET Framework SDK.NET Compact Framework Está instalado por defecto en Windows 2003 Server o superior
  • 39.
    ¿Dónde instalar el.NET Framework?ServidorClienteü*üAplicación de EscritorioüAplicación Webü*üAplicación de Consola.NET Compact FrameworkAplicaciónMóvil* Sólo si la aplicación es distribuida
  • 40.
    Línea del tiempode .NETVisual Studio 6.0Visual BasicVBAVisual FoxProVBScriptC++J++JScriptASPVisual Studio .NET 2003.NET Framework 1.1.NET Compact FrameworkJ#Visual Studio 2008.NET Framework 3.0 – 3.5.NET Compact Framework2000 2001 2002 2003 2004 2005 2006 y más 2008 2010Visual Studio .NET 2002.NET Framework 1.0Visual Basic .NETC#Visual Studio 2005.NET Framework 2.0.NET Compact Framework 2.0Visual Studio 2010.NET Framework 4.0
  • 41.
  • 42.
    Arquitectura del .NETFrameworkVBC++C#J#…Common Language SpecificationASP.NETWindows Forms.NET Framework SDK.NET Framework Class Library.NET Framework RedistributableADO.NET y XMLBase Class LibraryCommon Language RuntimeWindowsCOM+ Services
  • 43.
    Quees el .NETFramework 3.5 ?
  • 44.
    2.0.NET Framework 2.0VBC#J#IronPhytonRuby…3.0.NETFramework 3.0CLS y CTSASP.NETWPFWCSWF & WCF EnhancementsDynamic DataADO.NETLINQAdditional EnhancementsEntity FrameworkWCFWFAdd-in FrameworkWindowsFormsMVCData ServicesBiblioteca de ClasesCommon Language Runtime (CLR)Windows 7, Windows Vista,Windows XP,Windows Server 2008Microsoft .NET Framework 3.5
  • 45.
  • 46.
    CLR – CommonLanguaje RuntimeArquitecturas de Ejecución de Aplicaciones
  • 47.
    CLR – CommonLanguage RuntimeEl CLR es el motor de ejecución (runtime) de .NETCaracterísticasCompilació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 SeguridadMultithreading
  • 48.
  • 49.
    Assembly (MSIL)CompiladorBibliotecao EjecutableCLR– Proceso de CompilaciónCódigoFuenteCualquier lenguaje .NET
  • 50.
    DemoPrimer vistazo a.NetDesarrollar nuestra aplicación “HelloWorld”
  • 51.
  • 52.
    Descripción de TiposClasesClasesBaseInterfaces ImplementadasAtributos de las ClasesMétodos de las ClasesMiBiblioteca.DLLMetadataManifiesto del AssemblyCódigo CompiladoMSILNombreVersiónCulturaRecursosOtros AssembliesPermisos de SeguridadTipos ExternosAssembly
  • 53.
    Assemblies - Aplicaciones.NETUno o más AssembliesAl ejecutar una aplicación, ¿cómo ubico los assemblies necesarios?El Class Loader busca en el directorio local (preferido)Global Assembly Cache (GAC)Diferentes aplicaciones pueden usar diferentes versionesActualizaciones más simplesDesinstalación más simple
  • 54.
    .NET Framework ClassLibraryConjunto de Tipos básicos (clases, interfaces, etc.) que vienen incluídos en el .NET FrameworkLos tipos están organizados en jerarquías lógicas de nombres, denominados NAMESPACESLos tipos son INDEPENDIENTES del lenguaje de desarrolloEs extensible y totalmente orientada a objetos
  • 55.
    .NET Framework ClassLibrarySystem.WebSystem.Windows.FormsServicesUIDesign ComponentModelDescriptionHtmlControlsDiscoveryWebControlsProtocolsSystem.DrawingCaching SecurityDrawing2D PrintingConfigurationSessionStateImagingTextSystem.DataSystem.XmlOleDbOdbcXSLTSerializationCommonSqlClientXPathSystem CollectionsIOSecurityRuntimeInteropServicesConfigurationNetServiceProcessRemotingDiagnosticsReflectionTextSerializationGlobalizationResourcesThreading
  • 56.
    Common Language Specification(CLS)Especificación que estandariza una serie de características soportadas por el CLRContrato entre diseñadores de lenguajes de programación y autores de bibliotecasPermite la interoperabilidad entre lenguajesMicrosoft provee implementaciones de 4 lenguajes, todos compatibles con CLSMicrosoft Visual Basic .NETMicrosoft Visual C# .NETMicrosoft Visual J#.NETMicrosoft Visual C++.NET
  • 57.
    Common Language Specification(CLS)El resto de la industria y el sector académico han desarrollado más de 20 lenguajes compatibles con la especificación CLSC#Visual Basic.NETJ#C++.NETPerlJavaJavaScriptPHPDelphiPythonPascalHaskellRPGLISPPrologMondrianEiffelMLOberonSmalltalkSchemeCobolFortranMercuryObjective CamlAPL
  • 58.
    CLS - Eleccióndel lenguaje.NET posee un único runtime (el CLR) y un único conjunto de bibliotecas para todos los lenguajesNo hay diferencias notorias de performance entre los lenguajes provistos por MicrosoftEl lenguaje a utilizar, en gral., dependerá de su experiencia previa con otros lenguajes o de gustos personalesSi conoce Java, Delphi, C++, etc.  C#Si conoce Visual Basic o VBScript  VB.NETLos tipos de aplicaciones .NET son INDEPENDIENTES del lenguaje que elija
  • 59.
    Modelo de Ejecucióndel CLRCódigoFuenteVB.NETC++.NETC#ComponenteNo ManejadoCompilador VB.NETCompiladorC#CompiladorC++ .NETCódigo ManejadoAssemblyCódigo MSILAssemblyCódigo MSILAssemblyCódigo MSILCommon Language RuntimeCompilador JITCódigo NativoSistema Operativo (Windows)
  • 60.
    DesarrolloAssembly en lamáquinadestinoInstalaciónAssemblyClass LoaderAssemblyLoaderCompiladorJITSeguridadGarbage Collector.exe Nativo+Tabla GC Code ManagerManejador ExcepcionesSoporte MultiThreadCOM InteropDebug EngineInstalaciónPolicy<?xml version="1.0" encoding="utf-8" ?><configuration> <mscorlib> <security> <policy> <PolicyLevel version="1"> <CodeGroup class="UnionCodeGroup" version="1" PermissionSetName="Nothing" Name="All_Code" Description="Code group grants no permissions and forms the root of the code group tree."> <IMembershipCondition class="AllMembershipCondition" version="1"/> <CodeGroup class="UnionCodeGroup" version="1" PermissionSetName="FullTrust"EjecuciónModelo de Ejecución del CLR
  • 61.
    Ventajas de .NETUnificalos modelos de programaciónSimplifica aún más el desarrolloProvee un Entorno de Ejecución robusto y seguroEs independiente del lenguaje de programaciónInteroperabilidad con código existenteSimplifica la instalación y administración de las aplicacionesEs Extensible
  • 62.
    API consistente masallá del lenguaje o del modelo de programación.NET FrameworkBasado en Servidor,UI Embebido en el códigoOOP, Potencia,Acceso a bajo nivelDesarrollo Rapido,Componentes,Event DrivenASPMFC/ATL (C++)Visual BasicWindows APIUnificando los Modelos
  • 63.
    Desarrollo SimplificadoAlto nivelde abstracciónNo mas accesos COM a bajo nivelOrientado a Objetos desde el NúcleoSistema de tipos unificado (CTS)Todo es un objeto, no mas variantsComponentes de SoftwarePropiedades, métodos, eventos, y atributos incluidos en la construcción de clasesAPI organizada en forma Jerárquica
  • 64.
    Entorno de EjecuciónRobusto y SeguroGestión automática de la memoriaTodos los objetos son administrados por el Garbage CollectorManejo de ExcepcionesFuertemente tipadoSolo casteos segurosInicialización de variables obligatoriaInstalación con Cero ImpactoNo requiere registración en la Registry
  • 65.
    Independencia del lenguajeLibertaden la elección del lenguajeTodas las facilidades de la plataforma .NET están disponibles a todos los lenguajes de programación .NETLos componentes de una aplicación .NET pueden ser escritos en distintos lenguajes de alto nivel compatibles con la plataformaHerramientas compartidasDebuggers, profilers, analizadores de código, y otras trabajan para todos los lenguajes
  • 66.
    Instalación y Administraciónmás simplesUnidades de Ensamblado (“Assemblies”)Mínima unidad de distribución, versionado y administración de seguridad de aplicaciones .NETAuto-descriptas a través de un manifiesto (“manifest”)Instalaciones Cero-impactoAplicaciones y componentes pueden ser compartidas o privadasVersioningMúltiples versiones del mismo componente pueden co-existir, aún en el mismo proceso
  • 67.
    ExtensibilidadEl Framework noes una “caja negra”Sus clases pueden ser extendidas a través del mecanismo de herenciaA diferencia de COM, usamos y extendemos las clases en si mismas, no un “wrapper”Herencia entre distintos lenguajes
  • 68.
    InteroperabilidadServicios Web XML.NETFramework.NETC#COMCOM INTEROPC++VBOtros...
  • 69.
  • 70.
    MoneandoEl Proyecto MONOes una implementación en código abierto de las herramientas del Framework .NET
  • 71.
    Desarrollado por Miguelde Icaza e impulsado por Novell.
  • 72.
    Permite ejecutar aplicacionesdesarrolladas en .NET sobre las plataformas:
  • 73.
  • 74.
  • 75.
    MAC OSProyecto Mono:http://www.go-mono.com/
  • 76.
    Y Por Fin……¿Quéle paso a COBOL? Pues con la ayuda del .NET Framework, se pudo rescatar esa reliquia (que en realidad es importante por que muchas dependencias importantes aun lo usan). Fujitsu se dio a la tarea de hacer la versión .NET llamada NetCOBOL. Así que todavía hay COBOL para un buen rato 
  • 77.
    Gracias Bernardo A.Robelo JirónEmail: bernardo.robelo@gmail.comBlog: bernardorobelo.blogspot.com