
Soy José Ramos (Joe)
Presidente de Codevia y Senior Software Engineer con más de 10 años de experiencia en el campo del desarrollo de software. A lo largo de mi carrera, me he especializado en la transición de software obsoleto en el ámbito industrial, enfrentando y resolviendo desafíos complejos relacionados con la modernización de sistemas.
Mis Frameworks

Validación Unificada en Cliente y Servidor con Net.Extensions.FormsValidation
Un enfoque desacoplado para la validación de datos en aplicaciones .NET multiplataforma 🎯 Planteamiento del problema En los entornos industriales, financieros, sanitarios y logísticos actuales, el software .NET sigue ocupando un rol esencial. Sin embargo, la gestión de…

Inyección de dependencias avanzada para WinForms
WinForms.Extensions.DependencyInjection : Introducción WinForms sigue siendo ampliamente utilizado en aplicaciones industriales críticas, pero su arquitectura heredada dificulta la adopción de buenas prácticas modernas como la inyección de dependencias (DI). El framework WinForms.Extensions.DependencyInjection resuelve este problema proporcionando una integración…

Dotar de Reactividad a WinForms: Por qué y cómo con WinForms.Extensions.Reactive
Introducción WinForms es una plataforma veterana y muy utilizada en la industria para desarrollo de aplicaciones de escritorio. A pesar de su antigüedad, sigue siendo un pilar en muchos sistemas críticos por su estabilidad y facilidad para construir…
⚙️ Desarrollo de Softwares

Validación Unificada en Cliente y Servidor con Net.Extensions.FormsValidation
Un enfoque desacoplado para la validación de datos en aplicaciones .NET multiplataforma 🎯 Planteamiento del problema En los entornos industriales, financieros, sanitarios y logísticos actuales, el software .NET sigue ocupando un rol esencial. Sin embargo, la gestión de…

Inyección de dependencias avanzada para WinForms
WinForms.Extensions.DependencyInjection : Introducción WinForms sigue siendo ampliamente utilizado en aplicaciones industriales críticas, pero su arquitectura heredada dificulta la adopción de buenas prácticas modernas como la inyección de dependencias (DI). El framework WinForms.Extensions.DependencyInjection resuelve este problema proporcionando una integración…

Dotar de Reactividad a WinForms: Por qué y cómo con WinForms.Extensions.Reactive
Introducción WinForms es una plataforma veterana y muy utilizada en la industria para desarrollo de aplicaciones de escritorio. A pesar de su antigüedad, sigue siendo un pilar en muchos sistemas críticos por su estabilidad y facilidad para construir…
🏗️ Arquitectura de Software

Validación Unificada en Cliente y Servidor con Net.Extensions.FormsValidation
Un enfoque desacoplado para la validación de datos en aplicaciones .NET multiplataforma 🎯 Planteamiento del problema En los entornos industriales, financieros, sanitarios y logísticos actuales, el software .NET sigue ocupando un rol esencial. Sin embargo, la gestión de…

Inyección de dependencias avanzada para WinForms
WinForms.Extensions.DependencyInjection : Introducción WinForms sigue siendo ampliamente utilizado en aplicaciones industriales críticas, pero su arquitectura heredada dificulta la adopción de buenas prácticas modernas como la inyección de dependencias (DI). El framework WinForms.Extensions.DependencyInjection resuelve este problema proporcionando una integración…

Dotar de Reactividad a WinForms: Por qué y cómo con WinForms.Extensions.Reactive
Introducción WinForms es una plataforma veterana y muy utilizada en la industria para desarrollo de aplicaciones de escritorio. A pesar de su antigüedad, sigue siendo un pilar en muchos sistemas críticos por su estabilidad y facilidad para construir…
📰Articulos

