Twitter Flickr Pinterest LinkedIn YouTube Google Maps E-mail RSS
formats

Tecnologías de desarrollo de Microsoft: Desde aplicaciones de escritorio hasta soluciones móviles y de servidor

Publicado en 1 mayo, 2024, por en Microsoft.

Bienvenidos a este blog donde exploramos las tecnologías de desarrollo de Microsoft, una introducción integral a las plataformas para el desarrollo de aplicaciones de escritorio, móviles y servidor. Esta entrada proporcionará una visión general de cada tipo de tecnología, destacando cómo pueden ser aplicadas eficazmente en diferentes escenarios de desarrollo. Ideal para aquellos desarrolladores que buscan orientarse sobre qué herramientas pueden ser las más adecuadas para sus proyectos.

 

Con esta visión general, se proporcionará una base sólida para aquellos interesados en las soluciones de desarrollo de Microsoft. Desde aquellos que están comenzando hasta los más experimentados, a través del vasto ecosistema de desarrollo de Microsoft. Nos centraremos en cómo estas tecnologías pueden ser utilizadas para desarrollar aplicaciones que no solo cumplen con los requisitos modernos de funcionalidad y seguridad, sino que también proporcionan una excelente experiencia de usuario y aprovechan las últimas innovaciones en el campo del desarrollo de software.

Tecnologías de Escritorio o Desktop

Microsoft ofrece varias tecnologías para el desarrollo de aplicaciones de escritorio, cada una adecuada para diferentes tipos de necesidades y escenarios de desarrollo. Aquí están algunas de las principales tecnologías de desarrollo de escritorio de Microsoft:

  1. Windows Forms (WinForms):
    • Descripción: Tecnología para crear aplicaciones de escritorio en Windows con una base rica en componentes visuales.
    • Relación con .NET: Parte del .NET Framework original y ahora soportada en .NET Core 3.0 y .NET 5/6/7, permitiendo a los desarrolladores modernizar sus aplicaciones existentes mientras aprovechan las mejoras del nuevo .NET. En la parte inferior de este artículo se describe las diferencias entre NET Framework y core.
  2. Windows Presentation Foundation (WPF):
    • Descripción: Framework para el desarrollo de aplicaciones de escritorio en Windows que permite una rica interacción visual y multimedia.
    • Relación con .NET: Incluido en .NET Framework y extendido a .NET Core y .NET 5/6/7, proporcionando un modelo de desarrollo avanzado y moderno con soporte para MVVM (Model-View-ViewModel).
  3. Universal Windows Platform (UWP):
    • Descripción: Plataforma para crear aplicaciones que corren en todos los dispositivos de Windows 10 y Windows 11, desde PC hasta Xbox y HoloLens.
    • Relación con .NET: Utiliza .NET Native para compilación y ejecución, ofreciendo una integración profunda con Windows 10/11 y la capacidad de distribuir aplicaciones a través de Microsoft Store.
  4. Visual Component Library (VCL) for Delphi/C++ Builder:
    • Descripción: Biblioteca de componentes para el desarrollo de aplicaciones nativas en Windows utilizando Delphi o C++ Builder.
    • Relación con .NET: No es parte del ecosistema .NET, ya que es específico de los productos de Embarcadero Technologies, pero es similar en concepto a WinForms y WPF en términos de proporcionar un rico conjunto de controles GUI.
  5. .NET MAUI (Multi-platform App UI):
    • Descripción: Framework de la próxima generación para construir aplicaciones multiplataforma para móviles, tabletas y escritorios.
    • Relación con .NET: Parte de .NET 6 y versiones posteriores, diseñado para simplificar el desarrollo multiplataforma con una sola base de código C# y XAML.
  6. Blazor para aplicaciones de escritorio:
    • Descripción: Extensión del framework Blazor que permite usar tecnologías web para desarrollar aplicaciones de escritorio.
    • Relación con .NET: Utiliza .NET para ejecutar C# en el navegador o en un entorno de escritorio, aprovechando WebAssembly o WebView2 para incrustar contenido web en aplicaciones de escritorio.
  7. Power Apps para Windows:
    • Descripción: Permite la creación de aplicaciones de negocio con poca codificación para usuarios que no son desarrolladores profesionales, facilitando la integración con datos y procesos empresariales.
    • Relación con .NET: Aunque Power Apps no es específicamente una tecnología .NET, se integra fácilmente con aplicaciones de Azure y otros servicios de Microsoft que soportan .NET.
  8. Electron.NET:
    • Descripción: Fusión de Electron y .NET, permitiendo el desarrollo de aplicaciones de escritorio usando web technologies y .NET para lógica de backend.
    • Relación con .NET: Utiliza ASP.NET Core para el backend, combinando las capacidades de desarrollo web con las robustas herramientas de .NET.

