SlideShare una empresa de Scribd logo
1 de 8
Introducción a la
Programación
Visual
Prof. Villelli Miguel Ángel
Introducción a la Programación Visual
Plataforma .NET
La plataforma .NET pone a nuestra disposición un conjunto de tecnologías y
herramientas que simplifican el desarrollo de aplicaciones y propone una
solución para casi cualquier tipo de aplicaciones:
• aplicaciones Windows clásicas.
• aplicaciones Web.
• servicios Windows.
• servicios Web.
Todas estas aplicaciones se pueden realizar gracias a un elemento
esencial: el Framework .NET. Este Framework se encarga, por medio de
numerosas capas de software superpuestas, de la integridad de la vida de
una aplicación, desde el desarrollo hasta la ejecución. El sistema operativo,
con el que va a interactuar, debe albergar el framework. El primer sistema
que permite incorporarlo es, por supuesto, Windows, pero hay otras
versiones disponibles que permiten la adaptación de la plataforma .NET a
sistemas tales como Linux o Unix.
El framework contiene dos elementos principales: el Common Language
Runtime y la librería de clases del .NET Framework.
La librería de clases es un conjunto de clases que se puede utilizar para el
desarrollo de cualquier aplicación. Haremos uso de ellas a lo largo de la
cursada.
Principio de funcionamiento del Common Language Runtime
En las aplicaciones de Windows tradicionales, el sistema se encarga
directamente de la ejecución del código. En efecto, éste se genera a través
del compilador asociado al lenguaje de programación utilizado para el
diseño de la aplicación. El resultado de esta compilación es un archivo
2
Prof. Villelli Miguel Ángel
binario que contiene el código especificado para el microprocesador y el
sistema operativo con los cuales debe funcionar la aplicación. No hay
compatibilidad alguna con ningún otro tipo de microprocesador o sistema
operativo.
Para convencerse de ello, basta con intentar la ejecución de una aplicación
prevista para Windows en un sistema Linux para comprobar esta
incompatibilidad. Si se intenta la ejecución en una estación de trabajo SUN,
que utiliza un tipo de microprocesador radicalmente diferente, el resultado
es idéntico. La solución para paliar estos problemas consiste en generar
para la aplicación no un código específico sino genérico, independiente de
cualquier plataforma de software o hardware. Se confía este código, en el
momento de la ejecución, a una máquina virtual que garantiza su ejecución.
Este código se llama Microsoft Intermediate Language (MSIL).
Durante la ejecución de la aplicación, la máquina virtual se hace cargo de
este código y lo traduce en instrucciones específicas para el
microprocesador de la máquina. Dicha traducción no se realiza en bloque
desde el principio de la aplicación, sino sólo en función de las necesidades.
En efecto, ¿para qué perder tiempo traduciendo el código MSIL si no se va a
utilizar nunca? Es por esta razón por lo que el compilador utilizado para esta
traducción se llama compilador Just In Time (JIT).
Las ventajas de esta solución son obvias, ya que para ejecutar una misma
aplicación en varias plataformas de hardware o software, basta con obtener
la máquina virtual capaz de efectuar la traducción. Esta máquina virtual
está disponible para todos los sistemas de Microsoft. El proyecto Mono
propone una versión de la máquina virtual para las plataformas siguientes:
• Linux
• Mac OS X
• Sun Solaris
• BSD - OpenBSD, FreeBSD, NetBSD
Están disponibles para descargar en el sitio http://www.mono-project.com.
Podemos decir entonces que el Common Language Runtime (CLR) es la
base del .NET Framework. Se puede considerar el runtime como un motor
de ejecución que administra la ejecución de código y la gestión de la
memoria. El código del que se encarga el CLR se llama código gestionado.
Los desarrolladores que usan CLR escriben el código fuente en un lenguaje
compatible con .NET, como C# o Visual Basic .NET.
En tiempo de compilación, un compilador .NET convierte el código a CIL. En
tiempo de ejecución, el compilador del CLR convierte el código CIL en
código nativo para el sistema operativo. Alternativamente, el código CIL es
compilado a código nativo en un proceso separado anterior a la ejecución.
3
Prof. Villelli Miguel Ángel
Esto acelera las posteriores ejecuciones del software debido a que la
compilación de MSIL a nativo ya no es necesaria.
El esquema siguiente muestra el conjunto de estas operaciones:
Los servicios del Common Language Runtime
La máquina virtual no se limita a efectuar la traducción del código. El código
MSIL también se llama código gestionado, lo que supone que se llevará a
cabo un cierto número de operaciones adicionales sobre el código en tiempo
de ejecución. La figura siguiente muestra el conjunto de las funcionalidades
disponibles en el CLR.
Class Loader: Gestiona la carga en memoria de las instancias de clases.
IL to Native Compilers: Convierte el código intermedio (MSIL) en código
nativo.
Code Manager: Gestiona la ejecución del código.
Garbage Collector: Asegura la gestión de la memoria vigilando las
instancias de clases que ya no son accesibles.
4
Prof. Villelli Miguel Ángel
Security Engine: Permite la verificación de la identidad de la persona
requeriendo la ejecución del código y acepta o no esta ejecución, en función
de los permisos otorgados.
Debug Engine: Permite la depuración de la aplicación al encargarse por
ejemplo de la ejecución paso a paso del código.
Type Checker: Vigila el uso de variables no incializadas y las conversiones
entre variables de tipo diferente.
Exception Manager: Facilita la gestión estructurada de las excepciones en
relación con Windows Structured Exception Handling (SEH). Esta técnica
permite una gestión individual de cada excepción más que una gestión
global.
Thread Support: Propone un conjunto de clases que permite la realización
de aplicaciones multihilo.
COM Marshaler: Permite traducir llamadas hacia componentes COM,
asegurando, por ejemplo, la conversión de los tipos de datos.
Base Class Library Support: Facilita el acceso a los servicios disponibles
en el sistema operativo anfitrión.
La Base Class Library
El Framework .NET pone a disposición de los desarrolladores un conjunto de
herramientas que les permite obtener una solución rápida a la mayoría de
los problemas encontrados durante el desarrollo de una aplicación.
Estas herramientas están disponibles en forma de clases. Al contrario que
las librerías de código de los lenguajes de la generación anterior, que sólo
eran una lista sin fin de procedimientos o funciones, la librería de clases se
organiza bajo la forma de una estructura jerarquizada. El elemento esencial
de esta jerarquización es el espacio de nombres (Namespace). Permite la
agrupación lógica de clases que tienen puntos en común. Por ejemplo,
encontramos en el namespace System.Data todas las clases necesarias para
acceder a una base de datos.
Naturalmente esta librería de clases es independiente de cualquier lenguaje
de programación. Permite, pues, la mezcla de diferentes lenguajes a lo
largo del desarollo de una aplicación. También está perfectamente integrada
a Visual Studio, lo que nos procura comodidad en el uso gracias a
herramientas tales como Intelissence. Como esta librería está orientada a
objetos, es fácilmente extensible a través de relaciones de herencia.
La librería contiene una cantidad impresionante de espacios de nombres y
clases; tanto es así que, durante el desarrollo de sus aplicaciones con Visual
C#, es probable que usted nunca utilice algunos de ellos.
Los espacios de nombres usados más frecuentemente son los siguientes:
5
Prof. Villelli Miguel Ángel
System: Es el espacio de nombres raíz para los tipos de datos en el
Framework .NET. Contiene, en particular, la definición de la clase Object,
que es el ancestro de todos los tipos de datos del Framework .NET.
System.Windows: Contiene el conjunto de los elementos que permiten la
creación de interfaces de usuarios de Windows.
System.Web : Contiene todos los recursos necesarios para la creación de
aplicaciones Web, con, por ejemplo, las clases de la tecnología ASP.NET o
las clases necesarias para la creación de servicios Web XML.
System.data: Contiene un conjunto de clases especializadas en el acceso a
las bases de datos con el soporte de ADO.NET.
System.Xml: El lenguaje Xml se ha hecho omnipresente y este espacio de
nombres contiene las clases que aseguran la manipulación de documentos
Xml.
Las versiones y evoluciones de la plataforma .NET
La primera versión (1.0) de la plataforma .NET sale en enero del 2002 con
Visual Studio 2002. Esta versión es sustituida rápidamente por la versión
1.1, que corrige algunos problemas de juventud de la versión anterior y
añade tecnologías que sólo estaban disponibles anteriormente como
instalaciones independientes y son ahora incluidas. Las aportaciones de esta
versión son principalmente:
Los controles ASP.NET para móviles (antiguamente Microsoft Mobile
Internet Toolkit), que extienden el Framework .NET sobre los periféricos
móviles (sin cable) tales como teléfonos móviles y asistentes digitales
personales.
El proveedor de datos .NET Framework para ODBC y el proveedor de datos
para Oracle, que previamente sólo estaban disponibles a través de
descarga, vienen, a partir de ahora, integrados en el .NET Framework.
La compatibilidad con el nuevo protocolo de Internet, comúnmente llamado
IP versión 6 o más sencillamente IPv6. Este protocolo está diseñado para
aumentar de manera sensible el espacio de direccionamiento utilizado para
identificar los puntos de entrada de comunicación con Internet.
El desarollo de aplicaciones Web es también cada vez más fácil con la nueva
versión de ASP.NET, que propone una multitud de nuevos controles.
La clase Console es mejorada con la inserción de nuevas propiedades y
métodos (gestión de los colores, borrado, posición del cursor...).
El .NET Framework 2.0 vuelve a introducir la funcionalidad Modificar y
Continuar, que permite al usuario que depura una aplicación en Visual
Studio modificar el código fuente en modo parado. Una vez aplicadas las
6
Prof. Villelli Miguel Ángel
modificaciones del código fuente, el usuario puede retomar la ejecución del
código y observar el efecto.
La aparición de la noción de genérico, que permite declarar y definir la las
clases, estructuras, interfaces, métodos y delegados con parámetros de tipo
no especificado o genérico en lugar de tipos específicos. Los tipos reales se
especifican posteriormente durante la utilización.
La versión 3.0 llega en noviembre del 2006 y aporta nuevas tecnologías, a
la vez que sigue siendo principalmente una versión 2.0. Estas tecnologías
están disponibles en descargas que vienen a integrarse al framework 2.0. A
continuación echamos un vistazo a estas novedades:
Windows Presentation Foundation (WPF) representa el nuevo sistema de
interfaces gráficas. Se basa en un motor de aspecto vectorial y permite una
separación más clara entre la definición de la interfaz gráfica de una
aplicación y su código. Para esto utiliza el lenguaje XAML (eXtensible
Application Markup Language). Las tareas se pueden repartir más
facilmente entre diseñadores y desarrolladores.
Windows Communication Foundation (WCF) constituye la nueva base de
desarrollo de aplicaciones distribuidas. Facilita la comunicación entre
aplicaciones añadiendo una capa de abstracción que uniforma las técnicas
de comunicación entre aplicaciones (Servicios Web, .NET Remoting,
Microsoft Transaction Server y Microsoft Message Queuing…).
Windows Workflow Foundation (WF) está compuesto por un modelo de
programación de un motor de ejecución y herramientas para integrar flujos
de trabajo en una aplicación. Se puede definir un flujo de trabajo como un
conjunto de acciones o etapas que se ejecutan en un orden predefinido.
Estas acciones se pueden encadenar en función de condiciones,
interacciones con procesos informáticos o en función de interacciones
humanas.
Windows Cardspace facilita una nueva técnica a los usuarios para
identificarse en una aplicación. Tiene la misma vocación que Microsoft
Passport, pero no es específica para las aplicaciones de Microsoft (Hotmail,
MSDN…).
La versión 3.5 de noviembre del 2007 aporta principalmente mejoras y
evoluciones a las tecnologías aparecidas con la versión 3.0. La única
verdadera novedad de esta versión corresponde a la aparición del lenguaje
LINQ (Language Integrated Query). El objetivo de este lenguaje consiste en
uniformar el método utilizado para extraer información de una fuente de
datos. Este nuevo lenguaje permite consultar colecciones de objetos, bases
de datos de SQL Server, DataSet ADO.NET y documentos XML con la misma
síntaxis.
La versión 4.0 disponible desde mayo del 2010 mejora aún más las
capacidades y funcionalidades disponibles. Entre sus novedades podemos
señalar:
7
Prof. Villelli Miguel Ángel
La mejora del recolector de basura, que se ejecuta ahora en segundo plano.
Durante una operación de recolección, los hilos de la aplicación ya no
quedan en suspenso durante la limpieza de la memoria, lo que aumenta de
forma efectiva la capacidad de reacción de la aplicación.
El añadido de un núcleo de ejecución para poder trabajar lenguajes
dinámicos tales como IronPython y IronRuby. Con este tipo de lenguajes,
los tipos de variables ya no sólo pueden ser fijados en el momento del
diseño de la aplicación, sino también durante su ejecución.
La disponibilidad de nuevos tipos de datos, como BigInteger y Complex,
permiten respectivamente el uso de valores numéricos enteros sin límite
superior o inferior y la manipulación de números complejos.
La mejora de las clases de manipulación del sistema de archivos y la
creación de archivos mapeados en memoria.
Poder trabajar más fácilmente los procesadores multinúcleo que permiten el
reparto de las tareas mediante la programación paralela.
8

