Archivo

Archivo del autor

Qué es .net Aspire, ventajas y como iniciarse

miércoles, 5 de agosto de 2026 Sin comentarios
.net aspire
.net aspire

¿Qué es .NET Aspire?
.NET Aspire es un framework desarrollado por Microsoft para facilitar el desarrollo, la ejecución y la observabilidad de aplicaciones distribuidas basadas en .NET. Está especialmente orientado a arquitecturas de microservicios y aplicaciones nativas de la nube (cloud-native), proporcionando un modelo unificado para configurar servicios, dependencias y recursos como bases de datos, colas de mensajes o cachés. Aspire integra de forma nativa herramientas de telemetría como OpenTelemetry, paneles de monitorización y orquestación del entorno de desarrollo, reduciendo la complejidad habitual de este tipo de aplicaciones y permitiendo que los desarrolladores se centren en la lógica de negocio.

Ventajas de .NET Aspire
Entre las principales ventajas de .NET Aspire destacan la simplificación de la configuración de aplicaciones distribuidas, la gestión centralizada de la configuración y las dependencias, y la integración automática de mecanismos de observabilidad, como registros (logs), métricas y trazas distribuidas. Además, facilita la incorporación de contenedores y servicios externos mediante componentes predefinidos, mejora la productividad gracias a su integración con Visual Studio y la CLI de .NET, y promueve buenas prácticas para el desarrollo de aplicaciones escalables, resilientes y preparadas para su despliegue en plataformas como Docker, Kubernetes o Azure.

¿Cómo iniciarse en .NET Aspire?
Para comenzar a trabajar con .NET Aspire es recomendable disponer del SDK de .NET 9 o superior, instalar la plantilla oficial mediante la CLI (dotnet new install Aspire.ProjectTemplates) y crear un proyecto inicial con dotnet new aspire-starter. La solución generada incluye un proyecto AppHost, encargado de orquestar la aplicación, un proyecto ServiceDefaults, que centraliza la configuración compartida, y uno o varios proyectos que implementan los servicios de la aplicación (por ejemplo, APIs ASP.NET Core o aplicaciones web). A partir de esta estructura básica, el desarrollador puede añadir nuevos servicios, bases de datos y otros recursos mediante componentes integrados, ejecutando toda la solución con un único comando (dotnet run) y supervisando su funcionamiento desde el panel integrado de Aspire.

{lang: 'es'}

Asp.net web api EF y Dapper

viernes, 3 de enero de 2025 Sin comentarios
Entity framework y dapper orm
orm

A continuación se indican tres razones principales por las que resulta beneficioso utilizar Entity Framework (EF) para los comandos y Dapper para las consultas SQL en un proyecto de API web ASP.NET aprovechando el patrón CQRS y la biblioteca MediatR:

1) Separación de responsabilidades. EF se destaca en la gestión de modelos de dominio, el manejo de relaciones de objetos complejas y el seguimiento de estados de entidades para comandos (Crear, Actualizar, Eliminar).

Dapper es ligero y está altamente optimizado para ejecutar consultas SQL de solo lectura, lo que lo hace ideal para el lado de consulta de CQRS donde el rendimiento es fundamental.

2) Optimización del rendimiento

El seguimiento de cambios y las funciones avanzadas de EF pueden generar sobrecarga, especialmente en consultas simples. El uso de Dapper para consultas elimina este problema, ya que Dapper es un micro ORM optimizado para un acceso rápido y directo a la base de datos.
En el caso de los comandos, la gestión de transacciones y el seguimiento de cambios integrados de EF simplifican el manejo de actualizaciones sin necesidad de instrucciones SQL manuales, que pueden ser propensas a errores.

3) Flexibilidad y facilidad de mantenimiento

Dapper permite escribir consultas SQL sin formato con un control total, lo que resulta perfecto para proyecciones personalizadas y uniones adaptadas a las respuestas de API. EF se alinea bien con los principios de diseño basados ​​en el dominio, lo que garantiza que los comandos permanezcan limpios y centrados en las reglas de negocio en lugar de en operaciones de base de datos de bajo nivel.

Esta combinación aprovecha las fortalezas de cada ORM, garantizando un alto rendimiento y una arquitectura de código limpia dentro de un sistema basado en CQRS.

{lang: 'es'}

GraphQL y cliente Vue.js