Cada una de estas tecnologías tiene sus propias ventajas y se adapta mejor a ciertos tipos de proyectos y equipos de desarrollo. Por ejemplo, WinForms y WPF son excelentes para aplicaciones tradicionales de Windows, UWP es ideal para aplicaciones en todos los dispositivos Windows, mientras que .NET MAUI y Blazor ofrecen enfoques más modernos y multiplataforma.

Tecnologías adicionales relacionadas con el escritorio.

  1. ActiveX:
    • Descripción: Tecnología antigua utilizada para crear componentes de software reutilizables que interactúan en una red, principalmente en aplicaciones de Internet y dentro de Microsoft Office. Aunque está en desuso para nuevos desarrollos, algunas aplicaciones legadas todavía la utilizan.
  2. Silverlight:
    • Descripción: Fue una framework para el desarrollo de aplicaciones ricas en Internet y aplicaciones de escritorio, similar a Adobe Flash. Permitía la ejecución de aplicaciones ricas en multimedia en la web y en el escritorio, pero Microsoft terminó su soporte en 2021.
  3. Microsoft Foundation Class (MFC) Library:
    • Descripción: Biblioteca de clases C++ que encapsula la funcionalidad de la API de Windows. MFC se utiliza para escribir aplicaciones de escritorio para Windows principalmente en C++. Aunque ha sido superada en cierto modo por tecnologías más modernas, todavía se utiliza, especialmente en mantenimiento de aplicaciones legadas.
  4. Power Apps para Windows:
    • Descripción: Parte de la suite de Microsoft Power Platform, Power Apps permite a los usuarios construir aplicaciones de negocio, que pueden ser desplegadas en dispositivos Windows como aplicaciones de escritorio. Estas aplicaciones también pueden funcionar en web y móviles.
  5. Xamarin.Forms (ahora parte de .NET MAUI):
    • Descripción: Antes de que .NET MAUI absorbiera y extendiera sus capacidades, Xamarin.Forms era utilizado para desarrollar aplicaciones de escritorio para Windows usando C#. Aunque el foco principal estaba en móviles, Xamarin.Forms ofrecía la capacidad de compartir lógica de negocio y UI entre plataformas móviles y de escritorio.
  6. Desktop Bridge (Centennial):
    • Descripción: Permite a los desarrolladores empaquetar y distribuir aplicaciones Win32, .NET, y WinForms existentes a través de la Microsoft Store, facilitando la modernización de aplicaciones de escritorio existentes con las funcionalidades de las aplicaciones UWP.
  7. Project Reunion (ahora conocido como Windows App SDK):
    • Descripción: Iniciativa de Microsoft para unificar y modernizar el desarrollo de aplicaciones para Windows. Windows App SDK pretende facilitar el desarrollo de aplicaciones que funcionen tanto en Windows 10 como en Windows 11, proporcionando una base común para todas las formas de apps de Windows, simplificando así el desarrollo y mantenimiento.

 

Tecnologías de desarrollo móvil.