Más contenido relacionado

La actualidad más candente

Introduccion a la plataforma .NET
Introduccion a la plataforma .NETIntroduccion a la plataforma .NET
Introduccion a la plataforma .NETjnarchie
 
Republica bolivariana de venezuela 2
Republica bolivariana de venezuela 2Republica bolivariana de venezuela 2
Republica bolivariana de venezuela 2cristian Salazar L
 
visual basic .net
visual basic .netvisual basic .net
visual basic .netronald_a_go
 
Introduccion a Visual Studio .NET
Introduccion a Visual Studio .NETIntroduccion a Visual Studio .NET
Introduccion a Visual Studio .NETjnarchie
 
Cuadro comparativo de herramientas de programacion eclipse, java
Cuadro comparativo de herramientas de programacion eclipse, javaCuadro comparativo de herramientas de programacion eclipse, java
Cuadro comparativo de herramientas de programacion eclipse, javaCCCRiis
 
Framework .NET 3.5 04 El common language runtime
Framework .NET 3.5 04 El common language runtimeFramework .NET 3.5 04 El common language runtime
Framework .NET 3.5 04 El common language runtimeAntonio Palomares Sender
 
Visual basic
Visual basicVisual basic
Visual basicsandrap0
 
Entendiendo el .NET Framework
Entendiendo el .NET FrameworkEntendiendo el .NET Framework
Entendiendo el .NET FrameworkSorey García
 