viernes, 4 de octubre de 2024 Sin comentarios

Proyecto GraphQL

Un servicio GraphQL es un lenguaje de consulta y un runtime para ejecutar esas consultas, diseñado para proporcionar una alternativa
más flexible y eficiente a los servicios web API tradicionales como REST. Permite a los clientes solicitar exactamente los datos que necesitan y nada más, lo que contrasta con los endpoints fijos y las estructuras de respuesta rígidas de REST.
A destacar:
1) Endpoint único: a diferencia de REST, donde cada recurso tiene un Endpoint separado, GraphQL expone un endpoint único a través del
cual se realizan todas las consultas.

2) Basado en esquemas: GraphQL define un esquema sólido y con seguridad de tipos que especifica las consultas, mutations y tipos disponibles, lo que garantiza respuestas predecibles.

3) Consultas especificadas por el cliente: los clientes deciden qué campos incluir en su solicitud, minimizando la obtención excesiva
(obtener demasiados datos) o la obtención insuficiente (obtener datos insuficientes).

Ventajas sobre la web API (REST):

1)Obtención de datos eficiente: los clientes pueden solicitar solo los campos necesarios, lo que reduce el tamaño de la carga útil y optimiza el rendimiento.

2) Solicitud única de recursos anidados: en REST, la obtención de datos relacionados puede requerir múltiples solicitudes; GraphQL permite
consultar recursos anidados en una sola petición.

3) Tipado de datos: Schema garantiza una documentación clara y una verificación de errores en el momento de la consulta, lo que reduce
la ambigüedad y los errores.

4) API sin versión: REST a menudo requiere control de versiones (por ejemplo, v1, v2), pero GraphQL evoluciona sin crear nuevos puntos
finales, ya que los clientes solo consultan lo que necesitan.

5) Flexibilidad mejorada: los clientes tienen control total sobre los datos que se devuelven, lo que proporciona más flexibilidad que
las rutas REST predefinidas.

6) Menos tiempo de codificación para los desarrolladores: los desarrolladores backend se centran en definir un esquema,
mientras que los desarrolladores frontend eligen qué consultar, lo que reduce el esfuerzo de coordinación.

<template>
  <div>
    <h1>Books List</h1>
    <div v-if="loading">Loading...</div>
    <div v-if="error">{{ error.message }}</div>
    <ul v-if="books.length > 0">
      <li v-for="book in books" :key="book.id">
        <strong>{{ book.title }}</strong> by {{ book.author }} ({{ book.publishedYear }})
        <br />
        Genre: {{ book.genre }}
      </li>
    </ul>
  </div>
</template>

<script>
import { ref, onMounted } from 'vue';
import { ApolloClient, InMemoryCache, gql } from '@apollo/client/core';