Microsoft ofrece varias tecnologías para el desarrollo de aplicaciones móviles que facilitan la creación de aplicaciones para iOS, Android y Windows desde una base de código compartida. Aquí están las principales:

  1. .NET MAUI (Multi-platform App UI):
    • Descripción: .NET MAUI es el sucesor de Xamarin.Forms y forma parte de la unificación de las plataformas .NET. Esta tecnología permite a los desarrolladores crear aplicaciones para Android, iOS, macOS y Windows usando una sola base de código en C#. .NET MAUI extiende las capacidades de Xamarin.Forms proporcionando una experiencia de desarrollo más integrada y características mejoradas.
    • Ventajas: Facilita la creación de interfaces de usuario consistentes y nativas en todas las plataformas mientras se comparte la lógica de negocio. Soporta el desarrollo de aplicaciones tanto móviles como de escritorio.
  2. Xamarin:
    • Descripción: Antes de la introducción de .NET MAUI, Xamarin era la principal herramienta de Microsoft para el desarrollo de aplicaciones móviles multiplataforma. Aunque Xamarin.Forms se centraba en las interfaces de usuario compartidas, Xamarin.iOS y Xamarin.Android permitían a los desarrolladores acceder a APIs específicas de cada plataforma.
    • Ventajas: Permite un alto grado de personalización y acceso a funcionalidades específicas de la plataforma, lo cual es ideal para aplicaciones que requieren interacciones profundas con el sistema operativo subyacente.
  3. Blazor Mobile Bindings:
    • Descripción: Aunque aún en experimentación y no oficialmente lanzado como un producto final, Blazor Mobile Bindings permite a los desarrolladores utilizar Blazor, un framework basado en web para construir aplicaciones, para desarrollar aplicaciones móviles. Utiliza los componentes de Razor para construir interfaces de usuario nativas en dispositivos móviles.
    • Ventajas: Ofrece a los desarrolladores web la posibilidad de aplicar sus conocimientos de Blazor y web en el desarrollo de aplicaciones móviles sin tener que aprender un nuevo lenguaje o framework.
  4. React Native con TypeScript:
    • Descripción: Aunque no es una tecnología desarrollada por Microsoft, React Native puede utilizarse junto con TypeScript, un lenguaje desarrollado por Microsoft. Esta combinación es popular para desarrollar aplicaciones móviles multiplataforma utilizando conceptos de React y las ventajas de la tipificación estática de TypeScript.
    • Ventajas: Permite a los desarrolladores de JavaScript aprovechar su experiencia mientras se benefician de la robustez que proporciona TypeScript.

Estas tecnologías reflejan el compromiso de Microsoft con el desarrollo multiplataforma, permitiendo a los desarrolladores utilizar principalmente C# y .NET para crear aplicaciones que funcionen en múltiples sistemas operativos móviles, además de ofrecer opciones que integran otras tecnologías y lenguajes populares.

Tecnologías de desarrollo Servidor

Microsoft ofrece un conjunto de tecnologías robustas diseñadas para facilitar el desarrollo, despliegue y gestión de aplicaciones web y servicios en la nube. Estas tecnologías están diseñadas para mejorar la productividad de los desarrolladores y la eficiencia operativa. Aquí tienes un resumen ampliado de las tecnologías de servidor más relevantes de Microsoft, cada una interconectada con .NET y .NET Core:

  1. ASP.NET:
    • Descripción: Framework para construir aplicaciones web y servicios en .NET, que incluye ASP.NET Web Forms, ASP.NET MVC, y ASP.NET Web API.
    • Relación con .NET: Parte original del .NET Framework y ahora un componente central de .NET Core y .NET 5/6/7, ofreciendo un modelo de desarrollo unificado para aplicaciones web.
  2. ASP.NET Core:
    • Descripción: Versión moderna y de alto rendimiento de ASP.NET, modular y multiplataforma, que soporta el desarrollo de aplicaciones web, APIs y microservicios.
    • Relación con .NET: Integrado en .NET Core y continuado en .NET 5/6/7, permitiendo el desarrollo multiplataforma en Windows, Linux y macOS.
  3. Blazor:
    • Descripción: Framework que permite a los desarrolladores construir interfaces de usuario interactivas con C# en lugar de JavaScript, utilizando WebAssembly o en el servidor con ASP.NET Core.
    • Relación con .NET: Parte de ASP.NET Core, proporcionando una opción poderosa para el desarrollo de aplicaciones web modernas.
  4. SignalR:
    • Descripción: Biblioteca para ASP.NET que facilita la adición de funcionalidades de comunicación en tiempo real a aplicaciones web.
    • Relación con .NET: Integrado en ASP.NET Core, permite a los desarrolladores agregar fácilmente funcionalidades en tiempo real a las aplicaciones web y móviles.
  5. Entity Framework:
    • Descripción: ORM que permite a los desarrolladores trabajar con bases de datos utilizando objetos .NET.
    • Relación con .NET: Disponible en .NET Framework y .NET Core, simplificando el acceso y la manipulación de datos.
  6. Razor Pages:
    • Descripción: Parte de ASP.NET Core, facilita el desarrollo de aplicaciones web basadas en páginas sin requerir un controlador completo, simplificando la estructura del código para aplicaciones menos complejas.
    • Relación con .NET: Ofrece un enfoque más simplificado y centrado en páginas para la construcción de aplicaciones web en .NET.
  7. Azure Web Apps:
    • Descripción: Permite desplegar aplicaciones web y APIs rápidamente en el entorno de cloud de Microsoft Azure.
    • Relación con .NET: Soporta aplicaciones desarrolladas en .NET y .NET Core, proporcionando características como escalado automático y balanceo de carga.
  8. Azure Functions:
    • Descripción: Solución de computación sin servidor que permite ejecutar código en respuesta a eventos.
    • Relación con .NET: Soporta desarrollo en C# y otros lenguajes, permitiendo a los desarrolladores utilizar .NET para escribir funciones que escalan automáticamente y son gestionadas por Azure.
  9. Azure API Management:
    • Descripción: Ayuda a crear, publicar, mantener, monitorizar y asegurar APIs en Azure.
    • Relación con .NET: Gestiona APIs creadas con ASP.NET Core y otras tecnologías, proporcionando una plataforma robusta para el manejo de APIs a escala empresarial.