Visual basic 6.0
Visual basic 6.0 Visual basic 6.0
Visual basic 6.0 Adrian Daza
 
Tecnologia Microsoft .Net - [Asp .Net - Parte 1]
Tecnologia Microsoft .Net - [Asp .Net - Parte 1]Tecnologia Microsoft .Net - [Asp .Net - Parte 1]
Tecnologia Microsoft .Net - [Asp .Net - Parte 1]Antonio Torres
 
Unidad 3 topicos avanzados de programacion
Unidad 3 topicos avanzados de programacionUnidad 3 topicos avanzados de programacion
Unidad 3 topicos avanzados de programacionIrving Che
 
Como funciona Visual Studio
Como funciona Visual StudioComo funciona Visual Studio
Como funciona Visual StudioMcGuix Bermeo
 
Diferencias entre php y oracle
Diferencias entre php y oracleDiferencias entre php y oracle
Diferencias entre php y oracleErick Mancero
 
Curso.de.introducción.net.con.visual.basic.2010
Curso.de.introducción.net.con.visual.basic.2010Curso.de.introducción.net.con.visual.basic.2010
Curso.de.introducción.net.con.visual.basic.2010Wilberth Rojas Aguilar
 
Grado 11 b visual basic equipo Azul
Grado 11 b visual basic equipo Azul Grado 11 b visual basic equipo Azul
Grado 11 b visual basic equipo Azul Juan pablo Obregon
 

