
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

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…
⚙️ Desarrollo de Softwares

🚀 Construyendo un motor de ejecución Multi-SSH
Cuando ejecutar un comando SSH deja de ser trivial Ejecutar un comando remoto en un servidor Linux desde C# es una de esas tareas que parecen completamente resueltas desde el principio. Durante mucho tiempo, el enfoque clásico funciona…

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…
🏗️ Arquitectura de Software

🚀 Construyendo un motor de ejecución Multi-SSH
Cuando ejecutar un comando SSH deja de ser trivial Ejecutar un comando remoto en un servidor Linux desde C# es una de esas tareas que parecen completamente resueltas desde el principio. Durante mucho tiempo, el enfoque clásico funciona…

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…
📰Articulos

¿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…

Implementación de Localización en Blazor WebAssembly
Aquí tienes un artículo completo que explica cómo implementar localización en una aplicación Blazor WebAssembly, con ejemplos de código y una explicación detallada de cada parte. La localización permite a las aplicaciones mostrar contenido en diferentes idiomas, dependiendo…

Integración de JWT en Blazor WebAssembly
Aquí tienes un artículo redactado sobre la integración de JWT en Blazor WebAssembly, con ejemplos de código comentados y referencias a la documentación pertinente. La autenticación y autorización son aspectos críticos en el desarrollo de aplicaciones web. JSON…

Cómo Manejar CORS en una API con PHP
La gestión de CORS (Cross-Origin Resource Sharing) es un aspecto crucial en el desarrollo de aplicaciones web que interactúan con APIs. CORS permite a los navegadores hacer solicitudes a un dominio diferente del que sirvió la página web.…

Gestión de Sesiones y Autenticación en Blazor WebAssembly y PHP
La gestión de sesiones y autenticación es un aspecto crucial en el desarrollo de aplicaciones web. En este artículo, exploraremos cómo implementar la autenticación en una aplicación Blazor WebAssembly utilizando PHP como backend. A través de ejemplos de…

Clean Architecture en .NET
La Arquitectura Limpia (Clean Architecture) es un enfoque que busca crear aplicaciones independientes de frameworks, bases de datos y detalles de implementación. Este enfoque ayuda a desarrollar software que es fácil de entender, probar y mantener. En este…

Dominando el Estado Global en Blazor WebAssembly
En una aplicación Blazor WebAssembly, para mantener un estado global que sea accesible en toda la aplicación, puedes crear un servicio de estado que contenga la información que deseas compartir entre componentes. Este servicio debe ser registrado como…