Estas tecnologías son esenciales para los desarrolladores que trabajan en el ecosistema de Microsoft, ofreciendo una amplia gama de opciones para el desarrollo de aplicaciones y servicios en el servidor, tanto en entornos locales como en la nube.

Diagrama de tecnologías Microsoft

Microsoft Development Technologies
|
├── Aplicaciones de Escritorio
| ├── Windows Forms
| ├── WPF (Windows Presentation Foundation)
| ├── UWP (Universal Windows Platform)
| └── .NET MAUI
|
├── Aplicaciones Móviles
| ├── Xamarin
| └── .NET MAUI
|
└── Tecnologías de Servidor
├── ASP.NET
| ├── Web Forms
| ├── MVC
| └── Web API
├── ASP.NET Core
| ├── Blazor
| | ├── Server-Side
| | └── WebAssembly
| ├── Razor Pages
| └── SignalR
├── Entity Framework
| └── Entity Framework Core
├── Azure Web Apps
├── Azure Functions
└── Azure API Management

Descripción del Diagrama:

  • Aplicaciones de Escritorio: Las opciones incluyen Windows Forms para aplicaciones tradicionales basadas en eventos, WPF para interfaces de usuario ricas en gráficos, UWP para aplicaciones en todos los dispositivos Windows, y .NET MAUI para un desarrollo multiplataforma unificado que extiende el alcance a dispositivos móviles y de escritorio.
  • Aplicaciones Móviles: Xamarin se utiliza para desarrollar aplicaciones móviles nativas utilizando C#, mientras que .NET MAUI permite una experiencia de desarrollo integrada para aplicaciones que corren en iOS, Android, y Windows.
  • Tecnologías de Servidor: Incluye ASP.NET con sus variantes de Web Forms, MVC, y Web API para aplicaciones web tradicionales y servicios RESTful. ASP.NET Core representa la evolución de ASP.NET, ofreciendo mejor rendimiento y siendo multiplataforma con subcategorías como Blazor para desarrollo con C# en el navegador y Razor Pages para un desarrollo web simplificado. SignalR permite funcionalidades en tiempo real. Entity Framework y su versión más moderna Entity Framework Core facilitan el acceso a bases de datos mediante ORM. Las tecnologías basadas en Azure como Azure Web Apps, Azure Functions, y Azure API Management proporcionan herramientas poderosas para desplegar y gestionar aplicaciones y APIs en la nube.

Este diagrama proporciona una vista estructurada de las principales tecnologías de desarrollo de Microsoft, facilitando la identificación y selección de las herramientas adecuadas para diferentes tipos de proyectos de desarrollo de software.

 