La actualidad más candente (20)

Visual studio 2010
Visual studio 2010Visual studio 2010
Visual studio 2010
 
Introduccion a la plataforma .NET
Introduccion a la plataforma .NETIntroduccion a la plataforma .NET
Introduccion a la plataforma .NET
 
Republica bolivariana de venezuela 2
Republica bolivariana de venezuela 2Republica bolivariana de venezuela 2
Republica bolivariana de venezuela 2
 
visual basic .net
visual basic .netvisual basic .net
visual basic .net
 
Introduccion a Visual Studio .NET
Introduccion a Visual Studio .NETIntroduccion a Visual Studio .NET
Introduccion a Visual Studio .NET
 
Cuadro comparativo de herramientas de programacion eclipse, java
Cuadro comparativo de herramientas de programacion eclipse, javaCuadro comparativo de herramientas de programacion eclipse, java
Cuadro comparativo de herramientas de programacion eclipse, java
 
Framework .NET 3.5 04 El common language runtime
Framework .NET 3.5 04 El common language runtimeFramework .NET 3.5 04 El common language runtime
Framework .NET 3.5 04 El common language runtime
 
Programación .NET
Programación .NETProgramación .NET
Programación .NET
 
El framework .net
El framework .netEl framework .net
El framework .net
 
Visual basic
Visual basicVisual basic
Visual basic
 
Entendiendo el .NET Framework
Entendiendo el .NET FrameworkEntendiendo el .NET Framework
Entendiendo el .NET Framework
 
Visual basic 6.0
Visual basic 6.0 Visual basic 6.0
Visual basic 6.0
 
Tecnologia Microsoft .Net - [Asp .Net - Parte 1]
Tecnologia Microsoft .Net - [Asp .Net - Parte 1]Tecnologia Microsoft .Net - [Asp .Net - Parte 1]
Tecnologia Microsoft .Net - [Asp .Net - Parte 1]
 
Unidad 3 topicos avanzados de programacion
Unidad 3 topicos avanzados de programacionUnidad 3 topicos avanzados de programacion
Unidad 3 topicos avanzados de programacion
 
Como funciona Visual Studio
Como funciona Visual StudioComo funciona Visual Studio
Como funciona Visual Studio
 
Diferencias entre php y oracle
Diferencias entre php y oracleDiferencias entre php y oracle
Diferencias entre php y oracle
 
Curso.de.introducción.net.con.visual.basic.2010
Curso.de.introducción.net.con.visual.basic.2010Curso.de.introducción.net.con.visual.basic.2010
Curso.de.introducción.net.con.visual.basic.2010
 
Grado 11 b visual basic equipo Azul
Grado 11 b visual basic equipo Azul Grado 11 b visual basic equipo Azul
Grado 11 b visual basic equipo Azul
 
Bea
BeaBea
Bea
 
Instalacion jdk
Instalacion jdkInstalacion jdk
Instalacion jdk
 

Destacado

Ámbito de las variables resumen de la clase
Ámbito de las variables resumen de la claseÁmbito de las variables resumen de la clase
Ámbito de las variables resumen de la clasemiguelangelvillelli
 
Procedimiento básico de interacción con una base de datos
Procedimiento básico de interacción con una base de datosProcedimiento básico de interacción con una base de datos
Procedimiento básico de interacción con una base de datosmiguelangelvillelli
 
Análisis de la situación Módulo de gestión de usuarios
Análisis de la situación Módulo de gestión de usuariosAnálisis de la situación Módulo de gestión de usuarios
Análisis de la situación Módulo de gestión de usuariosmiguelangelvillelli
 
Ejecución de instrucción T-Sql usando Visual Studio y C SHARP
Ejecución de instrucción T-Sql usando Visual Studio y C SHARPEjecución de instrucción T-Sql usando Visual Studio y C SHARP
Ejecución de instrucción T-Sql usando Visual Studio y C SHARPmiguelangelvillelli
 

Destacado (10)

Operadores C SHARP
Operadores C SHARPOperadores C SHARP
Operadores C SHARP
 
Las estructuras de control
Las estructuras de controlLas estructuras de control
Las estructuras de control
 
Las variables y constantes
Las variables y constantesLas variables y constantes
Las variables y constantes
 
Ámbito de las variables resumen de la clase
Ámbito de las variables resumen de la claseÁmbito de las variables resumen de la clase
Ámbito de las variables resumen de la clase
 
Procedimiento básico de interacción con una base de datos
Procedimiento básico de interacción con una base de datosProcedimiento básico de interacción con una base de datos
Procedimiento básico de interacción con una base de datos
 