export default {
  setup() {
    // State management using Vue 3 Composition API
    const books = ref([]);
    const loading = ref(true);
    const error = ref(null);

    // Create an Apollo Client instance
    const client = new ApolloClient({
      uri: 'http://localhost:5001/graphql', // Your .NET Core GraphQL endpoint
      cache: new InMemoryCache(),
    });

Por su lado, Vue.js es un framework open source de JavaScript, que nos permite la creación de interfaces de usuario y aplicaciones de una sola página (single-page application o SPA, en inglés), de una forma muy sencilla. Fue creado, o desarrollado, por un ex empleado de Google, Evan You, en el año 2014. Con respecto a otros frameworks, la curva de aprendizaje es baja, si conoces los fundamentos de JavaScript. Además, es muy sencillo de utilizar ya que podemos utilizar este framework simplemente con la inclusión de sus dependencias mediante CDN.

{lang: 'es'}

Entorno Multiplataforma .Net MAUI

martes, 2 de julio de 2024 Sin comentarios

El entorno de desarrollo multiplataforma .NET MAUI representa un avance significativo en la creación de aplicaciones móviles, proporcionando una solución unificada para desarrollar en Android, iOS, macOS y Windows con una sola base de código. Esto no solo optimiza el tiempo de desarrollo y mantenimiento, sino que también facilita la implementación de una interfaz de usuario consistente y nativa en cada plataforma. Integrado con el robusto ecosistema de herramientas de Microsoft, como Visual Studio, .NET MAUI ofrece potentes capacidades de depuración y diseño. Sin embargo, la adopción de .NET MAUI requiere familiaridad con el stack tecnológico de Microsoft y puede no siempre igualar el rendimiento de las aplicaciones nativas en casos de uso específicos. A pesar de estas consideraciones, .NET MAUI es una opción atractiva para desarrolladores que buscan eficiencia y flexibilidad en el desarrollo multiplataforma.

En esta entrada vamos a dar cinco razones para usar .NET MAUI (Multi-platform App UI) en el desarrollo de aplicaciones móviles:

  1. Desarrollo Multiplataforma Unificado: .NET MAUI permite a los desarrolladores crear aplicaciones para Android, iOS, macOS y Windows desde una única base de código. Esto significa que puedes escribir tu lógica de aplicación y la interfaz de usuario una sola vez y desplegarla en múltiples plataformas, lo cual ahorra tiempo y esfuerzo en el desarrollo y mantenimiento.
  2. Interfaz de Usuario Consistente: .NET MAUI proporciona un conjunto de controles de interfaz de usuario que son nativos para cada plataforma, lo que garantiza una apariencia y comportamiento consistente y de alta calidad. Al mismo tiempo, permite personalizar la apariencia para ajustarse a las directrices específicas de cada plataforma si es necesario.
  3. Ecosistema y Herramientas de .NET: Al ser parte del ecosistema .NET, MAUI se beneficia de las robustas herramientas de desarrollo de Microsoft, como Visual Studio, que ofrece potentes funcionalidades de depuración, diseño de interfaces, y administración de proyectos. Además, puedes aprovechar bibliotecas y paquetes NuGet disponibles en .NET, lo que facilita la integración de funcionalidades adicionales.
  4. Código Compartido y Reutilización: .NET MAUI permite la reutilización de una gran cantidad de código entre plataformas. Esto no solo incluye la lógica de negocio, sino también componentes de la interfaz de usuario a través de XAML y C#. Esta capacidad de compartir código reduce la duplicación de esfuerzos y hace que la gestión del código sea más sencilla y eficiente.
  5. Rendimiento y Acceso a Funcionalidades Nativas: .NET MAUI se basa en Xamarin.Forms, pero ofrece mejoras en rendimiento y acceso directo a funcionalidades nativas. Puedes escribir código específico de la plataforma cuando sea necesario utilizando C# y aprovechar APIs nativas, lo cual permite crear aplicaciones con un rendimiento cercano al nativo.

Estas razones hacen de .NET MAUI una opción atractiva para desarrolladores que buscan crear aplicaciones móviles robustas, eficientes y con una amplia cobertura de plataformas utilizando una única tecnología y base de código. mapa

{lang: 'es'}
Categories: asp.net Tags: , , ,

Publicar Web Api .net core en AWS

jueves, 6 de junio de 2024 Sin comentarios
AWS Toolkit

Como sabemos AWS ofrece una amplia gama de servicios para diversas necesidades proporciona soluciones escalables para negocios de todos los tamaños y sus centros de datos globales aseguran alta disponibilidad y baja latencia. Además tiene acceso gratuito a muchos servicios.
Por estas razones escribimos esta entrada con los pasos para publicar directamente usando el AWSToolKit desde Visual Studio.








  1. Instale AWS Toolkit para Visual Studio si aún no lo ha hecho.
  2. Cree un nuevo proyecto de API web de .NET Core en Visual Studio.
  3. Haga clic derecho en el proyecto en el Explorador de soluciones.
  4. Seleccione «Publicar en AWS» en el menú contextual.
  5. Inicie sesión en su cuenta de AWS cuando se le solicite.
  6. Elija «Elastic Beanstalk» como destino de publicación.
  7. Cree una nueva aplicación o seleccione una existente.
  8. Elija una plataforma, por ejemplo, «Amazon Linux 2 v5.3.0 de 64 bits con .NET Core«.
  9. Configure los ajustes del entorno, como el tipo de instancia.
  10. Proporcione un nombre de entorno y un dominio únicos.
  11. Haga clic en «Siguiente» y revise la configuración.
  12. Haga clic en «Implementar» para publicar su aplicación.
  13. Espere a que se complete la implementación; puede tomar varios minutos.
  14. Una vez implementada, puede acceder a su API web a través de la URL proporcionada.
  15. Supervise y administre su aplicación desde la Consola de administración de AWS.
{lang: 'es'}
Categories: asp.net Tags: , , ,