Aclaraciones de .NET y Core

.NET y .NET Core son frameworks de desarrollo que forman la columna vertebral de muchas tecnologías de desarrollo de Microsoft, ofreciendo un entorno coherente y versátil para construir y ejecutar aplicaciones en diversos tipos de plataformas, incluyendo escritorio, móvil y servidor.

.NET Framework

.NET Framework es una tecnología que ha estado en el centro del desarrollo de software de Microsoft durante muchos años. Fue diseñado para permitir la creación de aplicaciones que se ejecutan principalmente en el sistema operativo Windows. Incluye una amplia gama de servicios y bibliotecas para el desarrollo de aplicaciones de escritorio como Windows Forms y WPF (Windows Presentation Foundation), así como capacidades para el desarrollo de aplicaciones web mediante ASP.NET.

  • Aplicaciones de escritorio: .NET Framework ha sido fundamental para el desarrollo de aplicaciones de escritorio en Windows, utilizando tecnologías como Windows Forms y WPF.
  • Servidor y web: ASP.NET, una parte del .NET Framework, ha permitido el desarrollo de aplicaciones web robustas y escalables.

.NET Core

.NET Core es una versión más moderna y modular del .NET Framework, diseñada para ser multiplataforma, lo que significa que puede ejecutarse en Windows, Linux y macOS. Esto fue parte de un esfuerzo de Microsoft para adaptarse a un entorno de desarrollo más diverso y moderno.

  • Multiplataforma: A diferencia de .NET Framework, .NET Core puede desarrollar y ejecutar aplicaciones no solo en Windows, sino también en otros sistemas operativos, lo que amplía significativamente su utilidad.
  • Aplicaciones de escritorio: Con la introducción de .NET Core 3.0 y versiones posteriores, Microsoft añadió soporte para el desarrollo de aplicaciones de escritorio con WPF y Windows Forms, pero solo en el sistema operativo Windows.
  • Móvil y multiplataforma: A través de Xamarin, que ahora es parte de .NET Core bajo el paraguas de .NET 5 y .NET 6 (y sucesivamente), los desarrolladores pueden construir aplicaciones móviles que funcionan en Android e iOS.
  • Servidor y web: .NET Core es ideal para el desarrollo de aplicaciones y servicios web modernos y se utiliza para construir soluciones de backend robustas que se pueden desplegar en cualquier sistema operativo. ASP.NET Core, una versión más eficiente y modular de ASP.NET, es parte de .NET Core y ofrece mejoras significativas en rendimiento y flexibilidad.

Unificación bajo .NET 5/6/7+

Con el lanzamiento de .NET 5 y las versiones posteriores, Microsoft ha unificado .NET Core y .NET Framework en una sola plataforma denominada simplemente .NET, que busca ofrecer todas las ventajas de ambos mundos bajo un mismo techo. Esto simplifica el desarrollo de aplicaciones al proporcionar una única plataforma coherente para todas las formas de aplicaciones — escritorio, móvil, web y servidor — asegurando que los desarrolladores tengan acceso a las herramientas más modernas y eficientes disponibles.

Esta unificación busca facilitar la vida de los desarrolladores al permitirles trabajar en una amplia gama de aplicaciones con un conjunto de herramientas coherente y actualizado, maximizando así la reutilización del código y minimizando los esfuerzos de aprendizaje entre diferentes tipos de proyectos.

 

Descarga la guía completa de las tecnologías mencionadas. PDF

Guia-tecnologias-desarrollo-microsoft

Visor recomendado PDF – Palentino PDF Pro

Etiquetas:
Home Microsoft Tecnologías de desarrollo de Microsoft: Desde aplicaciones de escritorio hasta soluciones móviles y de servidor
© www.palentino.es, desde el 2012 - Un Blog para compartir conocimientos ...

Uso de cookies en mi sitio palentino.es

Este sitio web utiliza cookies para que tengamos la mejor experiencia de usuario. Si continúas navegando estás dando tu consentimiento para la aceptación de las mencionadas cookies y la aceptación de la política de cookies

ACEPTAR
Aviso de cookies