Manejo de excepciones C-SHARP
Manejo de excepciones C-SHARPManejo de excepciones C-SHARP
Manejo de excepciones C-SHARP
 
Variables y constantes
Variables  y constantesVariables  y constantes
Variables y constantes
 
Análisis de la situación Módulo de gestión de usuarios
Análisis de la situación Módulo de gestión de usuariosAnálisis de la situación Módulo de gestión de usuarios
Análisis de la situación Módulo de gestión de usuarios
 
Módulo gestión de usuarios
Módulo gestión de usuariosMódulo gestión de usuarios
Módulo gestión de usuarios
 
Ejecución de instrucción T-Sql usando Visual Studio y C SHARP
Ejecución de instrucción T-Sql usando Visual Studio y C SHARPEjecución de instrucción T-Sql usando Visual Studio y C SHARP
Ejecución de instrucción T-Sql usando Visual Studio y C SHARP
 

Similar a Introducción a la programación visual

Microsoft .NET Propuesta
Microsoft .NET PropuestaMicrosoft .NET Propuesta
Microsoft .NET PropuestaMarcel Aponte
 
Curso.de.introducción.net.con.visual.basic.2010
Curso.de.introducción.net.con.visual.basic.2010Curso.de.introducción.net.con.visual.basic.2010
Curso.de.introducción.net.con.visual.basic.2010Alex Barrios
 
Curso.de.introducción.net.con.visual.basic.2010
Curso.de.introducción.net.con.visual.basic.2010Curso.de.introducción.net.con.visual.basic.2010
Curso.de.introducción.net.con.visual.basic.2010Oliver Benitez
 
Curso de-introduccin-net-con-visual-basic-2010-120611103429-phpapp02
Curso de-introduccin-net-con-visual-basic-2010-120611103429-phpapp02Curso de-introduccin-net-con-visual-basic-2010-120611103429-phpapp02
Curso de-introduccin-net-con-visual-basic-2010-120611103429-phpapp02Flor Santana Mota
 
Curso de-introduccin-net-con-visual-basic-2010-120611103429-phpapp02
Curso de-introduccin-net-con-visual-basic-2010-120611103429-phpapp02Curso de-introduccin-net-con-visual-basic-2010-120611103429-phpapp02
Curso de-introduccin-net-con-visual-basic-2010-120611103429-phpapp02Flor Santana Mota
 
Introducción a net
Introducción a netIntroducción a net
Introducción a netinfobran
 
itio de realizacion de un blog blogs blogspot
itio de realizacion de un blog blogs blogspotitio de realizacion de un blog blogs blogspot
itio de realizacion de un blog blogs blogspotpaolatublog
 
Conceptos de Plataforma.Net
Conceptos de Plataforma.NetConceptos de Plataforma.Net
Conceptos de Plataforma.NetJesús R. Tineo
 

Similar a Introducción a la programación visual (20)

michael ascanio
michael ascaniomichael ascanio
michael ascanio
 
Microsoft .NET Propuesta
Microsoft .NET PropuestaMicrosoft .NET Propuesta
Microsoft .NET Propuesta
 
Plataforma net
Plataforma netPlataforma net
Plataforma net
 
Introduccion.net
Introduccion.net Introduccion.net
Introduccion.net
 
Curso.de.introducción.net.con.visual.basic.2010
Curso.de.introducción.net.con.visual.basic.2010Curso.de.introducción.net.con.visual.basic.2010
Curso.de.introducción.net.con.visual.basic.2010
 
1 introduccion.net
1 introduccion.net1 introduccion.net
1 introduccion.net
 
1 introduccion.net
1 introduccion.net1 introduccion.net
1 introduccion.net
 
1 introduccion.net
1 introduccion.net1 introduccion.net
1 introduccion.net
 
Curso.de.introducción.net.con.visual.basic.2010
Curso.de.introducción.net.con.visual.basic.2010Curso.de.introducción.net.con.visual.basic.2010
Curso.de.introducción.net.con.visual.basic.2010
 
Curso de-introduccin-net-con-visual-basic-2010-120611103429-phpapp02
Curso de-introduccin-net-con-visual-basic-2010-120611103429-phpapp02Curso de-introduccin-net-con-visual-basic-2010-120611103429-phpapp02
Curso de-introduccin-net-con-visual-basic-2010-120611103429-phpapp02
 
Curso de-introduccin-net-con-visual-basic-2010-120611103429-phpapp02
Curso de-introduccin-net-con-visual-basic-2010-120611103429-phpapp02Curso de-introduccin-net-con-visual-basic-2010-120611103429-phpapp02
Curso de-introduccin-net-con-visual-basic-2010-120611103429-phpapp02
 
Introducción a net
Introducción a netIntroducción a net
Introducción a net
 
Introducción a net
Introducción a netIntroducción a net
Introducción a net
 
Paola
PaolaPaola
Paola
 
Paola
PaolaPaola
Paola
 
Paola
PaolaPaola
Paola
 
itio de realizacion de un blog blogs blogspot
itio de realizacion de un blog blogs blogspotitio de realizacion de un blog blogs blogspot
itio de realizacion de un blog blogs blogspot
 
Paola
PaolaPaola
Paola
 
