SlideShare una empresa de Scribd logo
1 de 21
UNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA
VICERRECTORADO ACADEMICO
COORDINACIÓN GENERAL DE INVESTIGACIÓN Y POSTGRADO
MAESTRÍA EN TECNOLOGÍAS DE LA INFORMACIÓN
Profesor:
ABAFFY, Carlos
Realizado por
APONTE, Marcel
CABRERA, Ransney
CORTEZ, Ramón
HERNANDEZ, Yonel
Ciudad Bolívar, Julio 2015
INDICE
INTRODUCCIÓN 3
.NET 4
COMPONENTES DE .NET 4
• PLATAFORMA .NET 5
◦ Common Language Runtime (CLR) 6
▪ .NET y Código Gestionado 8
◦ .NET Framework Base Classes o FCL (Foundation Class Library) 9
◦ ASP.NET 10
◦ Windows Form 12
• VISUAL STUDIO 12
◦ Visual Studio Community 13
◦ Visual Studio Enterprise con MSDN 14
◦ Visual Studio Online 14
◦ Visual Studio Code 14
DESARROLLANDO EN LA PLATAFORMA .NET 15
• HolaMundo en .NET 15
.NET EN EL MERCADO 16
CONCLUSIONES 19
BIBLIOGRAFÍA 20
ANEXO 1: CASO DE ÉXITO 21
INTRODUCCIÓN
El diseño de aplicaciones distribuidas no es una tarea sencilla. Es necesario tomar un gran número
de decisiones a nivel de arquitectura, diseño e implementación. Estas decisiones tendrán un impacto
en las "capacidades" de la aplicación (seguridad, escalabilidad, disponibilidad y mantenimiento, entre
otras), así como en la arquitectura, el diseño y la implementación de la infraestructura de destino.
Microsoft.NET es el conjunto de tecnologías en las que Microsoft tiene como objetivo tener una
plataforma sencilla y potente para distribuir el software en forma de servicios que puedan ser
suministrados remotamente y que puedan comunicarse y combinarse unos con otros de manera
totalmente independiente de la plataforma, lenguaje de programación y modelo de componentes con
los que hayan sido desarrollados.
.NET
.NET es un conjunto de tecnologías de software de Microsoft, compuesto de varios lenguajes de
programación que se ejecutan bajo el .NET Framework. Es además un entorno completamente
orientado a objetos y que es capaz de ejecutarse bajo cualquier plataforma. A su vez:
• .NET es una plataforma para el desarrollo y explotación de aplicaciones “gestionadas”
(managed) modernas y orientadas a objetos.
• Las aplicaciones .NET se pueden desarrollar en cualquier lenguaje de programación que se
ajuste a .NET.
• .NET soporta un extenso framework de librerías de clases independientes del lenguaje de
programación.
• .NET soporta la creación de componentes auto-describibles.
• .NET ofrece integración multi-lenguaje, reutilización de componentes, y herencia entre
componentes.
• .NET ofrece una manera de desarrollar aplicaciones de escritorio usando las clases Windows
Forms.
• .NET ofrece una manera de desarrollar aplicaciones basadas en navegador Web a través de
ASP.NET.
• Las clases ADO.NET proveen una arquitectura desconectada para acceso a datos a través de
Internet.
• .NET soporta la creación de Servicios Web XML independientes de la plataforma, a través de
SOAP (Simple Object Access Protocol) y WSDL (Web Services Description Language).
• .NET ofrece una arquitectura para el desarrollo y explotación de objetos remotos.
.NET FRAMEWORK
.NET Framework es una tecnología que admite la compilación y ejecución de aplicaciones y servicios
Web XML. El diseño de .NET Framework está enfocado a cumplir con los siguientes objetivos:
• Proporcionar un entorno coherente de programación orientada a objetos, en el que el código
de los objetos se pueda almacenar y ejecutar de forma local, ejecutar de forma local pero
distribuida en Internet o ejecutar de forma remota.
• Proporcionar un entorno de ejecución de código que minimiza los conflictos en el despliegue y
versionado de software.
• Ofrecer un entorno de ejecución de código que promueva la ejecución segura del mismo,
incluso del creado por terceros desconocidos o que no son de plena confianza.
• Proporcionar un entorno de ejecución de código que elimine los problemas de rendimiento de
los entornos en los que se utilizan scripts o intérpretes de comandos.
• Ofrecer al programador una experiencia coherente entre tipos de aplicaciones muy diferentes,
como las basadas en Windows o en el Web.
• Basar toda la comunicación en estándares del sector para asegurar que el código de .NET
Framework se puede integrar con otros tipos de código.
COMPONENTES DE .NET
.NET es una tecnología que incorpora una serie de elementos y/o herramientas que permiten que la
tecnología de Microsoft cumpla sus objetivos. En donde podemos destacar la base que corresponde
al .NET Framework, un entorno de desarrollo Visual Studio .NET, la gestión de los WebServices XML
y herramientas para servidores empresariales.
Figura 1. Arquitectura de .NET
• PLATAFORMA .NET Framework
.NET Framework consta de dos componentes principales: Common Language Runtime y la
biblioteca de clases de .NET Framework. Common Language Runtime es el fundamento de
.NET Framework. El motor en tiempo de ejecución se puede considerar como un agente que
administra el código en tiempo de ejecución y proporciona servicios centrales, como la
administración de memoria, la administración de subprocesos y la comunicación remota, al
tiempo que aplica una seguridad estricta a los tipos y otras formas de especificación del
código que promueven su seguridad y solidez. De hecho, el concepto de administración de
código es un principio fundamental del motor en tiempo de ejecución. El código destinado al
motor en tiempo de ejecución se denomina código administrado, a diferencia del resto de
código, que se conoce como código no administrado. La biblioteca de clases es una completa
colección orientada a objetos de tipos reutilizables que se pueden emplear para desarrollar
aplicaciones que abarcan desde las tradicionales herramientas de interfaz gráfica de usuario
(GUI) o de línea de comandos hasta las aplicaciones basadas en las innovaciones más
recientes proporcionadas por ASP.NET, como Web Forms y Servicios Web XML.
Figura 2. Plataforma de .NET Framework
.NET Framework puede hospedarse en componentes no administrados que cargan Common
Language Runtime en sus procesos e inician la ejecución de código administrado, con lo que
se crea un entorno de software en el que se pueden utilizar características administradas y no
administradas. En .NET Framework no sólo se ofrecen varios hosts de motor en tiempo de
ejecución, sino que también se admite el desarrollo de estos hosts por parte de terceros.
Por ejemplo, ASP.NET hospeda el motor en tiempo de ejecución para proporcionar un entorno
de servidor escalable para el código administrado. ASP.NET trabaja directamente con el motor
en tiempo de ejecución para habilitar aplicaciones de ASP.NET y servicios Web XML.
En la Figura 3, se muestra la relación de Common Language Runtime y la biblioteca de clases
con las aplicaciones y el sistema en su conjunto. De igual manera, se representa igualmente
cómo funciona el código administrado dentro de una arquitectura mayor.
Los servicios que ofrece .NET Framework a las aplicaciones en ejecución son los siguientes:
- Administración de la memoria. En muchos lenguajes de programación, los
programadores son responsables de asignar y liberar memoria y de administrar la vida
útil de los objetos. En las aplicaciones de .NET Framework, el CLR proporciona estos
servicios en nombre de la aplicación.
- Sistema de tipos comunes. En los lenguajes de programación tradicionales, el
compilador define los tipos básicos, lo que complica la interoperabilidad entre
lenguajes. En .NET Framework, los tipos básicos los define el sistema de tipos de .NET
Framework y son comunes a todos los lenguajes que tienen como destino .NET
Framework.
- Biblioteca de clases extensa. En lugar de tener que escribir cantidades extensas de
código para controlar operaciones comunes de programación de bajo nivel, los
programadores pueden usar una biblioteca de tipos accesible en todo momento y sus
miembros desde la biblioteca de clases de .NET Framework.
- Frameworks y tecnologías de desarrollo. .NET Framework incluye bibliotecas para
determinadas áreas de desarrollo de aplicaciones, como ASP.NET para aplicaciones
web, ADO.NET para el acceso a los datos y Windows Communication Foundation para
las aplicaciones orientadas a servicios.
- Interoperabilidad de lenguajes. Los compiladores de lenguajes cuya plataforma de
destino es .NET Framework emiten un código intermedio denominado Lenguaje
intermedio común (CIL), que, a su vez, se compila en tiempo de ejecución a través de
Common Language Runtime. Con esta característica, las rutinas escritas en un
lenguaje están accesibles a otros lenguajes, y los programadores pueden centrarse en
crear aplicaciones en su lenguaje o lenguajes preferidos.
- Compatibilidad de versiones. Con raras excepciones, las aplicaciones que se
desarrollan con una versión determinada de .NET Framework se pueden ejecutar sin
modificaciones en una versión posterior.
- Ejecución en paralelo. .NET Framework ayuda a resolver conflictos entre versiones y
permite que varias versiones de Common Language Runtime coexistan en el mismo
equipo. Esto significa que también pueden coexistir varias versiones de las
aplicaciones, y que una aplicación se puede ejecutar en la versión de .NET Framework
con la que se compiló.
- Compatibilidad con múltiples versiones (multi-targeting). Al usar la Biblioteca de
clases portable de .NET Framework, los desarrolladores pueden crear ensamblados
que funcionen en varias plataformas, como Windows 7, Windows 8, Windows 8.1,
Windows Phone y Xbox 360.
Figura 3. .NET Framework en contexto
◦ Common Language Runtime (CLR)
Common Language Runtime administra la memoria, ejecución de subprocesos, ejecución de
código, comprobación de la seguridad del código, compilación y demás servicios del sistema.
Estas características son intrínsecas del código administrado que se ejecuta en Common
Language Runtime.
Con respecto a la seguridad, los componentes administrados reciben grados de confianza
diferentes, en función de una serie de factores entre los que se incluye su origen (como
Internet, red empresarial o equipo local). Esto significa que un componente administrado
puede ser capaz o no de realizar operaciones de acceso a archivos, operaciones de acceso al
Registro y otras funciones delicadas, incluso si se está utilizando en la misma aplicación
activa.
El motor en tiempo de ejecución impone la seguridad de acceso del código. Por ejemplo, los
usuarios pueden confiar en que un archivo ejecutable incrustado en una página Web puede
reproducir una animación en la pantalla o entonar una canción, pero no puede tener acceso a
sus datos personales, sistema de archivos o red. Por ello, las características de seguridad del
motor en tiempo de ejecución permiten que el software legítimo implementado en Internet sea
excepcionalmente variado.
Además, el motor en tiempo de ejecución impone la solidez del código mediante la
implementación de una infraestructura estricta de comprobación de tipos y código denominada
CTS (Common Type System, Sistema de tipos común). CTS garantiza que todo el código
administrado es autodescriptivo.
Los diversos compiladores de lenguaje de Microsoft y de otros fabricantes generan código
administrado que se atiene al CTS. Esto significa que el código administrado puede
consumir otros tipos e instancias administrados, al tiempo que se exige fidelidad de tipos y
seguridad de tipos estrictamente.
Además, el entorno administrado del motor en tiempo de ejecución elimina muchos problemas
de software comunes. Por ejemplo, el motor en tiempo de ejecución controla automáticamente
la disposición de los objetos, administra las referencias a éstos y los libera cuando ya no se
utilizan. Esta administración automática de la memoria soluciona los dos errores más comunes
de las aplicaciones: la pérdida de memoria y las referencias no válidas a la memoria.
Además, el motor en tiempo de ejecución aumenta la productividad del programador. Por
ejemplo, los desarrolladores pueden crear aplicaciones en el lenguaje que prefieran y seguir
sacando todo el provecho del motor en tiempo de ejecución, la biblioteca de clases y los
componentes escritos en otros lenguajes por otros colegas. El proveedor de un compilador
puede elegir destinarlo al motor en tiempo de ejecución. Los compiladores de lenguajes que
se destinan a .NET Framework hacen que las características de .NET Framework estén
disponibles para el código existente escrito en dicho lenguaje, lo que facilita enormemente el
proceso de migración de las aplicaciones existentes.
Aunque el motor en tiempo de ejecución está diseñado para el software del futuro, también es
compatible con el software actual y el software antiguo. La interoperabilidad entre el código
administrado y no administrado permite que los desarrolladores continúen utilizando los
componentes COM y las DLL que necesiten.
El motor en tiempo de ejecución está diseñado para mejorar el rendimiento. Aunque Common
Language Runtime proporciona muchos servicios estándar de motor en tiempo de ejecución,
el código administrado nunca se interpreta. Una característica denominada compilación JIT
(Just-In-Time) permite ejecutar todo el código administrado en el lenguaje máquina nativo del
sistema en el que se ejecuta. Mientras tanto, el administrador de memoria evita que la
memoria se pueda fragmentar y aumenta la zona de referencia de la memoria para mejorar
aún más el rendimiento.
Por último, el runtime se puede hospedar en aplicaciones de servidor de gran rendimiento,
como Microsoft SQL Server e Internet Information Services (IIS). Esta infraestructura permite
utilizar código administrado para escribir lógica empresarial, al tiempo que se disfruta del
superior rendimiento de los mejores servidores empresariales del sector que puedan hospedar
el motor en tiempo de ejecución.
▪ .NET y Código Gestionado
Figura 4. Compilando y Ejecutando código gestionado
El código gestionado es el código de un programa que se ejecuta bajo la gestión de una
máquina virtual, a diferencia de código no gestionado, que es directamente ejecutado por
la CPU del computador. En la Figura 4, se evidencia los pasos de compilación y ejecución
de un código gestionado en Microsoft .NET.
Las aplicaciones que siguen el modelo de la Figura 4, son managed applications
(aplicaciones gestionadas). En contrapartida, las aplicaciones Windows no gestionadas se
denominan unmanaged applications. Y como se muestra en la Figura 5, Managed
applications y unmanaged applications pueden convivir.
Figura 5. Pasos de Ejecución de Código Gestionado y No Gestionado
◦ .NET Framework Base Classes o FCL (Foundation Class Library)
La biblioteca de clases de .NET Framework es una colección de tipos reutilizables que se
integran estrechamente con Common Language Runtime. La biblioteca de clases está
orientada a objetos, lo que proporciona tipos de los que su propio código administrado puede
derivar funciones. Esto ocasiona que los tipos de .NET Framework sean sencillos de utilizar y
reduce el tiempo asociado con el aprendizaje de las nuevas características de .NET
Framework. Además, los componentes de terceros se pueden integrar sin dificultades con las
clases de .NET Framework.
Esta librería de clases está escrita en Microsoft Intermediate Language (MSIL) luego cualquier
lenguaje cuyo compilador genere MSIL podrá usarla.
Con esta librería podemos crear todo tipo de aplicaciones:
• Aplicaciones de consola (System.Console).
• Aplicaciones GUI de Windows (Windows Forms).
• Aplicaciones de Windows Presentation Foundation (WPF)
Windows Presentation Foundation (WPF) es un sistema de presentación de próxima
generación para crear aplicaciones cliente de Windows que proporcionen una
experiencia visual impactante para el usuario.
• Aplicaciones de ASP.NET
• Servicios de Windows.
Los servicios de Microsoft Windows, permiten crear aplicaciones ejecutables de larga
duración, que se ejecutan en sus propias sesiones de Windows. Estos servicios
pueden iniciarse automáticamente cuando el equipo arranca, se pueden pausar y
reiniciar, y no muestran ninguna interfaz de usuario.
• Aplicaciones orientadas a servicios utilizando Windows Communication Foundation
(WCF).
Windows Communication Foundation, es un modelo de programación unificado para
compilar aplicaciones orientadas a servicios.
• Aplicaciones habilitadas para el flujo de trabajo utilizando Windows Workflow
Foundation (WF).
Dada la amplitud de la FCL, ha sido necesario organizar las clases en ella incluida en
espacios de nombres que agrupen clases con funcionalidades similares. El espacio de
nombres System es el espacio raíz del que se originan todos los demás. Los espacios de
nombres más usados son:
• System: Contiene tipos de datos muy usados, datos básicos, tablas, excepciones... Es
el raíz.
• System.Object: Soporta toda la jerarquía de las clases de .NET.
• System.Collections: Colecciones de datos de uso común como pilas, colas, listas.
• System.Data: Manipulación de base de datos. Forma la denominada arquitectura
ADO.NET.
• System.IO: Manipulación de ficheros.
• System.Reflection: Acceso a los metadatos que acompañan a los módulos de código.
• System.Math: Funciones logarítmicas, trigonométricas...
• System.XML: Acceso a datos en formato XML.
• System.Web: Aplicaciones Web.
◦ ASP.NET
ASP.NET es un modelo de desarrollo Web unificado que incluye los servicios necesarios para
crear aplicaciones Web empresariales con el código mínimo. ASP.NET forma parte de .NET
Framework y al codificar las aplicaciones ASP.NET tiene acceso a las clases en .NET
Framework. El código de las aplicaciones puede escribirse en cualquier lenguaje compatible
con el Common Language Runtime (CLR), entre ellos Microsoft Visual Basic, C#, JScript .NET
y J#. Estos lenguajes permiten desarrollar aplicaciones ASP.NET que se benefician del
Common Language Runtime, seguridad de tipos, herencia, etc.
ASP.NET incluye:
◦ Marco de trabajo de página y controles: es un marco de trabajo de programación que
se ejecuta en un servidor Web para generar y representar de forma dinámica páginas
Web ASP.NET. Las páginas Web ASP.NET se pueden solicitar a cualquier explorador o
dispositivo del cliente y ASP.NET representa el marcado (como HTML) al explorador
que realizó la solicitud.
◦ Compilador de ASP.NET: Compila todo el código de ASP.NET, lo que permite el
establecimiento inflexible de tipos, las optimizaciones de rendimiento y el enlace en
tiempo de compilación, entre otras ventajas.
Una vez que se ha compilado el código, el Common Language Runtime compila una
vez más código de ASP.NET en código nativo, lo que permite un mayor rendimiento.
ASP.NET incluye un compilador que compilará todos los componentes de la aplicación,
incluidas las páginas y los controles, en un ensamblado que el entorno de host de
ASP.NET puede utilizar a continuación para atender las solicitudes del usuario.
◦ Infraestructura de seguridad: Además de las características de seguridad de .NET,
ASP.NET proporciona una infraestructura de seguridad avanzada para autenticar y
autorizar el acceso de los usuarios y realizar otras tareas relacionadas con la
seguridad. Puede autenticar usuarios con la autenticación de Windows suministrada
por IIS o puede administrar la autenticación con su propia base de datos de usuario
utilizando la autenticación mediante formularios ASP.NET y la suscripción ASP.NET.
◦ Funciones de administración de estado: ASP.NET proporciona funcionalidad de
administración de estado intrínseca que permite almacenar información entre las
solicitudes de página, como la información de clientes o el contenido del carro de la
compra. Puede guardar y administrar información específica de la aplicación,
específica de la sesión, específica de la página, específica del usuario y definida por el
desarrollador. Esta información puede ser independiente de cualquier control de la
página.
◦ Configuración de la aplicación: Las aplicaciones ASP.NET utilizan un sistema de
configuración que le permite definir valores de configuración para su servidor Web,
para un sitio Web o para aplicaciones individuales. Puede crear valores de
configuración cuando se implementan las aplicaciones ASP.NET y puede agregar o
revisar los valores de configuración en cualquier momento con un impacto mínimo en
aplicaciones y servidores Web de operaciones. Los valores de configuración de
ASP.NET se almacenan en archivos basados en la tecnología XML. Dado que estos
archivos XML son archivos de texto ASCII, es fácil realizar cambios de configuración a
sus aplicaciones Web.
◦ Supervisión de estado y características de rendimiento: La supervisión del estado de
ASP.NET permite proporcionar información sobre eventos clave que proporcionan
información sobre el estado de una aplicación y sobre las condiciones de error. Estos
eventos muestran una combinación de diagnósticos y características de supervisión, a
la vez que proporcionan un elevado grado de flexibilidad en lo que respecta a lo que se
registra y cómo. ASP.NET admite dos grupos de contadores de rendimiento a los que
pueden obtener acceso las aplicaciones: el grupo de contadores de rendimiento del
sistema ASP.NET, y el grupo de contadores de rendimiento de la aplicación ASP.NET.
◦ Capacidad de depuración: ASP.NET aprovecha la infraestructura de depuración en
tiempo de ejecución para permitir la depuración entre lenguajes y equipos. Se pueden
depurar tanto objetos administrados como no administrados, así como todos los
lenguajes compatibles con el Common Language Runtime y los lenguajes de script.
◦ Marco de trabajo de servicios Web XML: ASP.NET es compatible con los servicios Web
XML. Un servicio Web XML es un componente que incluye funcionalidad de empresa
que permite a las aplicaciones intercambiar información entre firewalls utilizando
estándares como los servicios de mensajería HTTP y XML. Los servicios Web XML no
están relacionados con ninguna tecnología de componentes ni con ninguna
convención de llamada a objetos en concreto.
Como resultado, pueden obtener acceso a los servicios Web XML los programas
escritos en cualquier lenguaje, que usen cualquier modelo de componentes y se
ejecuten en cualquier sistema operativo.
◦ Entorno de host extensible y administración del ciclo de vida de las aplicaciones:
ASP.NET incluye un entorno de host extensible que controla el ciclo de vida de una
aplicación desde el momento en que un usuario cualquiera tiene acceso a un recurso
(como una página) en la aplicación hasta el momento en que se cierra la aplicación.
Aunque ASP.NET se basa en un servidor Web (IIS) como un host de la aplicación,
ASP.NET proporciona gran parte de la propia funcionalidad de host. La arquitectura de
ASP.NET permite responder a los eventos de aplicación y crear controladores y
módulos HTTP personalizados.
◦ Entorno de diseñador extensible: ASP.NET incluye la compatibilidad mejorada para
crear diseñadores de controles de servidor Web para utilizarlos con una herramienta
de diseño visual como Visual Studio. Los diseñadores permiten crear una interfaz de
usuario en tiempo de diseño para un control; de este modo, los desarrolladores pueden
configurar las propiedades y el contenido del control en una herramienta de diseño
visual.
◦ Windows Form
Con los formularios Windows Forms, se pueden desarrollar clientes inteligentes. Los clientes
inteligentes son aplicaciones muy ricas gráficamente que resultan fáciles de implementar y
actualizar, pueden funcionar conectadas o desconectadas a Internet, y pueden tener acceso a
recursos en el equipo local de un modo más seguro que las aplicaciones basadas en Windows
tradicionales.
En formularios Windows Forms, un formulario es una superficie visual en la que se muestra
información al usuario. Normalmente las aplicaciones de Windows Forms se compilan
agregando controles a los formularios y programando respuestas a las acciones del usuario,
como clics del mouse o presiones de teclas. Un control es un elemento discreto de la interfaz
de usuario que muestra datos o acepta la entrada de datos.
Los formularios Windows Forms contienen diversos controles que puede agregar a los
formularios: controles que muestran cuadros de texto, botones, cuadros desplegables,
botones de radio e incluso páginas Web.
• VISUAL STUDIO
Figura 6. Logo de Visual Studio
Microsoft Visual Studio es un conjunto de herramientas para crear software, desde la fase de
diseño pasando por la fases de diseño de la interfaz de usuario, codificación, pruebas,
depuración, análisis de la calidad y el rendimiento del código, implementación en los clientes y
recopilación de telemetría de uso. Estas herramientas están diseñadas para trabajar juntas de
la forma más eficiente posible y todas se exponen a través del Entorno de desarrollo integrado
(IDE) de Visual Studio.
Puede usarse Visual Studio para crear muchos tipos de aplicaciones, desde sencillas
aplicaciones y juegos para clientes móviles, hasta sistemas grandes y complejos para
empresas y centros de datos. Puede crear:
• Aplicaciones y juegos que se ejecutan no solo en Windows, sino también en Android y
en iOS.
• Sitios web y servicios web basados en ASP.NET, JQuery, AngularJS y otros entornos
populares.
• Aplicaciones para dispositivos y plataformas tan diversos como Office, Sharepoint,
Hololens, Kinect e Internet de las cosas, por nombrar solo algunos ejemplos.
• Juegos y aplicaciones con gráficos avanzados para una variedad de dispositivos
Windows con DirectX.
Las distribuciones actuales de Visual Studio, basada en la última versión 2015, son:
◦ Visual Studio Community
Visual Studio Community (Comunidad de Visual Studio) es gratuito y posee una IDE con todas
las funcionalidades. Es ideal para estudiantes, para los que desarrollan aplicaciones de código
abierto o para aficionados. Permite desarrollar tanto para plataforma Windows, como para iOS
y Android. Esta versión incluye un IDE completo y compatible con varios tipos de proyectos, o
sea un solo archivo de solución en un solo IDE, que tiene todas las características de
productividad conocidas y capacidades de extensibilidad.
Entre las características principales de esta versión de Visual Studio, encontramos:
• Herramientas de codificación eficaces: Puede codificar en su lenguaje, buscar y
corregir problemas de código rápidamente y refactorice con facilidad.
• Depuración avanzada: Se puede depurar en varios lenguajes de forma local o remota.
Diagnostique problemas de rendimiento sin abandonar el flujo de trabajo del
depurador.
• Aplicaciones para dispositivos: Herramientas de Apache Cordova (es un marco de
desarrollo móvil de código abierto. Permite utilizar las tecnologías estándar web como
HTML5, CSS3 y JavaScript para desarrollo multiplataforma, evitando el lenguaje de
desarrollo nativo cada plataformas móviles), Xamarin (es una implementación libre de
la plataforma de desarrollo.NET para dispositivos Android, iOS y GNU/Linux) y Unity
(es un motor de videojuego multiplataforma. Unity permite crear juegos para Windows,
OS X, Linux, Xbox 360, PlayStation 3, Playstation Vita, Wii, Wii U, iPad, iPhone,
Android y Windows Phone.) pueden descargarse para poder codificar, depurar, probar,
compartir y reutilizar en más plataformas.
Figura 7. Esquema de Xamarin
• Herramientas Web: Desarrollar en web con ASP.NET, Node.js, Python, y Javascript.
Se usa con marcos web como AngularJS, jQuery, Bootstrap, Django y Backbone.js.
• Varios Lenguajes: La compatibilidad con varios lenguajes incluye C#, Visual Basic, F#,
C++, Javascript, Typescript, Python y otros.
◦ Visual Studio Enterprise con MSDN (Microsoft Developer Network)
Es una solución integrada y completa para equipos de cualquier tamaño con necesidades
exigentes de calidad y escalabilidad. Posee servicios y herramientas para diseñar, crear y
administrar aplicaciones empresariales complejas.
Adicional a las características de la versión Community de Visual Studio, podemos añadir:
• Distribuir mejor el software y con más frecuencia: Las capacidades de Release
Management de Visual Studio 2015 le permite implementar de forma continua y definir
fases del lanzamiento, criterios de aceptación y flujos de trabajo de aprobación para
automatizar el proceso de lanzamiento.
• Agile empresarial: Herramientas de Agile y las capacidades de administración de
proyectos optimizadas para proyectos a escala empresarial.
• Administrar la complejidad: Herramientas de modelado innovadoras que permite crear
software esencial de alta calidad.
• Código de mayor calidad: IntelliTest para generar rápidamente pruebas unitarias
relevantes para el código de forma automática.
La versión de Visual Estudio Enterprise con MSDN, tiene un costo de US$5.999.
◦ Visual Studio Online
Visual Studio Online incluye un conjunto de herramientas de colaboración con tecnología de la
nube que funcionan con el editor o IDE existente, para que el equipo de desarrollo pueda
trabajar de manera eficiente en proyectos de software de cualquier índole y envergadura. En
donde incluye lo siguiente:
• Control de versiones: Almacenar y colaborar en código de cualquier lugar con
proyectos de equipos privados, respaldado por el control de versiones.
• Herramientas para equipos de Agile
• Integración continua
◦ Visual Studio Code
Visual Studio Code permite editar código, compilar y depurar aplicaciones web y de nube
modernas. Code es gratuito y esta disponible en las plataformas Windows, MacOS y Linux.
Entre las características más resaltantes, encontramos:
• OS X, Linux y Windows: Se ejecuta de forma nativa en el sistema operativo
seleccionado.
• Cobertura de Lenguajes: Visual Studio Code es compatible con JavaScript, C#, C++,
PHP, Java, HTML, R, CSS, SQL, Markdown, TypeScript, LESS, SASS, JSON, XML y
Python, así como con muchos otros formatos de archivo comunes.
• Edición centrada en el código: Edición avanzada y rápida centrada en el teclado con
varios cursores.
• Comprensión del código: IntelliSense describe las API mientras se escribe, con
auto-completar para aumentar la velocidad y la precisión.
• Compatible con Visual Studio Online
DESARROLLANDO PARA LA PLATAFORMA .NET
.NET es independiente del lenguaje de programación, no estamos restringidos a desarrollar en Visual
C++ y Basic; existen compiladores para C#, Visual Basic.NET, Jscript.NET, COBOL, Python, Perl, etc.
Aunque .NET soporta estos lenguajes no soportando realmente ninguno de ellos, ya que .NET sólo
entiende Microsoft Intermediate Language (IL)
Figura 8. Proceso de Compilación de un Programa en .NET
Como se puede ver en la Figura 8, .NET traduce el código fuente a Intermediate Language (IL), ese
proceso de compilación genera IL más la Metadata. IL es una especie de lenguaje ensamblador para
una CPU Virtual; IL es compilado antes de ser ejecutado, y las sentencias IL manipulan tipos
comunes compartidos por todos los lenguajes .NET (Common Type System, CTS). Para la ejecución
del programa en .NET, el Common Language Runtime (CLR) es el responsable, usando una
compilación JIT (Just-In-Time) para traducir IL a código nativo; por lo que IL es siempre compilado y
nunca interpretado.
Hola Mundo en .NET
Figura 9. Código en C#.NET de HolaMundo
Consideraciones generales sobre el código descrito en la Figura 9:
• Todo programa en C# contiene al menos una clase
• Main es el punto de entrada del programa
• Console.WriteLine(“Hola desde C#”), visualiza un mensaje, invocando método WriteLine de la
clase Console
• El espacio de nombres System pertenece a .NET FCL (Framework Class Library)
• FCL contiene muchas clases útiles, que pueden usarse desde las aplicaciones .NET
La compilación y ejecución del ejemplo del código fuente de la Figura 9, se puede ver a continuación,
en la Figura 10.
Figura 10. Compilación y Ejecución de Programa en .NET
Para la realización del mismo ejemplo en Visual Basic.NET se debe realizar el código de la Figura 11.
Figura 11. Código en C#.NET de HolaMundo
.NET EN EL MERCADO
Como se puede ver en la Figura 12, del cuadrante mágico de Gartner para la Administración del ciclo
de vida de desarrollo de aplicaciones, tenemos que Gartner considera que Microsoft concentra su
inversión el ecosistema de desarrollo de .NET.
.NET ofrece un conjunto de funcionalidades disponibles, ya sea de forma local o en la nube. Aunado
al creciente apoyo de las tecnologías de código abierto y la participación de la comunidad en la
apertura de herramientas como Visual Studio. Con un fuerte apoyo a nivel de proyectos ágiles,
Microsoft puede manejar casi todas las necesidades para gestionar un proyecto de desarrollo .NET.
Las fortalezas dadas por Gartner, indican:
• Microsoft tiene una estrategia clara y ofrece funcionalidad ADLM (Application Development
Lifecycle Management) que es fácil de implementar.
• Microsoft a través del MSDN ofrece material de capacitación y de acceso al software.
• Microsoft entiende principios agiles mejor que las mayoría de los fabricantes de soluciones
integradas de ADLM.
Y de igual manera, Gartner, indica algunas precauciones:
• Microsoft se esfuerza por penetrar organizaciones de desarrollo fuera del mundo .NET.
• El cambio hacia el móvil como plataforma dominante presenta una oportunidad para que los
competidores puedan vulnerar el enfoque de “todo Microsoft”.
Figura 12. Magic Quadrant for Application Development Life Cycle Management (ADLM)
Figura 13. Gartner's Magic Quadrant scoreboard for mobile application development platforms.
De acuerdo a la Figura 13, en donde en otro cuadrante de Gartner, en este caso de las plataformas
de desarrollo de aplicaciones móviles, podemos encontrar a Microsoft en una posición no adecuada,
para finales del 2014, pero que con la aparición de la plataforma de Visual Studio para el desarrollo
de aplicaciones multiplataforma en C# usando Xarami, puede mejorar esta posición en los próximos
meses de acuerdo a la adopción de esta tecnología por los desarrolladores.
CONCLUSIONES
.NET es un framework de Microsoft que hace énfasis en la transparencia de las redes, con
independencia de la plataforma de hardware y que permita un rápido desarrollo de aplicaciones; y en
esta última versión, la incorporación de elementos hacia el código abierto y aplicaciones
multiplataforma.
.NET es una estrategia de Microsoft para el negocio de desarrollo de aplicaciones Web, como
competencia a la plataforma Java de Oracle, y a los diversos framework de desarrollo web basados
en PHP. Así como la incorporación de herramientas para el desarrollo de aplicaciones para distintas
plataformas de juegos, así como para distintos sistemas operativos de equipos móviles.
La incorporación de un entorno de desarrollo gratuito denominado Visual Studio Community, es una
muestra de la abertura de Microsoft hacia distintos tipos de usuarios, seguir manteniendo una suite
licenciada de Visual Studio Enterprise; y lo más novedoso, la inclusión de una suite de Visual Studio
Code, en donde se abre Visual Studio a distintas plataformas de sistema operativo. Todo esto apunta
hacia la ampliación del alcance de desarrolladores y/o plataformas y poder así buscar abarcar una
mayor cuota de mercado.
BIBLIOGRAFÍA
Microsoft Developer Network. Introducción a .NET Framework.
https://msdn.microsoft.com/es-es/library/hh425099%28v=vs.110%29.aspx
Microsoft Developer Network. Información general sobre ASP.NET.
https://msdn.microsoft.com/es-es/library/4w3ex9c2%28v=vs.100%29.aspx
Microsoft. Visual Studio: herramientas para todos los desarrolladores y todas las aplicaciones.
https://www.visualstudio.com/
Fergal Grimes, Manning. Microsoft.NET for Programmers.
http://www.manning.com/grimes
Ander Barbier y Unai Extremo. Seminario.NET y C#. Universidad de Deusto, 2003.
http://asignaturas.deusto.es/Seminario.NET
Gartner. Magic Quadrant for Application Development Life Cycle Management
http://www.gartner.com/technology/reprints.do?id=1-2A61Y68&ct=150218&st=sb
Gartner. Gartner's Magic Quadrant scoreboard for mobile application development platforms.
http://www.itjungle.com/tfh/tfh092214-story07.html
ANEXO 1: CASO DE ÉXITO

Más contenido relacionado

La actualidad más candente (16)

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
 
Servicios web
Servicios webServicios web
Servicios web
 
Republica bolivariana de venezuela 2
Republica bolivariana de venezuela 2Republica bolivariana de venezuela 2
Republica bolivariana de venezuela 2
 
Entendiendo el .NET Framework
Entendiendo el .NET FrameworkEntendiendo el .NET Framework
Entendiendo el .NET Framework
 
Programación .NET
Programación .NETProgramación .NET
Programación .NET
 
Net Framework
Net FrameworkNet Framework
Net Framework
 
Introducción a net
Introducción a netIntroducción a net
Introducción a net
 
Compiladores
CompiladoresCompiladores
Compiladores
 
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
 
Plataforma net
Plataforma netPlataforma net
Plataforma net
 
Plataforma .Net
Plataforma .NetPlataforma .Net
Plataforma .Net
 
.Net Framework Introduction
.Net Framework Introduction.Net Framework Introduction
.Net Framework Introduction
 

Similar a Microsoft .NET Propuesta

Introducción a la programación visual
Introducción a la programación visualIntroducción a la programación visual
Introducción a la programación visualmiguelangelvillelli
 
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
 
.NET Framework y sus beneficios
.NET Framework y sus beneficios.NET Framework y sus beneficios
.NET Framework y sus beneficiosChetu
 
Preserntacion programacion.net
Preserntacion programacion.netPreserntacion programacion.net
Preserntacion programacion.netDilson Cruz
 
Introducción a net
Introducción a netIntroducción a net
Introducción a netinfobran
 
Desarrollo de aplicaciones
Desarrollo de aplicacionesDesarrollo de aplicaciones
Desarrollo de aplicacionesCarlos Herrera
 
Desarrollo aplicaciones windows c#
Desarrollo aplicaciones windows c#Desarrollo aplicaciones windows c#
Desarrollo aplicaciones windows c#Roger Campos
 
Andre.paola9 blos blospot blogger
Andre.paola9 blos blospot bloggerAndre.paola9 blos blospot blogger
Andre.paola9 blos blospot bloggerpaolatublog
 
Guía de Perfiles, Formación y Competencias correspondientes a Puestos de Info...
Guía de Perfiles, Formación y Competencias correspondientes a Puestos de Info...Guía de Perfiles, Formación y Competencias correspondientes a Puestos de Info...
Guía de Perfiles, Formación y Competencias correspondientes a Puestos de Info...Marcelo Christian Marchese
 
visual basic .net
visual basic .netvisual basic .net
visual basic .netronald_a_go
 
Desarrollo de aplicaciones .net
Desarrollo de aplicaciones .netDesarrollo de aplicaciones .net
Desarrollo de aplicaciones .netJefersonGuevara1
 

Similar a Microsoft .NET Propuesta (20)

Introducción a la programación visual
Introducción a la programación visualIntroducción a la programación visual
Introducción a la programación visual
 
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
 
Programacion
ProgramacionProgramacion
Programacion
 
Introduccion.net
Introduccion.net Introduccion.net
Introduccion.net
 
.NET Framework y sus beneficios
.NET Framework y sus beneficios.NET Framework y sus beneficios
.NET Framework y sus beneficios
 
Preserntacion programacion.net
Preserntacion programacion.netPreserntacion programacion.net
Preserntacion programacion.net
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Introducción a net
Introducción a netIntroducción a net
Introducción a net
 
Desarrollo de aplicaciones
Desarrollo de aplicacionesDesarrollo de aplicaciones
Desarrollo de aplicaciones
 
Desarrollo aplicaciones windows c#
Desarrollo aplicaciones windows c#Desarrollo aplicaciones windows c#
Desarrollo aplicaciones windows c#
 
Framework .net
Framework .netFramework .net
Framework .net
 
C_Basico_Parte_I.pptx
C_Basico_Parte_I.pptxC_Basico_Parte_I.pptx
C_Basico_Parte_I.pptx
 
Andre.paola9 blos blospot blogger
Andre.paola9 blos blospot bloggerAndre.paola9 blos blospot blogger
Andre.paola9 blos blospot blogger
 
Andre.paola9
Andre.paola9Andre.paola9
Andre.paola9
 
Guía de Perfiles, Formación y Competencias correspondientes a Puestos de Info...
Guía de Perfiles, Formación y Competencias correspondientes a Puestos de Info...Guía de Perfiles, Formación y Competencias correspondientes a Puestos de Info...
Guía de Perfiles, Formación y Competencias correspondientes a Puestos de Info...
 
visual basic .net
visual basic .netvisual basic .net
visual basic .net
 
Desarrollo de aplicaciones .net
Desarrollo de aplicaciones .netDesarrollo de aplicaciones .net
Desarrollo de aplicaciones .net
 

Más de Marcel Aponte

Instructivo de Laboratorios - Telemática - UNEG
Instructivo de Laboratorios - Telemática - UNEGInstructivo de Laboratorios - Telemática - UNEG
Instructivo de Laboratorios - Telemática - UNEGMarcel Aponte
 
Instructivo Wireless (Laboratorio 1)
Instructivo Wireless (Laboratorio 1)Instructivo Wireless (Laboratorio 1)
Instructivo Wireless (Laboratorio 1)Marcel Aponte
 
Propuesta Microsoft.NET
Propuesta Microsoft.NETPropuesta Microsoft.NET
Propuesta Microsoft.NETMarcel Aponte
 
Gestión de la Calidad
Gestión de la CalidadGestión de la Calidad
Gestión de la CalidadMarcel Aponte
 
Sistemas Orientados a Objetos
Sistemas Orientados a ObjetosSistemas Orientados a Objetos
Sistemas Orientados a ObjetosMarcel Aponte
 
Análisis de Requerimientos
Análisis de RequerimientosAnálisis de Requerimientos
Análisis de RequerimientosMarcel Aponte
 
Plan de Recuperación de Desastres - TI
Plan de Recuperación de Desastres - TIPlan de Recuperación de Desastres - TI
Plan de Recuperación de Desastres - TIMarcel Aponte
 
Construcción de un Mapa Conceptual de la Ingeniería del Software
Construcción de un Mapa Conceptual de la Ingeniería del SoftwareConstrucción de un Mapa Conceptual de la Ingeniería del Software
Construcción de un Mapa Conceptual de la Ingeniería del SoftwareMarcel Aponte
 
Ingeniería del Software Libre (ISL)
Ingeniería del Software Libre (ISL) Ingeniería del Software Libre (ISL)
Ingeniería del Software Libre (ISL) Marcel Aponte
 

Más de Marcel Aponte (10)

Instructivo de Laboratorios - Telemática - UNEG
Instructivo de Laboratorios - Telemática - UNEGInstructivo de Laboratorios - Telemática - UNEG
Instructivo de Laboratorios - Telemática - UNEG
 
Instructivo Wireless (Laboratorio 1)
Instructivo Wireless (Laboratorio 1)Instructivo Wireless (Laboratorio 1)
Instructivo Wireless (Laboratorio 1)
 
Propuesta Microsoft.NET
Propuesta Microsoft.NETPropuesta Microsoft.NET
Propuesta Microsoft.NET
 
Gestión de la Calidad
Gestión de la CalidadGestión de la Calidad
Gestión de la Calidad
 
Sistemas Orientados a Objetos
Sistemas Orientados a ObjetosSistemas Orientados a Objetos
Sistemas Orientados a Objetos
 
Análisis de Requerimientos
Análisis de RequerimientosAnálisis de Requerimientos
Análisis de Requerimientos
 
Grafos Ponderados
Grafos PonderadosGrafos Ponderados
Grafos Ponderados
 
Plan de Recuperación de Desastres - TI
Plan de Recuperación de Desastres - TIPlan de Recuperación de Desastres - TI
Plan de Recuperación de Desastres - TI
 
Construcción de un Mapa Conceptual de la Ingeniería del Software
Construcción de un Mapa Conceptual de la Ingeniería del SoftwareConstrucción de un Mapa Conceptual de la Ingeniería del Software
Construcción de un Mapa Conceptual de la Ingeniería del Software
 
Ingeniería del Software Libre (ISL)
Ingeniería del Software Libre (ISL) Ingeniería del Software Libre (ISL)
Ingeniería del Software Libre (ISL)
 

Último

Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxJOSEMANUELHERNANDEZH11
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...AlanCedillo9
 
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...JaquelineJuarez15
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
ejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofJuancarlosHuertasNio1
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersIván López Martín
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...FacuMeza2
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 

Último (20)

Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptx
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
 
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
ejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sof
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 

Microsoft .NET Propuesta

  • 1. UNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA VICERRECTORADO ACADEMICO COORDINACIÓN GENERAL DE INVESTIGACIÓN Y POSTGRADO MAESTRÍA EN TECNOLOGÍAS DE LA INFORMACIÓN Profesor: ABAFFY, Carlos Realizado por APONTE, Marcel CABRERA, Ransney CORTEZ, Ramón HERNANDEZ, Yonel Ciudad Bolívar, Julio 2015
  • 2. INDICE INTRODUCCIÓN 3 .NET 4 COMPONENTES DE .NET 4 • PLATAFORMA .NET 5 ◦ Common Language Runtime (CLR) 6 ▪ .NET y Código Gestionado 8 ◦ .NET Framework Base Classes o FCL (Foundation Class Library) 9 ◦ ASP.NET 10 ◦ Windows Form 12 • VISUAL STUDIO 12 ◦ Visual Studio Community 13 ◦ Visual Studio Enterprise con MSDN 14 ◦ Visual Studio Online 14 ◦ Visual Studio Code 14 DESARROLLANDO EN LA PLATAFORMA .NET 15 • HolaMundo en .NET 15 .NET EN EL MERCADO 16 CONCLUSIONES 19 BIBLIOGRAFÍA 20 ANEXO 1: CASO DE ÉXITO 21
  • 3. INTRODUCCIÓN El diseño de aplicaciones distribuidas no es una tarea sencilla. Es necesario tomar un gran número de decisiones a nivel de arquitectura, diseño e implementación. Estas decisiones tendrán un impacto en las "capacidades" de la aplicación (seguridad, escalabilidad, disponibilidad y mantenimiento, entre otras), así como en la arquitectura, el diseño y la implementación de la infraestructura de destino. Microsoft.NET es el conjunto de tecnologías en las que Microsoft tiene como objetivo tener una plataforma sencilla y potente para distribuir el software en forma de servicios que puedan ser suministrados remotamente y que puedan comunicarse y combinarse unos con otros de manera totalmente independiente de la plataforma, lenguaje de programación y modelo de componentes con los que hayan sido desarrollados.
  • 4. .NET .NET es un conjunto de tecnologías de software de Microsoft, compuesto de varios lenguajes de programación que se ejecutan bajo el .NET Framework. Es además un entorno completamente orientado a objetos y que es capaz de ejecutarse bajo cualquier plataforma. A su vez: • .NET es una plataforma para el desarrollo y explotación de aplicaciones “gestionadas” (managed) modernas y orientadas a objetos. • Las aplicaciones .NET se pueden desarrollar en cualquier lenguaje de programación que se ajuste a .NET. • .NET soporta un extenso framework de librerías de clases independientes del lenguaje de programación. • .NET soporta la creación de componentes auto-describibles. • .NET ofrece integración multi-lenguaje, reutilización de componentes, y herencia entre componentes. • .NET ofrece una manera de desarrollar aplicaciones de escritorio usando las clases Windows Forms. • .NET ofrece una manera de desarrollar aplicaciones basadas en navegador Web a través de ASP.NET. • Las clases ADO.NET proveen una arquitectura desconectada para acceso a datos a través de Internet. • .NET soporta la creación de Servicios Web XML independientes de la plataforma, a través de SOAP (Simple Object Access Protocol) y WSDL (Web Services Description Language). • .NET ofrece una arquitectura para el desarrollo y explotación de objetos remotos. .NET FRAMEWORK .NET Framework es una tecnología que admite la compilación y ejecución de aplicaciones y servicios Web XML. El diseño de .NET Framework está enfocado a cumplir con los siguientes objetivos: • Proporcionar un entorno coherente de programación orientada a objetos, en el que el código de los objetos se pueda almacenar y ejecutar de forma local, ejecutar de forma local pero distribuida en Internet o ejecutar de forma remota. • Proporcionar un entorno de ejecución de código que minimiza los conflictos en el despliegue y versionado de software. • Ofrecer un entorno de ejecución de código que promueva la ejecución segura del mismo, incluso del creado por terceros desconocidos o que no son de plena confianza. • Proporcionar un entorno de ejecución de código que elimine los problemas de rendimiento de los entornos en los que se utilizan scripts o intérpretes de comandos. • Ofrecer al programador una experiencia coherente entre tipos de aplicaciones muy diferentes, como las basadas en Windows o en el Web. • Basar toda la comunicación en estándares del sector para asegurar que el código de .NET Framework se puede integrar con otros tipos de código. COMPONENTES DE .NET .NET es una tecnología que incorpora una serie de elementos y/o herramientas que permiten que la tecnología de Microsoft cumpla sus objetivos. En donde podemos destacar la base que corresponde al .NET Framework, un entorno de desarrollo Visual Studio .NET, la gestión de los WebServices XML y herramientas para servidores empresariales.
  • 5. Figura 1. Arquitectura de .NET • PLATAFORMA .NET Framework .NET Framework consta de dos componentes principales: Common Language Runtime y la biblioteca de clases de .NET Framework. Common Language Runtime es el fundamento de .NET Framework. El motor en tiempo de ejecución se puede considerar como un agente que administra el código en tiempo de ejecución y proporciona servicios centrales, como la administración de memoria, la administración de subprocesos y la comunicación remota, al tiempo que aplica una seguridad estricta a los tipos y otras formas de especificación del código que promueven su seguridad y solidez. De hecho, el concepto de administración de código es un principio fundamental del motor en tiempo de ejecución. El código destinado al motor en tiempo de ejecución se denomina código administrado, a diferencia del resto de código, que se conoce como código no administrado. La biblioteca de clases es una completa colección orientada a objetos de tipos reutilizables que se pueden emplear para desarrollar aplicaciones que abarcan desde las tradicionales herramientas de interfaz gráfica de usuario (GUI) o de línea de comandos hasta las aplicaciones basadas en las innovaciones más recientes proporcionadas por ASP.NET, como Web Forms y Servicios Web XML. Figura 2. Plataforma de .NET Framework
  • 6. .NET Framework puede hospedarse en componentes no administrados que cargan Common Language Runtime en sus procesos e inician la ejecución de código administrado, con lo que se crea un entorno de software en el que se pueden utilizar características administradas y no administradas. En .NET Framework no sólo se ofrecen varios hosts de motor en tiempo de ejecución, sino que también se admite el desarrollo de estos hosts por parte de terceros. Por ejemplo, ASP.NET hospeda el motor en tiempo de ejecución para proporcionar un entorno de servidor escalable para el código administrado. ASP.NET trabaja directamente con el motor en tiempo de ejecución para habilitar aplicaciones de ASP.NET y servicios Web XML. En la Figura 3, se muestra la relación de Common Language Runtime y la biblioteca de clases con las aplicaciones y el sistema en su conjunto. De igual manera, se representa igualmente cómo funciona el código administrado dentro de una arquitectura mayor. Los servicios que ofrece .NET Framework a las aplicaciones en ejecución son los siguientes: - Administración de la memoria. En muchos lenguajes de programación, los programadores son responsables de asignar y liberar memoria y de administrar la vida útil de los objetos. En las aplicaciones de .NET Framework, el CLR proporciona estos servicios en nombre de la aplicación. - Sistema de tipos comunes. En los lenguajes de programación tradicionales, el compilador define los tipos básicos, lo que complica la interoperabilidad entre lenguajes. En .NET Framework, los tipos básicos los define el sistema de tipos de .NET Framework y son comunes a todos los lenguajes que tienen como destino .NET Framework. - Biblioteca de clases extensa. En lugar de tener que escribir cantidades extensas de código para controlar operaciones comunes de programación de bajo nivel, los programadores pueden usar una biblioteca de tipos accesible en todo momento y sus miembros desde la biblioteca de clases de .NET Framework. - Frameworks y tecnologías de desarrollo. .NET Framework incluye bibliotecas para determinadas áreas de desarrollo de aplicaciones, como ASP.NET para aplicaciones web, ADO.NET para el acceso a los datos y Windows Communication Foundation para las aplicaciones orientadas a servicios. - Interoperabilidad de lenguajes. Los compiladores de lenguajes cuya plataforma de destino es .NET Framework emiten un código intermedio denominado Lenguaje intermedio común (CIL), que, a su vez, se compila en tiempo de ejecución a través de Common Language Runtime. Con esta característica, las rutinas escritas en un lenguaje están accesibles a otros lenguajes, y los programadores pueden centrarse en crear aplicaciones en su lenguaje o lenguajes preferidos. - Compatibilidad de versiones. Con raras excepciones, las aplicaciones que se desarrollan con una versión determinada de .NET Framework se pueden ejecutar sin modificaciones en una versión posterior. - Ejecución en paralelo. .NET Framework ayuda a resolver conflictos entre versiones y permite que varias versiones de Common Language Runtime coexistan en el mismo equipo. Esto significa que también pueden coexistir varias versiones de las aplicaciones, y que una aplicación se puede ejecutar en la versión de .NET Framework con la que se compiló.
  • 7. - Compatibilidad con múltiples versiones (multi-targeting). Al usar la Biblioteca de clases portable de .NET Framework, los desarrolladores pueden crear ensamblados que funcionen en varias plataformas, como Windows 7, Windows 8, Windows 8.1, Windows Phone y Xbox 360. Figura 3. .NET Framework en contexto ◦ Common Language Runtime (CLR) Common Language Runtime administra la memoria, ejecución de subprocesos, ejecución de código, comprobación de la seguridad del código, compilación y demás servicios del sistema. Estas características son intrínsecas del código administrado que se ejecuta en Common Language Runtime. Con respecto a la seguridad, los componentes administrados reciben grados de confianza diferentes, en función de una serie de factores entre los que se incluye su origen (como Internet, red empresarial o equipo local). Esto significa que un componente administrado puede ser capaz o no de realizar operaciones de acceso a archivos, operaciones de acceso al Registro y otras funciones delicadas, incluso si se está utilizando en la misma aplicación activa. El motor en tiempo de ejecución impone la seguridad de acceso del código. Por ejemplo, los usuarios pueden confiar en que un archivo ejecutable incrustado en una página Web puede reproducir una animación en la pantalla o entonar una canción, pero no puede tener acceso a sus datos personales, sistema de archivos o red. Por ello, las características de seguridad del motor en tiempo de ejecución permiten que el software legítimo implementado en Internet sea excepcionalmente variado. Además, el motor en tiempo de ejecución impone la solidez del código mediante la implementación de una infraestructura estricta de comprobación de tipos y código denominada CTS (Common Type System, Sistema de tipos común). CTS garantiza que todo el código administrado es autodescriptivo.
  • 8. Los diversos compiladores de lenguaje de Microsoft y de otros fabricantes generan código administrado que se atiene al CTS. Esto significa que el código administrado puede consumir otros tipos e instancias administrados, al tiempo que se exige fidelidad de tipos y seguridad de tipos estrictamente. Además, el entorno administrado del motor en tiempo de ejecución elimina muchos problemas de software comunes. Por ejemplo, el motor en tiempo de ejecución controla automáticamente la disposición de los objetos, administra las referencias a éstos y los libera cuando ya no se utilizan. Esta administración automática de la memoria soluciona los dos errores más comunes de las aplicaciones: la pérdida de memoria y las referencias no válidas a la memoria. Además, el motor en tiempo de ejecución aumenta la productividad del programador. Por ejemplo, los desarrolladores pueden crear aplicaciones en el lenguaje que prefieran y seguir sacando todo el provecho del motor en tiempo de ejecución, la biblioteca de clases y los componentes escritos en otros lenguajes por otros colegas. El proveedor de un compilador puede elegir destinarlo al motor en tiempo de ejecución. Los compiladores de lenguajes que se destinan a .NET Framework hacen que las características de .NET Framework estén disponibles para el código existente escrito en dicho lenguaje, lo que facilita enormemente el proceso de migración de las aplicaciones existentes. Aunque el motor en tiempo de ejecución está diseñado para el software del futuro, también es compatible con el software actual y el software antiguo. La interoperabilidad entre el código administrado y no administrado permite que los desarrolladores continúen utilizando los componentes COM y las DLL que necesiten. El motor en tiempo de ejecución está diseñado para mejorar el rendimiento. Aunque Common Language Runtime proporciona muchos servicios estándar de motor en tiempo de ejecución, el código administrado nunca se interpreta. Una característica denominada compilación JIT (Just-In-Time) permite ejecutar todo el código administrado en el lenguaje máquina nativo del sistema en el que se ejecuta. Mientras tanto, el administrador de memoria evita que la memoria se pueda fragmentar y aumenta la zona de referencia de la memoria para mejorar aún más el rendimiento. Por último, el runtime se puede hospedar en aplicaciones de servidor de gran rendimiento, como Microsoft SQL Server e Internet Information Services (IIS). Esta infraestructura permite utilizar código administrado para escribir lógica empresarial, al tiempo que se disfruta del superior rendimiento de los mejores servidores empresariales del sector que puedan hospedar el motor en tiempo de ejecución. ▪ .NET y Código Gestionado Figura 4. Compilando y Ejecutando código gestionado
  • 9. El código gestionado es el código de un programa que se ejecuta bajo la gestión de una máquina virtual, a diferencia de código no gestionado, que es directamente ejecutado por la CPU del computador. En la Figura 4, se evidencia los pasos de compilación y ejecución de un código gestionado en Microsoft .NET. Las aplicaciones que siguen el modelo de la Figura 4, son managed applications (aplicaciones gestionadas). En contrapartida, las aplicaciones Windows no gestionadas se denominan unmanaged applications. Y como se muestra en la Figura 5, Managed applications y unmanaged applications pueden convivir. Figura 5. Pasos de Ejecución de Código Gestionado y No Gestionado ◦ .NET Framework Base Classes o FCL (Foundation Class Library) La biblioteca de clases de .NET Framework es una colección de tipos reutilizables que se integran estrechamente con Common Language Runtime. La biblioteca de clases está orientada a objetos, lo que proporciona tipos de los que su propio código administrado puede derivar funciones. Esto ocasiona que los tipos de .NET Framework sean sencillos de utilizar y reduce el tiempo asociado con el aprendizaje de las nuevas características de .NET Framework. Además, los componentes de terceros se pueden integrar sin dificultades con las clases de .NET Framework. Esta librería de clases está escrita en Microsoft Intermediate Language (MSIL) luego cualquier lenguaje cuyo compilador genere MSIL podrá usarla. Con esta librería podemos crear todo tipo de aplicaciones: • Aplicaciones de consola (System.Console). • Aplicaciones GUI de Windows (Windows Forms). • Aplicaciones de Windows Presentation Foundation (WPF) Windows Presentation Foundation (WPF) es un sistema de presentación de próxima generación para crear aplicaciones cliente de Windows que proporcionen una experiencia visual impactante para el usuario. • Aplicaciones de ASP.NET
  • 10. • Servicios de Windows. Los servicios de Microsoft Windows, permiten crear aplicaciones ejecutables de larga duración, que se ejecutan en sus propias sesiones de Windows. Estos servicios pueden iniciarse automáticamente cuando el equipo arranca, se pueden pausar y reiniciar, y no muestran ninguna interfaz de usuario. • Aplicaciones orientadas a servicios utilizando Windows Communication Foundation (WCF). Windows Communication Foundation, es un modelo de programación unificado para compilar aplicaciones orientadas a servicios. • Aplicaciones habilitadas para el flujo de trabajo utilizando Windows Workflow Foundation (WF). Dada la amplitud de la FCL, ha sido necesario organizar las clases en ella incluida en espacios de nombres que agrupen clases con funcionalidades similares. El espacio de nombres System es el espacio raíz del que se originan todos los demás. Los espacios de nombres más usados son: • System: Contiene tipos de datos muy usados, datos básicos, tablas, excepciones... Es el raíz. • System.Object: Soporta toda la jerarquía de las clases de .NET. • System.Collections: Colecciones de datos de uso común como pilas, colas, listas. • System.Data: Manipulación de base de datos. Forma la denominada arquitectura ADO.NET. • System.IO: Manipulación de ficheros. • System.Reflection: Acceso a los metadatos que acompañan a los módulos de código. • System.Math: Funciones logarítmicas, trigonométricas... • System.XML: Acceso a datos en formato XML. • System.Web: Aplicaciones Web. ◦ ASP.NET ASP.NET es un modelo de desarrollo Web unificado que incluye los servicios necesarios para crear aplicaciones Web empresariales con el código mínimo. ASP.NET forma parte de .NET Framework y al codificar las aplicaciones ASP.NET tiene acceso a las clases en .NET Framework. El código de las aplicaciones puede escribirse en cualquier lenguaje compatible con el Common Language Runtime (CLR), entre ellos Microsoft Visual Basic, C#, JScript .NET y J#. Estos lenguajes permiten desarrollar aplicaciones ASP.NET que se benefician del Common Language Runtime, seguridad de tipos, herencia, etc. ASP.NET incluye: ◦ Marco de trabajo de página y controles: es un marco de trabajo de programación que se ejecuta en un servidor Web para generar y representar de forma dinámica páginas Web ASP.NET. Las páginas Web ASP.NET se pueden solicitar a cualquier explorador o dispositivo del cliente y ASP.NET representa el marcado (como HTML) al explorador que realizó la solicitud. ◦ Compilador de ASP.NET: Compila todo el código de ASP.NET, lo que permite el establecimiento inflexible de tipos, las optimizaciones de rendimiento y el enlace en tiempo de compilación, entre otras ventajas.
  • 11. Una vez que se ha compilado el código, el Common Language Runtime compila una vez más código de ASP.NET en código nativo, lo que permite un mayor rendimiento. ASP.NET incluye un compilador que compilará todos los componentes de la aplicación, incluidas las páginas y los controles, en un ensamblado que el entorno de host de ASP.NET puede utilizar a continuación para atender las solicitudes del usuario. ◦ Infraestructura de seguridad: Además de las características de seguridad de .NET, ASP.NET proporciona una infraestructura de seguridad avanzada para autenticar y autorizar el acceso de los usuarios y realizar otras tareas relacionadas con la seguridad. Puede autenticar usuarios con la autenticación de Windows suministrada por IIS o puede administrar la autenticación con su propia base de datos de usuario utilizando la autenticación mediante formularios ASP.NET y la suscripción ASP.NET. ◦ Funciones de administración de estado: ASP.NET proporciona funcionalidad de administración de estado intrínseca que permite almacenar información entre las solicitudes de página, como la información de clientes o el contenido del carro de la compra. Puede guardar y administrar información específica de la aplicación, específica de la sesión, específica de la página, específica del usuario y definida por el desarrollador. Esta información puede ser independiente de cualquier control de la página. ◦ Configuración de la aplicación: Las aplicaciones ASP.NET utilizan un sistema de configuración que le permite definir valores de configuración para su servidor Web, para un sitio Web o para aplicaciones individuales. Puede crear valores de configuración cuando se implementan las aplicaciones ASP.NET y puede agregar o revisar los valores de configuración en cualquier momento con un impacto mínimo en aplicaciones y servidores Web de operaciones. Los valores de configuración de ASP.NET se almacenan en archivos basados en la tecnología XML. Dado que estos archivos XML son archivos de texto ASCII, es fácil realizar cambios de configuración a sus aplicaciones Web. ◦ Supervisión de estado y características de rendimiento: La supervisión del estado de ASP.NET permite proporcionar información sobre eventos clave que proporcionan información sobre el estado de una aplicación y sobre las condiciones de error. Estos eventos muestran una combinación de diagnósticos y características de supervisión, a la vez que proporcionan un elevado grado de flexibilidad en lo que respecta a lo que se registra y cómo. ASP.NET admite dos grupos de contadores de rendimiento a los que pueden obtener acceso las aplicaciones: el grupo de contadores de rendimiento del sistema ASP.NET, y el grupo de contadores de rendimiento de la aplicación ASP.NET. ◦ Capacidad de depuración: ASP.NET aprovecha la infraestructura de depuración en tiempo de ejecución para permitir la depuración entre lenguajes y equipos. Se pueden depurar tanto objetos administrados como no administrados, así como todos los lenguajes compatibles con el Common Language Runtime y los lenguajes de script. ◦ Marco de trabajo de servicios Web XML: ASP.NET es compatible con los servicios Web XML. Un servicio Web XML es un componente que incluye funcionalidad de empresa que permite a las aplicaciones intercambiar información entre firewalls utilizando estándares como los servicios de mensajería HTTP y XML. Los servicios Web XML no están relacionados con ninguna tecnología de componentes ni con ninguna convención de llamada a objetos en concreto.
  • 12. Como resultado, pueden obtener acceso a los servicios Web XML los programas escritos en cualquier lenguaje, que usen cualquier modelo de componentes y se ejecuten en cualquier sistema operativo. ◦ Entorno de host extensible y administración del ciclo de vida de las aplicaciones: ASP.NET incluye un entorno de host extensible que controla el ciclo de vida de una aplicación desde el momento en que un usuario cualquiera tiene acceso a un recurso (como una página) en la aplicación hasta el momento en que se cierra la aplicación. Aunque ASP.NET se basa en un servidor Web (IIS) como un host de la aplicación, ASP.NET proporciona gran parte de la propia funcionalidad de host. La arquitectura de ASP.NET permite responder a los eventos de aplicación y crear controladores y módulos HTTP personalizados. ◦ Entorno de diseñador extensible: ASP.NET incluye la compatibilidad mejorada para crear diseñadores de controles de servidor Web para utilizarlos con una herramienta de diseño visual como Visual Studio. Los diseñadores permiten crear una interfaz de usuario en tiempo de diseño para un control; de este modo, los desarrolladores pueden configurar las propiedades y el contenido del control en una herramienta de diseño visual. ◦ Windows Form Con los formularios Windows Forms, se pueden desarrollar clientes inteligentes. Los clientes inteligentes son aplicaciones muy ricas gráficamente que resultan fáciles de implementar y actualizar, pueden funcionar conectadas o desconectadas a Internet, y pueden tener acceso a recursos en el equipo local de un modo más seguro que las aplicaciones basadas en Windows tradicionales. En formularios Windows Forms, un formulario es una superficie visual en la que se muestra información al usuario. Normalmente las aplicaciones de Windows Forms se compilan agregando controles a los formularios y programando respuestas a las acciones del usuario, como clics del mouse o presiones de teclas. Un control es un elemento discreto de la interfaz de usuario que muestra datos o acepta la entrada de datos. Los formularios Windows Forms contienen diversos controles que puede agregar a los formularios: controles que muestran cuadros de texto, botones, cuadros desplegables, botones de radio e incluso páginas Web. • VISUAL STUDIO Figura 6. Logo de Visual Studio Microsoft Visual Studio es un conjunto de herramientas para crear software, desde la fase de diseño pasando por la fases de diseño de la interfaz de usuario, codificación, pruebas, depuración, análisis de la calidad y el rendimiento del código, implementación en los clientes y recopilación de telemetría de uso. Estas herramientas están diseñadas para trabajar juntas de la forma más eficiente posible y todas se exponen a través del Entorno de desarrollo integrado (IDE) de Visual Studio.
  • 13. Puede usarse Visual Studio para crear muchos tipos de aplicaciones, desde sencillas aplicaciones y juegos para clientes móviles, hasta sistemas grandes y complejos para empresas y centros de datos. Puede crear: • Aplicaciones y juegos que se ejecutan no solo en Windows, sino también en Android y en iOS. • Sitios web y servicios web basados en ASP.NET, JQuery, AngularJS y otros entornos populares. • Aplicaciones para dispositivos y plataformas tan diversos como Office, Sharepoint, Hololens, Kinect e Internet de las cosas, por nombrar solo algunos ejemplos. • Juegos y aplicaciones con gráficos avanzados para una variedad de dispositivos Windows con DirectX. Las distribuciones actuales de Visual Studio, basada en la última versión 2015, son: ◦ Visual Studio Community Visual Studio Community (Comunidad de Visual Studio) es gratuito y posee una IDE con todas las funcionalidades. Es ideal para estudiantes, para los que desarrollan aplicaciones de código abierto o para aficionados. Permite desarrollar tanto para plataforma Windows, como para iOS y Android. Esta versión incluye un IDE completo y compatible con varios tipos de proyectos, o sea un solo archivo de solución en un solo IDE, que tiene todas las características de productividad conocidas y capacidades de extensibilidad. Entre las características principales de esta versión de Visual Studio, encontramos: • Herramientas de codificación eficaces: Puede codificar en su lenguaje, buscar y corregir problemas de código rápidamente y refactorice con facilidad. • Depuración avanzada: Se puede depurar en varios lenguajes de forma local o remota. Diagnostique problemas de rendimiento sin abandonar el flujo de trabajo del depurador. • Aplicaciones para dispositivos: Herramientas de Apache Cordova (es un marco de desarrollo móvil de código abierto. Permite utilizar las tecnologías estándar web como HTML5, CSS3 y JavaScript para desarrollo multiplataforma, evitando el lenguaje de desarrollo nativo cada plataformas móviles), Xamarin (es una implementación libre de la plataforma de desarrollo.NET para dispositivos Android, iOS y GNU/Linux) y Unity (es un motor de videojuego multiplataforma. Unity permite crear juegos para Windows, OS X, Linux, Xbox 360, PlayStation 3, Playstation Vita, Wii, Wii U, iPad, iPhone, Android y Windows Phone.) pueden descargarse para poder codificar, depurar, probar, compartir y reutilizar en más plataformas. Figura 7. Esquema de Xamarin
  • 14. • Herramientas Web: Desarrollar en web con ASP.NET, Node.js, Python, y Javascript. Se usa con marcos web como AngularJS, jQuery, Bootstrap, Django y Backbone.js. • Varios Lenguajes: La compatibilidad con varios lenguajes incluye C#, Visual Basic, F#, C++, Javascript, Typescript, Python y otros. ◦ Visual Studio Enterprise con MSDN (Microsoft Developer Network) Es una solución integrada y completa para equipos de cualquier tamaño con necesidades exigentes de calidad y escalabilidad. Posee servicios y herramientas para diseñar, crear y administrar aplicaciones empresariales complejas. Adicional a las características de la versión Community de Visual Studio, podemos añadir: • Distribuir mejor el software y con más frecuencia: Las capacidades de Release Management de Visual Studio 2015 le permite implementar de forma continua y definir fases del lanzamiento, criterios de aceptación y flujos de trabajo de aprobación para automatizar el proceso de lanzamiento. • Agile empresarial: Herramientas de Agile y las capacidades de administración de proyectos optimizadas para proyectos a escala empresarial. • Administrar la complejidad: Herramientas de modelado innovadoras que permite crear software esencial de alta calidad. • Código de mayor calidad: IntelliTest para generar rápidamente pruebas unitarias relevantes para el código de forma automática. La versión de Visual Estudio Enterprise con MSDN, tiene un costo de US$5.999. ◦ Visual Studio Online Visual Studio Online incluye un conjunto de herramientas de colaboración con tecnología de la nube que funcionan con el editor o IDE existente, para que el equipo de desarrollo pueda trabajar de manera eficiente en proyectos de software de cualquier índole y envergadura. En donde incluye lo siguiente: • Control de versiones: Almacenar y colaborar en código de cualquier lugar con proyectos de equipos privados, respaldado por el control de versiones. • Herramientas para equipos de Agile • Integración continua ◦ Visual Studio Code Visual Studio Code permite editar código, compilar y depurar aplicaciones web y de nube modernas. Code es gratuito y esta disponible en las plataformas Windows, MacOS y Linux. Entre las características más resaltantes, encontramos: • OS X, Linux y Windows: Se ejecuta de forma nativa en el sistema operativo seleccionado. • Cobertura de Lenguajes: Visual Studio Code es compatible con JavaScript, C#, C++, PHP, Java, HTML, R, CSS, SQL, Markdown, TypeScript, LESS, SASS, JSON, XML y Python, así como con muchos otros formatos de archivo comunes. • Edición centrada en el código: Edición avanzada y rápida centrada en el teclado con varios cursores.
  • 15. • Comprensión del código: IntelliSense describe las API mientras se escribe, con auto-completar para aumentar la velocidad y la precisión. • Compatible con Visual Studio Online DESARROLLANDO PARA LA PLATAFORMA .NET .NET es independiente del lenguaje de programación, no estamos restringidos a desarrollar en Visual C++ y Basic; existen compiladores para C#, Visual Basic.NET, Jscript.NET, COBOL, Python, Perl, etc. Aunque .NET soporta estos lenguajes no soportando realmente ninguno de ellos, ya que .NET sólo entiende Microsoft Intermediate Language (IL) Figura 8. Proceso de Compilación de un Programa en .NET Como se puede ver en la Figura 8, .NET traduce el código fuente a Intermediate Language (IL), ese proceso de compilación genera IL más la Metadata. IL es una especie de lenguaje ensamblador para una CPU Virtual; IL es compilado antes de ser ejecutado, y las sentencias IL manipulan tipos comunes compartidos por todos los lenguajes .NET (Common Type System, CTS). Para la ejecución del programa en .NET, el Common Language Runtime (CLR) es el responsable, usando una compilación JIT (Just-In-Time) para traducir IL a código nativo; por lo que IL es siempre compilado y nunca interpretado. Hola Mundo en .NET Figura 9. Código en C#.NET de HolaMundo Consideraciones generales sobre el código descrito en la Figura 9: • Todo programa en C# contiene al menos una clase • Main es el punto de entrada del programa • Console.WriteLine(“Hola desde C#”), visualiza un mensaje, invocando método WriteLine de la clase Console • El espacio de nombres System pertenece a .NET FCL (Framework Class Library) • FCL contiene muchas clases útiles, que pueden usarse desde las aplicaciones .NET
  • 16. La compilación y ejecución del ejemplo del código fuente de la Figura 9, se puede ver a continuación, en la Figura 10. Figura 10. Compilación y Ejecución de Programa en .NET Para la realización del mismo ejemplo en Visual Basic.NET se debe realizar el código de la Figura 11. Figura 11. Código en C#.NET de HolaMundo .NET EN EL MERCADO Como se puede ver en la Figura 12, del cuadrante mágico de Gartner para la Administración del ciclo de vida de desarrollo de aplicaciones, tenemos que Gartner considera que Microsoft concentra su inversión el ecosistema de desarrollo de .NET. .NET ofrece un conjunto de funcionalidades disponibles, ya sea de forma local o en la nube. Aunado al creciente apoyo de las tecnologías de código abierto y la participación de la comunidad en la apertura de herramientas como Visual Studio. Con un fuerte apoyo a nivel de proyectos ágiles, Microsoft puede manejar casi todas las necesidades para gestionar un proyecto de desarrollo .NET. Las fortalezas dadas por Gartner, indican: • Microsoft tiene una estrategia clara y ofrece funcionalidad ADLM (Application Development Lifecycle Management) que es fácil de implementar. • Microsoft a través del MSDN ofrece material de capacitación y de acceso al software. • Microsoft entiende principios agiles mejor que las mayoría de los fabricantes de soluciones integradas de ADLM. Y de igual manera, Gartner, indica algunas precauciones: • Microsoft se esfuerza por penetrar organizaciones de desarrollo fuera del mundo .NET. • El cambio hacia el móvil como plataforma dominante presenta una oportunidad para que los competidores puedan vulnerar el enfoque de “todo Microsoft”.
  • 17. Figura 12. Magic Quadrant for Application Development Life Cycle Management (ADLM) Figura 13. Gartner's Magic Quadrant scoreboard for mobile application development platforms.
  • 18. De acuerdo a la Figura 13, en donde en otro cuadrante de Gartner, en este caso de las plataformas de desarrollo de aplicaciones móviles, podemos encontrar a Microsoft en una posición no adecuada, para finales del 2014, pero que con la aparición de la plataforma de Visual Studio para el desarrollo de aplicaciones multiplataforma en C# usando Xarami, puede mejorar esta posición en los próximos meses de acuerdo a la adopción de esta tecnología por los desarrolladores.
  • 19. CONCLUSIONES .NET es un framework de Microsoft que hace énfasis en la transparencia de las redes, con independencia de la plataforma de hardware y que permita un rápido desarrollo de aplicaciones; y en esta última versión, la incorporación de elementos hacia el código abierto y aplicaciones multiplataforma. .NET es una estrategia de Microsoft para el negocio de desarrollo de aplicaciones Web, como competencia a la plataforma Java de Oracle, y a los diversos framework de desarrollo web basados en PHP. Así como la incorporación de herramientas para el desarrollo de aplicaciones para distintas plataformas de juegos, así como para distintos sistemas operativos de equipos móviles. La incorporación de un entorno de desarrollo gratuito denominado Visual Studio Community, es una muestra de la abertura de Microsoft hacia distintos tipos de usuarios, seguir manteniendo una suite licenciada de Visual Studio Enterprise; y lo más novedoso, la inclusión de una suite de Visual Studio Code, en donde se abre Visual Studio a distintas plataformas de sistema operativo. Todo esto apunta hacia la ampliación del alcance de desarrolladores y/o plataformas y poder así buscar abarcar una mayor cuota de mercado.
  • 20. BIBLIOGRAFÍA Microsoft Developer Network. Introducción a .NET Framework. https://msdn.microsoft.com/es-es/library/hh425099%28v=vs.110%29.aspx Microsoft Developer Network. Información general sobre ASP.NET. https://msdn.microsoft.com/es-es/library/4w3ex9c2%28v=vs.100%29.aspx Microsoft. Visual Studio: herramientas para todos los desarrolladores y todas las aplicaciones. https://www.visualstudio.com/ Fergal Grimes, Manning. Microsoft.NET for Programmers. http://www.manning.com/grimes Ander Barbier y Unai Extremo. Seminario.NET y C#. Universidad de Deusto, 2003. http://asignaturas.deusto.es/Seminario.NET Gartner. Magic Quadrant for Application Development Life Cycle Management http://www.gartner.com/technology/reprints.do?id=1-2A61Y68&ct=150218&st=sb Gartner. Gartner's Magic Quadrant scoreboard for mobile application development platforms. http://www.itjungle.com/tfh/tfh092214-story07.html
  • 21. ANEXO 1: CASO DE ÉXITO