2. Windows Communication Foundation o WCF (también
conocido como Indigo), es la plataforma de mensajería
que forma parte de la API de la Plataforma .NET 3.0 (antes
conocida como WinFX, y que no son más que
extensiones para la versión 2.0). Se encuentra basada en la
Plataforma .NET 2.0 y de forma predeterminada se
incluye en el Sistema Operativo Microsoft Windows Vista.
Windows Communication
Foundation
3. Fue creada con el fin de permitir una programación rápida de
sistemas distribuidos y el desarrollo de aplicaciones
basadas en arquitecturas orientadas a servicios (también
conocido como SOA), con una API simple; y que puede
ejecutarse en una máquina local, una LAN, o sobre Internet en
una forma segura.
¿CóMO FUE CREADA
Windows Communication
Foundation?
4. Orientación a servicios
Como consecuencia del uso de los estándares de WS, WCF le permite
crear aplicaciones orientadas a servicios. SOA, la arquitectura orientada
a servicios es el uso de servicios web para enviar y recibir datos. Los
servicios tienen la ventaja general de estar débilmente acoplados entre
una aplicación y otra en lugar de incluidos en el código. Una relación de
acoplamiento débil implica que cualquier cliente creado en cualquier
plataforma puede conectar con cualquier servicio siempre y cuando se
cumplan los contratos esenciales.
Varios modelos de mensajes
Los mensajes se intercambian mediante uno de los distintos modelos. El
más común es el de solicitud/respuesta, en que un extremo solicita
datos de otro extremo. y el otro extremo responde. Existen otros
modelos, como un mensaje unidireccional, en que un único extremo
envía un mensaje sin esperar ninguna respuesta.
CARACTERISTICAS DE Windows
Communication Foundation
5. Mensajes confiables y en cola
WCF admite intercambio de mensajes confiable usando sesiones confiables
implementadas sobre mensajería WS-Reliable y mediante MSMQ. Para obtener
más información sobre la compatibilidad con mensajería confiable y en cola en
WCF, vea Colas y sesiones de confianza.
Mensajes duraderos
Un mensaje duradero es aquel que nunca se pierde debido a una interrupción
de la comunicación. Los mensajes que forman parte de un modelo de mensajes
duraderos siempre se guardan en una base de datos. Si se produce una
interrupción, la base de datos le permite reanudar el intercambio de mensajes
cuando se restablezca la conexión. También puede crear un mensaje duradero
utilizando Windows Workflow Foundation (WF). Para obtener más
información, veaServicios de flujo de trabajo.
CARACTERISTICAS
6. WCF es una plataforma flexible. Debido a esta flexibilidad extrema,
WCF también se usa en varios otros productos Microsoft. Si
comprende los fundamentos de WCF, tendrá una ventaja inmediata
si también utiliza cualquiera de estos productos.
La primera tecnología en adaptarse a WCF fue Windows Workflow
Foundation (WF). Los flujos de trabajo simplifican el desarrollo de
aplicaciones encapsulando los pasos del flujo de trabajo como
“actividades”. En la primera versión de Windows Workflow
Foundation, un desarrollador tenía que crear un host para el flujo de
trabajo. La versión siguiente de Windows Workflow Foundation se
integró con WCF. Esto permitió hospedar cualquier flujo de trabajo
fácilmente en un servicio de WCF; puede hacer esto si elige
automáticamente el tipo de proyecto WF/WCF en Visual Studio 2012.
Integración de WCF con otras
tecnologías de Microsoft
WCF
7. Los desarrolladores pueden crear aplicaciones utilizando
WCF, y aunque inicialmente fue desarrollado para este
Sistema Operativo, también puede ser utilizado en Windows
XP y Windows 2003 Server. Esto debido a una decisión
tomada por Microsoft, para permitir su utilización por la
mayor parte de desarrolladores que trabajan sobre la línea
de productos relacionados con la tecnología .NET.
Desarrollando con WCF
8. Es posible crear aplicaciones basadas en WCF utilizando
Microsoft Visual Studio 2005 en su entorno de
desarrollo
integrado. Microsoft ha liberado un paquete de
extensiones y un Kit de Desarrollo que puede ser
utilizado con esta
tecnología y otras que se incluyen en la Plataforma .NET
v3.0.
CREAR APLICACIONES EN WCF
9. Microsoft Silverlight es una plataforma para la creación de
sofisticadas aplicaciones web interoperables que permiten a
los desarrolladores crear sitios Web con uso intensivo de
contenidos multimedia (como la transmisión de vídeo por
secuencias). A partir de la versión 2, Silverlight incorpora WCF
como tecnología de comunicaciones para conectar las
aplicaciones Silverlight con los extremos de WCF.
Microsoft .NET Services es una iniciativa de computación en
nube (cloud computing) que utiliza WCF para la creación de
aplicaciones habilitadas para Internet. Utilice .NET Services
para crear servicios WCF que funcionan a través de límites de
confianza.
AYUDA DE WCF
10. Un servicio seguro para procesar transacciones
comerciales.
Un servicio que proporciona datos actualizados a otras
personas, como un informe sobre tráfico u otro servicio de
supervisión.
Un servicio de chat que permite a dos personas
comunicarse o intercambiar datos en tiempo real.
Una aplicación de panel que sondea los datos de uno o
varios servicios y los muestra en una presentación lógica.
Exponer un flujo de trabajo implementado utilizando
Windows Workflow Foundation como un servicio WCF.
Una aplicación de Silverlight para sondear un servicio en
busca de las fuentes de datos más recientes.
EJEMPLOS DE Windows
Communication Foundation
12. La palabra inglesa "framework" (marco de trabajo)
define, en términos generales, un conjunto
estandarizado de
conceptos, prácticas y criterios para enfocar un tipo de
problemática particular que sirve como referencia, para
enfrentar y resolver nuevos problemas de índole similar.
QUÉ ES FRAMEWORK
13. En el desarrollo de software, un framework o infraestructura
digital, es una estructura conceptual y tecnológica de
soporte definido, normalmente con artefactos o módulos de
software concretos, que puede servir de base para la
organización y desarrollo de software. Típicamente, puede
incluir soporte de programas, bibliotecas, y un lenguaje
interpretado, entre otras herramientas, para así ayudar a
desarrollar y unir los diferentes componentes de un
proyecto.
DESARROLLO DE FRAMEWORK
14. Sin embargo, hay quejas comunes acerca de que el uso
de frameworks añade código innecesario y que la
preponderancia de frameworks competitivos y
complementarios
significa que el tiempo que se pasaba programando y
diseñando ahora se gasta en aprender a usar los frameworks.
Fuera de las aplicaciones en la informática, puede ser
considerado como el conjunto de procesos y tecnologías
usados para resolver un problema complejo. Es el esqueleto
sobre el cual varios objetos son integrados para facilitar
una solución dada.
15. Son diseñados con la intención de facilitar el desarrollo de
software, permitiendo a los diseñadores y programadores
pasar más tiempo identificando requerimientos de software que
tratando con los tediosos detalles de bajo nivel de
proveer un sistema funcional. Por ejemplo, un equipo que usa
Apache Struts para desarrollar un sitio web de un
banco, puede enfocarse en cómo los retiros de ahorros van a
funcionar en lugar de preocuparse de cómo se controla
la navegación entre las páginas en una forma libre de errores. Sin
embargo, hay quejas comunes acerca de que el uso
de frameworks añade código innecesario y que la preponderancia
de frameworks competitivos y complementarios
significa que el tiempo que se pasaba programando y diseñando
ahora se gasta en aprender a usar los frameworks.
Introducción
16. No es más que una base de programación que atiende a
sus descendientes (manejado de una forma estructural
y/o en
cascada), posibilitando cualquier respuesta ante las
necesidades de sus miembros, o en secciones de una
aplicación
(web), satisfaciendo así las necesidades más comunes
del programador
Básicos
17. Dentro del controlador, modelo o vista podemos manejar lo
siguiente: datos. Depende de nosotros como interpretar y
manejar estos 'datos'. Ahora, sabemos que el único dato de una
dirección estática web es: conseguir un archivo físico
en el disco duro o de internet, etc. e interpretado o no, el servidor
responde.
El modelo, al igual que el controlador y la vista, maneja todos los
datos que se relacionen consigo (solo es el proceso
medio de la separación por capas que ofrece la arquitectura MVC).
Y sólo la vista, puede demostrar dicha
información. Con lo cual ya hemos generado la jerarquía de nuestro
programa: Controlador, Modelo y Vista.
Estructura
18. Al parecer, debemos inyectar ciertos objetos dentro de sus
parientes en esta aplicación, solo así compartirán herencia
y coherencia en su aplicación.
Rápidamente, para una aplicación web sencilla debemos establecer
estos objetos:
• Una base (MVC)
• Controlador: éste debe ser capaz de manejar
rutas, archivos, clases, métodos y funciones.
• Modelo: es como un script habitual en el servidor, solo que
agrupado bajo un 'modelo' reutilizable.
• Vista: como incluyendo cualquier archivo en nuestra
ejecución, muy simple.
• Un sistema
• Ruteador: con él podemos dividir nuestras peticiones sin tantas
condicionales.Cargador
Lógica
19. // Index.php
// -----
// ------ Clases ------
class Base {}
class Controller extends Base {
function load($name) {
require_
$this->$name =& new $name();
}
}
class Model extends Controller {
function view($name, $data) {
extract($data);
include "app/view/" . $name . ".php";
}
}
EJEMPLOS DE FRAMEWORK
21. Si nuestro archivo se llama Foo (clase), y nuestro otro archivo, bar (método)
tenemos que crear el siguiente archivo
dentro de la carpeta app/.
// app/Foo.php
// -----
class Foo extends Controller {
function foo() {
$this->load('test');
}
function bar() {
echo '<b>Testing</b>';
echo $this->test->does();
}
}
Como resultado al solicitar (por
ejemplo, ?section=foo&name=bar), deberíamos ver el siguiente texto:
Aplicar
22. Dentro de este aspecto, podemos basarnos en el modelo MVC
(Controlador => Modelo => Vista), ya que debemos
fragmentar nuestra programación. Tenemos que contemplar estos
aspectos básicos en cuanto a la implementación de
nuestro sistema:
Modelo
Este miembro del controlador maneja las operaciones lógicas, y de
manejo de información (previamente
enviada por su ancestro), para resultar de una forma explicable y
sin titubeos. Cada miembro debe ser
meticulosamente llamado, con su correcto nombre y en principio,
con su verdadera naturaleza: el manejo de
información, su complementación directa.
Vista
Arquitectura
23. Vista
Al final, a este miembro de la familia le corresponde dibujar, o
expresar la última forma de los datos: la
interfaz gráfica que interactúa con el usuario final del programa
(GUI). Después de todo, a este miembro le
toca evidenciar la información obtenida hasta hacerla llegar al
controlador. Solo (e inicialmente), nos espera
demostrar la información.
Controlador
Con este apartado podemos controlar el acceso (incluso todo) a
nuestra aplicación, y esto puede incluir:
archivos, scripts, y/o programas; cualquier tipo de información que
permita la interfaz. Así, podremos
diversificar nuestro contenido de forma dinámica, y estática (a la
vez); pues, sólo debemos controlar ciertos
aspectos (como se ha mencionado antes).
25. La programación orientada a objetos o POO (OOP según sus
siglas en inglés) es un paradigma de programación
que usa los objetos en sus interacciones, para diseñar
aplicaciones y programas informáticos. Está basado en varias
técnicas, incluyendo herencia, cohesión, abstracción,
polimorfismo, acoplamiento y encapsulamiento. Su uso se
popularizó a principios de la década de los años 1990. En la
actualidad, existe una gran variedad de lenguajes de
programación que soportan la orientación a objetos.
QUE ES Programación orientada a
objetos
26. Los objetos son entidades que tienen un determinado
estado, comportamiento (método) e identidad:
• El estado está compuesto de datos o informaciones;
serán uno o varios atributos a los que se habrán asignado
unos valores concretos (datos).
• El comportamiento está definido por los métodos o
mensajes a los que sabe responder dicho objeto, es decir,
qué
operaciones se pueden realizar con él.
• La identidad es una propiedad de un objeto que lo
diferencia del resto; dicho con otras palabras, es su
identificador (concepto análogo al de identificador de una
variable o una constante).
Un objeto
Introducción
27. Los métodos (comportamiento) y atributos (estado) están
estrechamente relacionados por la propiedad de
conjunto. Esta propiedad destaca que una clase requiere de
métodos para poder tratar los atributos con los que
cuenta. El programador debe pensar indistintamente en ambos
conceptos, sin separar ni darle mayor importancia a
alguno de ellos. Hacerlo podría producir el hábito erróneo de crear
clases contenedoras de información por un lado y
clases con métodos que manejen a las primeras por el otro. De esta
manera se estaría realizando una programación
estructurada camuflada en un lenguaje de programación orientado
a objetos.
Métodos DE Programación
orientada a objetos
28. Los conceptos de la programación orientada a objetos
tienen origen en Simula 67, un lenguaje diseñado para
hacer
simulaciones, creado por Ole-Johan Dahl y Kristen
Nygaard, del Centro de Cómputo Noruego en Oslo. En
este
centro se trabajaba en simulaciones de naves, que
fueron confundidas por la explosión combinatoria de
cómo las
diversas cualidades de diferentes naves podían afectar
unas a las otras.
Origen
29. Conceptos fundamentales
La programación orientada a objetos es una forma de programar que trata de
encontrar una solución a estos
problemas. Introduce nuevos conceptos, que superan y amplían conceptos
antiguos ya conocidos. Entre ellos
destacan los siguientes:
Clase
Definiciones de las propiedades y comportamiento de un tipo de objeto
concreto. La instanciación es la lectura
de estas definiciones y la creación de un objeto a partir de ellas.
Herencia
(Por ejemplo, herencia de la clase C a la clase D) es la facilidad mediante la cual
la clase D hereda en ella cada
uno de los atributos y operaciones de C, como si esos atributos y operaciones
hubiesen sido definidos por la
misma D. Por lo tanto, puede usar los mismos métodos y variables públicas
declaradas en C.
Conceptos fundamentales
30. Objeto
Instancia de una clase. Entidad provista de un conjunto de
propiedades o atributos (datos) y de
comportamiento o funcionalidad (métodos), los mismos que
consecuentemente reaccionan a eventos. Se
corresponden con los objetos reales del mundo que nos rodea, o
con objetos internos del sistema (del
programa). Es una instancia a una clase.
Método
Algoritmo asociado a un objeto (o a una clase de objetos), cuya
ejecución se desencadena tras la recepción de
un "mensaje". Desde el punto de vista del comportamiento, es lo
que el objeto puede hacer. Un método puede
producir un cambio en las propiedades del objeto, o la generación
de un "evento" con un nuevo mensaje para
otro objeto del sistema.
31. Simula (1967) es aceptado como el primer lenguaje que posee las
características principales de un lenguaje orientado
a objetos. Fue creado para hacer programas de simulación, en
donde los "objetos" son la representación de la
información más importante. Smalltalk (1972 a 1980) es
posiblemente el ejemplo canónico, y con el que gran parte
de la teoría de la programación orientada a objetos se ha
desarrollado.
Entre los lenguajes orientados a objetos se destacan los siguientes:
• ABAP -> SAP Lenguaje orientado a eventos
• ABL Lenguaje de programación de OpenEdge de Progress
Software
• ActionScript
• ActionScript 3
• Ada
Lenguajes orientados a objetos
32. Muchos de estos lenguajes de programación no son
puramente orientados a objetos, sino que son híbridos que
combinan la POO con otros paradigmas.
Al igual que C++, otros lenguajes, como
OOCOBOL, OOLISP, OOPROLOG y Object REXX, han sido
creados
añadiendo extensiones orientadas a objetos a un lenguaje de
programación clásico.
Un nuevo paso en la abstracción de paradigmas de
programación es la Programación Orientada a Aspectos
(POA).
Aunque es todavía una metodología en estado de
maduración, cada vez atrae a más investigadores e incluso
proyectos comerciales en todo el mundo.
LENGUAJES
33. La programación orientada a objetos es un paradigma que
utiliza objetos como elementos fundamentales en la
construcción de la solución. Surge en los años 70. Un objeto
es una abstracción de algún hecho o ente del mundo real
que tiene atributos que representan sus características o
propiedades y métodos que representan su comportamiento
o
acciones que realizan. Todas las propiedades y métodos
comunes a los objetos se encapsulan o se agrupan en clases.
Una clase es una plantilla o un prototipo para crear objetos;
por eso se dice que los objetos son instancias de clases.
Resumen
35. La programación estructurada es un paradigma de
programación orientado a mejorar la claridad, calidad y
tiempo
de desarrollo de un programa de computadora, utilizando
únicamente subrutinas y tres estructuras: secuencia,
selección (if y switch) e iteración (bucles for y
while), considerando innecesario y contraproducente el
uso de la
instrucción de transferencia incondicional (GOTO), que
podría conducir a "código espagueti", que es mucho más
difícil de seguir y de mantener, y era la causa de muchos
errores de programación.
36. A finales de los años 1970 surgió una nueva forma de
programar que no solamente daba lugar a programas
fiables y
eficientes, sino que además estaban escritos de
manera que facilitaba su mejor comprensión, no sólo
proveyendo
ventajas durante la fase de desarrollo, sino también
posibilitando una más sencilla modificación posterior.
Orígenes de la programación
estructurada
37. El teorema del programa estructurado, propuesto por
Böhm-Jacopini, demuestra que todo programa puede
escribirse
utilizando únicamente las tres instrucciones de control
siguientes:
• Secuencia
• Instrucción condicional.
• Iteración (bucle de instrucciones) con condición al
principio.
Solamente con estas tres estructuras se pueden escribir
todos los programas y aplicaciones posibles. Si bien los
lenguajes de programación tienen un mayor repertorio de
estructuras de control, éstas pueden ser construidas
mediante las tres básicas citadas.
ORIGEN
38. Fundamentación teórica
El teorema del programa estructurado proporciona la base
teórica de la programación estructurada. Señala que tres
maneras de combinar programas son suficientes para
expresar cualquier función computable:
secuencia, selección e
iteración. Esta observación no se originó con el
movimiento de la programación estructurada. Estas
estructuras son
suficientes para describir el ciclo de instrucción de una
unidad central de procesamiento, así como el
funcionamiento
de una máquina de Turing.
HISTORIA
39. P. J. Plauger, uno de los primeros en adoptar la
programación estructurada, describió su reacción con el
teorema del
programa estructurado:
Nosotros los conversos ondeamos esta interesante pizca
de noticias bajo las narices de los recalcitrantes
programadores de lenguaje ensamblador que mantuvieron
trotando adelante retorcidos bits de lógica y
diciendo, 'Te apuesto que no puedes estructurar esto'. Ni
la prueba por Böhm y Jacopini, ni nuestros repetidos
éxitos en escribir código estructurado, los llevaron un día
antes de lo que estaban listos para convencerse.[2]
Debate
40. A finales del siglo XX casi todos los científicos están
convencidos de que es útil aprender y aplicar los
conceptos de
programación estructurada. Los lenguajes de
programación de alto nivel que originalmente
carecían de estructuras de
programación, como FORTRAN, COBOL y
BASIC, ahora las tienen.
Resultado
41. Ventajas de la programación estructurada comparada con
el modelo anterior (hoy llamado despectivamente código
espagueti).
• Los programas son más fáciles de entender, pueden ser
leídos de forma secuencial y no hay necesidad de hacer
engorrosos seguimientos en saltos de líneas (GOTO)
dentro de los bloques de código para intentar entender la
lógica.
• La estructura de los programas es clara, puesto que las
instrucciones están más ligadas o relacionadas entre sí.
Ventajas de la programación
estructurada
42. Es posible hacer la programación estructurada en cualquier
lenguaje de programación, aunque es preferible usar algo
como un lenguaje de programación procedimental.
Algunos de los lenguajes utilizados inicialmente para
programación estructurada incluyen: ALGOL, Pascal, PL/I y
Ada – pero la mayoría de los nuevos lenguajes
programación procedimentales desde entonces han
incluido características para fomentar la programación
estructurada y a veces deliberadamente omiten
características[3] en un esfuerzo para hacer más difícil la
programación no estructurada.
Lenguajes de programación
estructurada
43. En un bajo nivel, los programas estructurados con frecuencia
están compuestos de simples estructuras de flujo de
programa jerárquicas. Estas son secuencia, selección y
repetición:
• "Secuencia" se refiere a una ejecución ordenada de
instrucciones.
• En "selección", una de una serie de sentencias es ejecutada
dependiendo del estado del programa. Esto es
usualmente expresado con palabras clave como
if..then..else..endif, switch, o case. En algunos lenguajes las
palabras clave no se puede escribir textualmente, pero debe
ser delimitada (stropped).
Programación estructurada de bajo
nivel
45. Posterior a la programación estructurada se han creado
nuevos paradigmas tales como la programación
modular, la
programación orientada a objetos, programación por
capas, etc, y el desarrollo de entornos de
programación que
facilitan la programación de grandes aplicaciones y
sistemas.
Nuevos paradigmas
47. Windows Presentation Foundation (WPF) es una tecnología
de Microsoft, presentada como parte de Windows
Vista. Permite el desarrollo de interfaces de interacción en
Windows tomando características de aplicaciones
Windows y de aplicaciones web.
WPF ofrece una amplia infraestructura y potencia gráfica con
la que es posible desarrollar aplicaciones visualmente
atractivas, con facilidades de interacción que incluyen
animación, vídeo, audio, documentos, navegación o gráficos
3D.
Windows Presentation Foundation
48. Direct3D
Todos los gráficos, incluyendo los elementos de escritorio como
Windows, se representan usando Direct3D. Esto
proporciona una vía para mostrar gráficos más complejos y
temas personalizados, a costa de GDI una gama más
amplia de apoyo y tematización uniforme de control. También
permite descargar algunas de las tareas de gráficos a
la GPU. Esto puede reducir la carga de trabajo de la CPU. Ya que
las GPU s están optimizadas para cálculos de
píxeles a gran velocidad, esto también tiende a acelerar el
refresco de la pantalla.
Características
49. • WPF tiene un conjunto de servicios de datos para permitir a
los desarrolladores de aplicaciones enlazar y
manipular los datos dentro de las aplicaciones. Existen tres
tipos de enlace de datos:
• Una vez: cuando el cliente hace caso omiso de las
actualizaciones en el servidor.
• Simplex (one way): el cliente sólo tiene permiso de lectura
a los datos.
• Dúplex (two way): el cliente puede leer y escribir datos en
el servidor.
Data binding (enlace de datos)
50. Media Services
• WPF proporciona un sistema integrado para la
creación de interfaces de usuario con elementos
multimedia
comunes, como imágenes vectoriales y de mapa de bits,
audio y vídeo. WPF también proporciona un sistema de
animación y un sistema de renderizado en 2D/3D.
• WPF proporciona primitivas de forma para gráficos en
2D junto con un conjunto integrado de pinceles, lápices,
geometrías, y transformaciones.
Media Services
51. • En WPF, puede definir el aspecto de un elemento
directamente, a través de sus propiedades, o indirectamente
a
una plantilla o el estilo. En su forma más simple un estilo es
una combinación de valores de propiedades que se
pueden aplicar a un elemento de interfaz de usuario con un
atributo de la propiedad individual. Las plantillas son
un mecanismo alternativo para la definición de interfaz de
usuario para partes de la aplicación de WPF. Hay
varios tipos de plantillas disponibles en WPF.
PLANTILLAS
52. • WPF admite animaciones basadas en el tiempo, en
contraste con el enfoque basado en frames. Esto
desacopla la
velocidad de la animación de cómo el sistema está
funcionando.
• WPF admite animación de bajo nivel a través de
temporizadores y más alto nivel de abstracción a través
de
animaciones las clases de animación.
Animaciones
53. • WPF puede tener acceso de forma nativa Windows
Imaging Component (WIC) y el código API permite a los
desarrolladores a escribir codecs de imágenes para
sus formatos específicos de la imagen de archivo.
Imágenes
54. • WPF 3,0 prevé BitmapEffects, que son efectos ráster
aplicadas a un proyecto de Visual. Estos efectos de trama
están escritos en código no administrado y la fuerza de la
prestación del Visual que se realizarán en la CPU y no
de hardware acelerado por la GPU. BitmapEffects fueron
desaprobados en. NET 3.5 SP 1.
• .NET Framework 3.5 Service Pack 1 añade la clase de
efectos, que es un Pixel Shader 2.0 sentido de que se puede
aplicar a un gráfico, lo que permite que toda la
representación de permanecer en la GPU.
Efectos
55. • WPF proporciona interoperabilidad con el Windows
API, se puede utilizar Windows Presentation Foundation
dentro del código existente de Win32, o uno puede
utilizar el código existente Win32 dentro de Windows
Presentation Foundation.
Interoperabilidad
56. Tras el éxito de XML para el desarrollo web, WPF
introduce un nuevo lenguaje conocido como lenguaje
extensible
de marcado de aplicaciones , que se basa en XML. XAML
está diseñado como un método más eficaz de
desarrollo
de interfaces de aplicaciones de usuario.
XAML