[{"data":1,"prerenderedAt":72},["ShallowReactive",2],{"article-frameworks-o-codigo-puro-mirada-al-desarrollo-web-frontend-y-backend":3},{"editorial_managed":4,"editorial_preview":5,"editorial_type":6,"title":7,"slug":8,"href":9,"description":10,"category":11,"category_slug":12,"author":13,"date":14,"updated_at":15,"read_time":16,"cover_image":17,"cover_alt":18,"cover_width":19,"cover_height":20,"cover_small":18,"social_alt":18,"preview_image":17,"social_image":17,"social_width":19,"social_height":20,"social_type":21,"seo_title":7,"seo_description":10,"html":22,"toc":23,"related":39,"tags":57},true,false,"Guía de decisión","Framework o código propio: cómo decidir","frameworks-o-codigo-puro-mirada-al-desarrollo-web-frontend-y-backend","\u002Fes-mx\u002Frecursos\u002Fframeworks-o-codigo-puro-mirada-al-desarrollo-web-frontend-y-backend","Compara utilizar un framework con desarrollar componentes propios, considerando convenciones, dependencias y el trabajo de mantenimiento del proyecto.","Desarrollo de software","desarrollo-de-software","Acinsoft","2024-09-23 22:48:08","2026-09-17 00:00:00",3,"\u002Fimages\u002Feditorial-20260913\u002F049-social.jpg","",1200,630,"image\u002Fjpeg","\u003Cp class=\"lead\">Un framework ofrece convenciones y herramientas para desarrollar. El código propio permite controlar decisiones, pero también exige mantener lo que otras herramientas ya resuelven. La comparación útil es el costo de construir y evolucionar el proyecto.\u003C\u002Fp>\n\u003Ch2 id=\"articulo-seccion-1\">Qué preguntas hacer\u003C\u002Fh2>\u003Cul>\u003Cli>¿Qué funciones repetidas resuelve la herramienta?\u003C\u002Fli>\u003Cli>¿El equipo entiende sus convenciones?\u003C\u002Fli>\u003Cli>¿Qué cambios y actualizaciones habrá que atender?\u003C\u002Fli>\u003Cli>¿Qué parte del negocio quedaría muy ligada a ella?\u003C\u002Fli>\u003C\u002Ful>\u003Cp>No hay que elegir una sola respuesta para todo el sistema. Una biblioteca pequeña puede resolver una necesidad puntual mientras otra parte usa un framework más amplio.\u003C\u002Fp>\n\u003Ch2 id=\"articulo-seccion-2\">Una comparación con el mismo alcance\u003C\u002Fh2>\u003Cp>Ejemplo hipotético: dos alternativas deben mostrar un formulario, validar datos y registrar errores. Compara cómo se implementa y se mantiene ese recorrido. Una demostración sin manejo de errores parecerá más simple porque omitió trabajo.\u003C\u002Fp>\u003Cp>También cuenta la incorporación de otra persona al proyecto. Si todo depende de convenciones que no están documentadas, la libertad del código propio puede convertirse en una dificultad de mantenimiento.\u003C\u002Fp>\n\u003Ch2 id=\"articulo-seccion-3\">El costo de cambiar después\u003C\u002Fh2>\u003Cp>Revisa dónde viven las reglas del negocio y cuánto dependen de detalles de la herramienta. La arquitectura de Microsoft incluye diseñar para la evolución entre sus principios. Eso no obliga a abstraer cada línea, sino a considerar qué cambios son previsibles. \u003Ca href=\"https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fazure\u002Farchitecture\u002Fguide\u002Fdesign-principles\u002F\" target=\"_blank\" rel=\"noopener noreferrer\">Diseño y evolución de aplicaciones\u003C\u002Fa>.\u003C\u002Fp>\u003Cp>La decisión debe conservar una razón concreta: compatibilidad, capacidad del equipo o necesidad de mantenimiento. “Es moderno” y “no dependemos de nadie” son afirmaciones incompletas; todo proyecto utiliza herramientas y debe hacerse cargo de sus dependencias.\u003C\u002Fp>\n\n\u003Ch2 id=\"articulo-seccion-4\">Una comparación que incluya el siguiente cambio\u003C\u002Fh2>\u003Cdiv class=\"table-wrap\">\u003Ctable tabindex=\"0\" aria-label=\"Tabla de referencia\">\u003Ccaption>Criterios de comparación, no una recomendación universal de framework.\u003C\u002Fcaption>\u003Cthead>\u003Ctr>\u003Cth scope=\"col\">Decisión\u003C\u002Fth>\u003Cth scope=\"col\">Pregunta en ambas alternativas\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\u003Ctr>\u003Ctd>Validación y errores\u003C\u002Ftd>\u003Ctd>¿Cómo se expresa la regla y cómo se comprueba?\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd>Actualización de dependencias\u003C\u002Ftd>\u003Ctd>¿Qué trabajo exige una versión nueva compatible?\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd>Incorporar a otra persona\u003C\u002Ftd>\u003Ctd>¿Puede ejecutar y modificar el ejemplo con las instrucciones disponibles?\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd>Cambiar una integración\u003C\u002Ftd>\u003Ctd>¿Qué reglas quedan ligadas al proveedor o a la herramienta?\u003C\u002Ftd>\u003C\u002Ftr>\u003C\u002Ftbody>\u003C\u002Ftable>\u003C\u002Fdiv>\u003Cp>Conserva el inconveniente que aceptas. Elegir una herramienta conocida puede facilitar el arranque y exigir adaptarse a sus convenciones; crear una pieza propia requiere mantener sus decisiones. Ninguna opción elimina las dependencias. La prueba debe cubrir los errores y cambios relevantes, no sólo la pantalla que luce mejor.\u003C\u002Fp>\n\u003Cp>Para profundizar en las tareas relacionadas: \u003Ca href=\"\u002Fes-mx\u002Frecursos\u002Fcomo-elegir-el-lenguaje-de-programacion-adecuado-para-tu-proyecto-de-software\" rel=\"noopener noreferrer\">Cómo elegir el lenguaje de un proyecto de software\u003C\u002Fa>; \u003Ca href=\"\u002Fes-mx\u002Frecursos\u002Fconsejos-para-mejorar-la-calidad-y-la-eficiencia-del-codigo-en-el-desarrollo-de-software\" rel=\"noopener noreferrer\">Cómo revisar si un código será fácil de mantener\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cdiv class=\"cta\">\u003Ch2 id=\"articulo-seccion-5\">¿Hay un proceso que necesitas mejorar?\u003C\u002Fh2>\u003Cp>Cuéntanos qué ocurre hoy y qué resultado buscas. Podemos revisar una primera etapa para desarrollar o integrar la solución.\u003C\u002Fp>\u003Ca href=\"\u002Fes-mx\u002Fservicios\u002Fdesarrollo-software\" rel=\"noopener noreferrer\">Explorar desarrollo de software\u003C\u002Fa>\u003C\u002Fdiv>\n",[24,27,30,33,36],{"id":25,"title":26},"articulo-seccion-1","Qué preguntas hacer",{"id":28,"title":29},"articulo-seccion-2","Una comparación con el mismo alcance",{"id":31,"title":32},"articulo-seccion-3","El costo de cambiar después",{"id":34,"title":35},"articulo-seccion-4","Una comparación que incluya el siguiente cambio",{"id":37,"title":38},"articulo-seccion-5","¿Hay un proceso que necesitas mejorar?",[40,49],{"editorial_managed":4,"editorial_preview":5,"editorial_type":41,"title":42,"slug":43,"href":44,"description":45,"category":11,"category_slug":12,"author":13,"date":46,"updated_at":15,"read_time":47,"cover_image":48,"cover_alt":18,"cover_width":19,"cover_height":20,"cover_small":18,"social_alt":18,"preview_image":48,"social_image":48,"social_width":19,"social_height":20,"social_type":21,"seo_title":42,"seo_description":45},"Explicación","Qué cambia al coordinar desarrollo y operación","uso-de-la-metodologia-devops-para-mejorar-la-colaboracion-en-el-desarrollo-de-software","\u002Fes-mx\u002Frecursos\u002Fuso-de-la-metodologia-devops-para-mejorar-la-colaboracion-en-el-desarrollo-de-software","Conoce qué cambia al coordinar desarrollo y operación para que cada mejora esté preparada para instalarse, observarse y mantenerse en funcionamiento.","2023-04-06 05:33:19",2,"\u002Fimages\u002Feditorial-20260913\u002F088-social.jpg",{"editorial_managed":4,"editorial_preview":5,"editorial_type":50,"title":51,"slug":52,"href":53,"description":54,"category":11,"category_slug":12,"author":13,"date":55,"updated_at":15,"read_time":16,"cover_image":56,"cover_alt":18,"cover_width":19,"cover_height":20,"cover_small":18,"social_alt":18,"preview_image":56,"social_image":56,"social_width":19,"social_height":20,"social_type":21,"seo_title":51,"seo_description":54},"Diagnóstico","Cómo encontrar cuellos de botella en una aplicación","consejos-para-optimizar-el-rendimiento-de-tus-aplicaciones-web-y-moviles","\u002Fes-mx\u002Frecursos\u002Fconsejos-para-optimizar-el-rendimiento-de-tus-aplicaciones-web-y-moviles","Identifica qué parte de una tarea vuelve lenta una aplicación y reúne mediciones para localizar cuellos de botella antes de proponer mejoras.","2023-04-03 15:21:59","\u002Fimages\u002Feditorial-20260913\u002F039-social.jpg",[58,61,63,66,68,70],{"name":59,"slug":60},"arquitectura web","arquitectura-web",{"name":62,"slug":62},"backend",{"name":64,"slug":65},"codigo puro","codigo-puro",{"name":67,"slug":67},"frameworks",{"name":69,"slug":69},"frontend",{"name":71,"slug":71},"mantenibilidad",1791093714115]