Paola 1001 jt
Paola 1001 jtPaola 1001 jt
Paola 1001 jt
 
Conceptos de Plataforma.Net
Conceptos de Plataforma.NetConceptos de Plataforma.Net
Conceptos de Plataforma.Net
 

Último

Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosCesarFernandez937857
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxAna Fernandez
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.José Luis Palma
 
30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdfgimenanahuel
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxjosetrinidadchavez
 
Historia y técnica del collage en el arte
Historia y técnica del collage en el arteHistoria y técnica del collage en el arte
Historia y técnica del collage en el arteRaquel Martín Contreras
 
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSTEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSjlorentemartos
 
La Función tecnológica del tutor.pptx
La  Función  tecnológica  del tutor.pptxLa  Función  tecnológica  del tutor.pptx
La Función tecnológica del tutor.pptxJunkotantik
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMarjorie Burga
 
Resolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdf
Resolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdfResolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdf
Resolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónLourdes Feria
 
codigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinacodigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinavergarakarina022
 
2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdfBaker Publishing Company
 
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptxPRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptxinformacionasapespu
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADauxsoporte
 
GLOSAS Y PALABRAS ACTO 2 DE ABRIL 2024.docx
GLOSAS  Y PALABRAS ACTO 2 DE ABRIL 2024.docxGLOSAS  Y PALABRAS ACTO 2 DE ABRIL 2024.docx
GLOSAS Y PALABRAS ACTO 2 DE ABRIL 2024.docxAleParedes11
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Carlos Muñoz
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADOJosé Luis Palma
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PCCesarFernandez937857
 

Último (20)

Defendamos la verdad. La defensa es importante.
Defendamos la verdad. La defensa es importante.Defendamos la verdad. La defensa es importante.
Defendamos la verdad. La defensa es importante.
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos Básicos
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docx
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.
 
30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
 
Historia y técnica del collage en el arte
Historia y técnica del collage en el arteHistoria y técnica del collage en el arte
Historia y técnica del collage en el arte
 
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSTEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
 
La Función tecnológica del tutor.pptx
La  Función  tecnológica  del tutor.pptxLa  Función  tecnológica  del tutor.pptx
La Función tecnológica del tutor.pptx
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grande
 
Resolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdf
Resolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdfResolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdf
Resolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdf
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcción
 
codigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinacodigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karina
 
2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf
 
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptxPRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDAD
 
GLOSAS Y PALABRAS ACTO 2 DE ABRIL 2024.docx
GLOSAS  Y PALABRAS ACTO 2 DE ABRIL 2024.docxGLOSAS  Y PALABRAS ACTO 2 DE ABRIL 2024.docx
GLOSAS Y PALABRAS ACTO 2 DE ABRIL 2024.docx
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PC
 