Validación Unificada en Cliente y Servidor con Net.Extensions.FormsValidation
Un enfoque desacoplado para la validación de datos en aplicaciones .NET multiplataforma 🎯 Planteamiento del problema En los entornos industriales, financieros, sanitarios y logísticos actuales, el software .NET sigue ocupando un rol esencial. Sin embargo, la gestión de…

Inyección de dependencias avanzada para WinForms
WinForms.Extensions.DependencyInjection : Introducción WinForms sigue siendo ampliamente utilizado en aplicaciones industriales críticas, pero su arquitectura heredada dificulta la adopción de buenas prácticas modernas como la inyección de dependencias (DI). El framework WinForms.Extensions.DependencyInjection resuelve este problema proporcionando una integración…

Dotar de Reactividad a WinForms: Por qué y cómo con WinForms.Extensions.Reactive
Introducción WinForms es una plataforma veterana y muy utilizada en la industria para desarrollo de aplicaciones de escritorio. A pesar de su antigüedad, sigue siendo un pilar en muchos sistemas críticos por su estabilidad y facilidad para construir…

Reinventando la navegación en WinForms
JoeDevSharp.WinForms.Extensions.RouteManager En el desarrollo moderno de interfaces de usuario, la navegación estructurada y desacoplada es un estándar en frameworks web y móviles. Sin embargo, en el mundo de WinForms, esta capacidad ha sido históricamente limitada. Con esto en…

La Solución Genérica para Modernizar el Acceso a Datos en .NET Core
RepositoryFactory.EntityFramework: La Solución Genérica para Modernizar el Acceso a Datos en .NET Core En un entorno tecnológico donde la agilidad y la escalabilidad marcan la diferencia, contar con una capa de acceso a datos robusta, flexible y mantenible…

MqttReactiveObjectMapper: Abstracción reactiva y orientada a objetos para MQTT en C#
Introducción En el desarrollo de aplicaciones IoT, la integración con brokers MQTT suele implicar una gestión detallada y propensa a errores manuales de tópicos, serialización y lógica de suscripción Para aliviar esta complejidad, presentamos MqttReactiveObjectMapper, un framework en…

Novedades de .NET 9: Lo Que Necesitas Saber
.NET 9 ha llegado con una serie de novedades y mejoras que impactan significativamente en el desarrollo de software. Desde optimizaciones en el rendimiento hasta nuevas características en C#, este lanzamiento ofrece herramientas y funcionalidades que facilitan la…

Arquitectura Hexagonal con Vertical Slicing y Screaming Architecture para Microservicios
Introducción La arquitectura hexagonal, también conocida como arquitectura de puertos y adaptadores, fue introducida por Alistair Cockburn para abordar el problema del acoplamiento entre el sistema y sus dependencias externas. Esta arquitectura se centra en la separación de…

Despliegue de una API ASP.NET (.NET 8) en un VPS con Apache
A continuación, te proporcionaré una guía paso a paso detallada y comentada sobre cómo desplegar una API en ASP.NET (.NET 8) en un VPS con Apache como servidor web, en lugar de Nginx. También explicaré cada paquete o…

Como crear una Extensión en C para usar una DLL de C# en PHP
En este artículo, exploraremos cómo crear una biblioteca en C# que actúe como una extensión de PHP y devuelva objetos complejos. Usaremos un ejemplo simple con una clase Page y una colección de páginas que filtraremos según un…

Desplegar una Aplicación ASP.NET Core Auto-contenida con Cron Jobs en un Servidor Apache
Este documento cubre todos los pasos necesarios para desplegar una aplicación ASP.NET Core en un servidor web con Apache usando un enfoque auto-contenido y programando tareas con Cron Jobs para gestionar la ejecución de la aplicación. Pre-requisitos Aplicación…

¿Qué es una clase abstracta en C#? Conceptos y casos de uso
En la programación orientada a objetos, uno de los conceptos más importantes es la herencia, que permite que las clases deriven de otras, reutilizando y extendiendo su funcionalidad. En este contexto, las clases abstractas juegan un papel fundamental…