¿Cómo plantearías una migración de Vuex a Pinia con riesgo acotado?
¿Cómo plantearías una migración de Vuex a Pinia con riesgo acotado? en Vue senior: explicación técnica directa, decisiones de diseño y errores habituales de...
Difícil MigraciónPiniaLegacy
Respuesta
- Empieza con una fachada o adaptador que permita leer igual desde Vuex y Pinia mientras migras módulos poco a poco.
- Migra primero áreas de bajo riesgo o módulos hoja para aprender el patrón sin poner en juego el núcleo del producto.
- Evita coexistencias largas con doble escritura: la capa puente debe tener alcance corto y plan de retirada.
Puntos clave
- La modernización útil reduce dolor operativo hoy y construye una senda de salida para el legacy; no vive de una promesa futura de reescritura total.
- Las capas puente sirven si tienen un alcance pequeño, una razón clara y una retirada prevista; si no, se convierten en la nueva deuda fija.
- Cuando mezclas viejo y nuevo, necesitas una regla explícita para el código entrante o el sistema seguirá creciendo en dos direcciones a la vez.
Errores comunes
- Cambiar sintaxis sin tocar acoplamientos, responsabilidades y contratos apenas mejora la mantenibilidad.
- Mantener indefinidamente dos caminos de estado o fetch porque “de momento funciona” congela la modernización.
Ejemplo de código
export function useSessionFacade() {
const legacyStore = useLegacyVuexStore();
const session = useSessionStore();
return {
user: computed(() => session.user ?? legacyStore.state.session.user),
login: session.login,
};
}
Ejemplo o caso real
Es habitual en repositorios con piezas antiguas todavía en uso, nuevas convenciones entrando poco a poco y presión real por seguir entregando funcionalidad.
Idea clave
Legacy se mejora por tramos útiles y con salida definida, no por una promesa eterna de reescritura.
¿Completaste esta sección?
Marcarla como leída actualiza tu progreso.