Introducción a la programación visual

  • 2. Prof. Villelli Miguel Ángel Introducción a la Programación Visual Plataforma .NET La plataforma .NET pone a nuestra disposición un conjunto de tecnologías y herramientas que simplifican el desarrollo de aplicaciones y propone una solución para casi cualquier tipo de aplicaciones: • aplicaciones Windows clásicas. • aplicaciones Web. • servicios Windows. • servicios Web. Todas estas aplicaciones se pueden realizar gracias a un elemento esencial: el Framework .NET. Este Framework se encarga, por medio de numerosas capas de software superpuestas, de la integridad de la vida de una aplicación, desde el desarrollo hasta la ejecución. El sistema operativo, con el que va a interactuar, debe albergar el framework. El primer sistema que permite incorporarlo es, por supuesto, Windows, pero hay otras versiones disponibles que permiten la adaptación de la plataforma .NET a sistemas tales como Linux o Unix. El framework contiene dos elementos principales: el Common Language Runtime y la librería de clases del .NET Framework. La librería de clases es un conjunto de clases que se puede utilizar para el desarrollo de cualquier aplicación. Haremos uso de ellas a lo largo de la cursada. Principio de funcionamiento del Common Language Runtime En las aplicaciones de Windows tradicionales, el sistema se encarga directamente de la ejecución del código. En efecto, éste se genera a través del compilador asociado al lenguaje de programación utilizado para el diseño de la aplicación. El resultado de esta compilación es un archivo 2
  • 3. Prof. Villelli Miguel Ángel binario que contiene el código especificado para el microprocesador y el sistema operativo con los cuales debe funcionar la aplicación. No hay compatibilidad alguna con ningún otro tipo de microprocesador o sistema operativo. Para convencerse de ello, basta con intentar la ejecución de una aplicación prevista para Windows en un sistema Linux para comprobar esta incompatibilidad. Si se intenta la ejecución en una estación de trabajo SUN, que utiliza un tipo de microprocesador radicalmente diferente, el resultado es idéntico. La solución para paliar estos problemas consiste en generar para la aplicación no un código específico sino genérico, independiente de cualquier plataforma de software o hardware. Se confía este código, en el momento de la ejecución, a una máquina virtual que garantiza su ejecución. Este código se llama Microsoft Intermediate Language (MSIL). Durante la ejecución de la aplicación, la máquina virtual se hace cargo de este código y lo traduce en instrucciones específicas para el microprocesador de la máquina. Dicha traducción no se realiza en bloque desde el principio de la aplicación, sino sólo en función de las necesidades. En efecto, ¿para qué perder tiempo traduciendo el código MSIL si no se va a utilizar nunca? Es por esta razón por lo que el compilador utilizado para esta traducción se llama compilador Just In Time (JIT). Las ventajas de esta solución son obvias, ya que para ejecutar una misma aplicación en varias plataformas de hardware o software, basta con obtener la máquina virtual capaz de efectuar la traducción. Esta máquina virtual está disponible para todos los sistemas de Microsoft. El proyecto Mono propone una versión de la máquina virtual para las plataformas siguientes: • Linux • Mac OS X • Sun Solaris • BSD - OpenBSD, FreeBSD, NetBSD Están disponibles para descargar en el sitio http://www.mono-project.com. Podemos decir entonces que el Common Language Runtime (CLR) es la base del .NET Framework. Se puede considerar el runtime como un motor de ejecución que administra la ejecución de código y la gestión de la memoria. El código del que se encarga el CLR se llama código gestionado. Los desarrolladores que usan CLR escriben el código fuente en un lenguaje compatible con .NET, como C# o Visual Basic .NET. En tiempo de compilación, un compilador .NET convierte el código a CIL. En tiempo de ejecución, el compilador del CLR convierte el código CIL en código nativo para el sistema operativo. Alternativamente, el código CIL es compilado a código nativo en un proceso separado anterior a la ejecución. 3
  • 4. Prof. Villelli Miguel Ángel Esto acelera las posteriores ejecuciones del software debido a que la compilación de MSIL a nativo ya no es necesaria. El esquema siguiente muestra el conjunto de estas operaciones: Los servicios del Common Language Runtime La máquina virtual no se limita a efectuar la traducción del código. El código MSIL también se llama código gestionado, lo que supone que se llevará a cabo un cierto número de operaciones adicionales sobre el código en tiempo de ejecución. La figura siguiente muestra el conjunto de las funcionalidades disponibles en el CLR. Class Loader: Gestiona la carga en memoria de las instancias de clases. IL to Native Compilers: Convierte el código intermedio (MSIL) en código nativo. Code Manager: Gestiona la ejecución del código. Garbage Collector: Asegura la gestión de la memoria vigilando las instancias de clases que ya no son accesibles. 4
  • 5. Prof. Villelli Miguel Ángel Security Engine: Permite la verificación de la identidad de la persona requeriendo la ejecución del código y acepta o no esta ejecución, en función de los permisos otorgados. Debug Engine: Permite la depuración de la aplicación al encargarse por ejemplo de la ejecución paso a paso del código. Type Checker: Vigila el uso de variables no incializadas y las conversiones entre variables de tipo diferente. Exception Manager: Facilita la gestión estructurada de las excepciones en relación con Windows Structured Exception Handling (SEH). Esta técnica permite una gestión individual de cada excepción más que una gestión global. Thread Support: Propone un conjunto de clases que permite la realización de aplicaciones multihilo. COM Marshaler: Permite traducir llamadas hacia componentes COM, asegurando, por ejemplo, la conversión de los tipos de datos. Base Class Library Support: Facilita el acceso a los servicios disponibles en el sistema operativo anfitrión. La Base Class Library El Framework .NET pone a disposición de los desarrolladores un conjunto de herramientas que les permite obtener una solución rápida a la mayoría de los problemas encontrados durante el desarrollo de una aplicación. Estas herramientas están disponibles en forma de clases. Al contrario que las librerías de código de los lenguajes de la generación anterior, que sólo eran una lista sin fin de procedimientos o funciones, la librería de clases se organiza bajo la forma de una estructura jerarquizada. El elemento esencial de esta jerarquización es el espacio de nombres (Namespace). Permite la agrupación lógica de clases que tienen puntos en común. Por ejemplo, encontramos en el namespace System.Data todas las clases necesarias para acceder a una base de datos. Naturalmente esta librería de clases es independiente de cualquier lenguaje de programación. Permite, pues, la mezcla de diferentes lenguajes a lo largo del desarollo de una aplicación. También está perfectamente integrada a Visual Studio, lo que nos procura comodidad en el uso gracias a herramientas tales como Intelissence. Como esta librería está orientada a objetos, es fácilmente extensible a través de relaciones de herencia. La librería contiene una cantidad impresionante de espacios de nombres y clases; tanto es así que, durante el desarrollo de sus aplicaciones con Visual C#, es probable que usted nunca utilice algunos de ellos. Los espacios de nombres usados más frecuentemente son los siguientes: 5
  • 6. Prof. Villelli Miguel Ángel System: Es el espacio de nombres raíz para los tipos de datos en el Framework .NET. Contiene, en particular, la definición de la clase Object, que es el ancestro de todos los tipos de datos del Framework .NET. System.Windows: Contiene el conjunto de los elementos que permiten la creación de interfaces de usuarios de Windows. System.Web : Contiene todos los recursos necesarios para la creación de aplicaciones Web, con, por ejemplo, las clases de la tecnología ASP.NET o las clases necesarias para la creación de servicios Web XML. System.data: Contiene un conjunto de clases especializadas en el acceso a las bases de datos con el soporte de ADO.NET. System.Xml: El lenguaje Xml se ha hecho omnipresente y este espacio de nombres contiene las clases que aseguran la manipulación de documentos Xml. Las versiones y evoluciones de la plataforma .NET La primera versión (1.0) de la plataforma .NET sale en enero del 2002 con Visual Studio 2002. Esta versión es sustituida rápidamente por la versión 1.1, que corrige algunos problemas de juventud de la versión anterior y añade tecnologías que sólo estaban disponibles anteriormente como instalaciones independientes y son ahora incluidas. Las aportaciones de esta versión son principalmente: Los controles ASP.NET para móviles (antiguamente Microsoft Mobile Internet Toolkit), que extienden el Framework .NET sobre los periféricos móviles (sin cable) tales como teléfonos móviles y asistentes digitales personales. El proveedor de datos .NET Framework para ODBC y el proveedor de datos para Oracle, que previamente sólo estaban disponibles a través de descarga, vienen, a partir de ahora, integrados en el .NET Framework. La compatibilidad con el nuevo protocolo de Internet, comúnmente llamado IP versión 6 o más sencillamente IPv6. Este protocolo está diseñado para aumentar de manera sensible el espacio de direccionamiento utilizado para identificar los puntos de entrada de comunicación con Internet. El desarollo de aplicaciones Web es también cada vez más fácil con la nueva versión de ASP.NET, que propone una multitud de nuevos controles. La clase Console es mejorada con la inserción de nuevas propiedades y métodos (gestión de los colores, borrado, posición del cursor...). El .NET Framework 2.0 vuelve a introducir la funcionalidad Modificar y Continuar, que permite al usuario que depura una aplicación en Visual Studio modificar el código fuente en modo parado. Una vez aplicadas las 6
  • 7. Prof. Villelli Miguel Ángel modificaciones del código fuente, el usuario puede retomar la ejecución del código y observar el efecto. La aparición de la noción de genérico, que permite declarar y definir la las clases, estructuras, interfaces, métodos y delegados con parámetros de tipo no especificado o genérico en lugar de tipos específicos. Los tipos reales se especifican posteriormente durante la utilización. La versión 3.0 llega en noviembre del 2006 y aporta nuevas tecnologías, a la vez que sigue siendo principalmente una versión 2.0. Estas tecnologías están disponibles en descargas que vienen a integrarse al framework 2.0. A continuación echamos un vistazo a estas novedades: Windows Presentation Foundation (WPF) representa el nuevo sistema de interfaces gráficas. Se basa en un motor de aspecto vectorial y permite una separación más clara entre la definición de la interfaz gráfica de una aplicación y su código. Para esto utiliza el lenguaje XAML (eXtensible Application Markup Language). Las tareas se pueden repartir más facilmente entre diseñadores y desarrolladores. Windows Communication Foundation (WCF) constituye la nueva base de desarrollo de aplicaciones distribuidas. Facilita la comunicación entre aplicaciones añadiendo una capa de abstracción que uniforma las técnicas de comunicación entre aplicaciones (Servicios Web, .NET Remoting, Microsoft Transaction Server y Microsoft Message Queuing…). Windows Workflow Foundation (WF) está compuesto por un modelo de programación de un motor de ejecución y herramientas para integrar flujos de trabajo en una aplicación. Se puede definir un flujo de trabajo como un conjunto de acciones o etapas que se ejecutan en un orden predefinido. Estas acciones se pueden encadenar en función de condiciones, interacciones con procesos informáticos o en función de interacciones humanas. Windows Cardspace facilita una nueva técnica a los usuarios para identificarse en una aplicación. Tiene la misma vocación que Microsoft Passport, pero no es específica para las aplicaciones de Microsoft (Hotmail, MSDN…). La versión 3.5 de noviembre del 2007 aporta principalmente mejoras y evoluciones a las tecnologías aparecidas con la versión 3.0. La única verdadera novedad de esta versión corresponde a la aparición del lenguaje LINQ (Language Integrated Query). El objetivo de este lenguaje consiste en uniformar el método utilizado para extraer información de una fuente de datos. Este nuevo lenguaje permite consultar colecciones de objetos, bases de datos de SQL Server, DataSet ADO.NET y documentos XML con la misma síntaxis. La versión 4.0 disponible desde mayo del 2010 mejora aún más las capacidades y funcionalidades disponibles. Entre sus novedades podemos señalar: 7
  • 8. Prof. Villelli Miguel Ángel La mejora del recolector de basura, que se ejecuta ahora en segundo plano. Durante una operación de recolección, los hilos de la aplicación ya no quedan en suspenso durante la limpieza de la memoria, lo que aumenta de forma efectiva la capacidad de reacción de la aplicación. El añadido de un núcleo de ejecución para poder trabajar lenguajes dinámicos tales como IronPython y IronRuby. Con este tipo de lenguajes, los tipos de variables ya no sólo pueden ser fijados en el momento del diseño de la aplicación, sino también durante su ejecución. La disponibilidad de nuevos tipos de datos, como BigInteger y Complex, permiten respectivamente el uso de valores numéricos enteros sin límite superior o inferior y la manipulación de números complejos. La mejora de las clases de manipulación del sistema de archivos y la creación de archivos mapeados en memoria. Poder trabajar más fácilmente los procesadores multinúcleo que permiten el reparto de las tareas mediante la programación paralela. 8