Me gustaría saber por qué decidió crear su propio marco en su empresa.
Por marco, no me refiero a pocas bibliotecas que usa con frecuencia. Me refiero a una forma específica de crear aplicaciones además de clases básicas, convenciones, etc.
Entonces, ¿ por qué construiste tu propio marco? ¿Cómo podrías justificar eso a la persona que te emplea? ¿Has medido el impacto positivo y negativo del mismo?
Con respecto a sus experiencias, ¿notó que, en algún caso, el marco de una empresa produjo beneficios reales o, por otro lado, aumentó los costos de desarrollo (curva de aprendizaje, depuración, mantenimiento, ...)?
frameworks
Kilian Foth
fuente
fuente
Respuestas:
Responda por qué:
Actualizar:
Las empresas prefieren reinventar la rueda en lugar de utilizar marcos "pequeños". Por pequeño me refiero al marco que puede tener un futuro incierto. Por ejemplo, .NET framework es más seguro para las empresas que un framework creado por una comunidad pequeña. Las empresas necesitan seguridad porque muchas de sus aplicaciones son críticas para el negocio y también de larga duración.. El costo de reinventar la rueda puede ser más a corto plazo. Pero el costo puede ser mayor si el marco utilizado en la aplicación de la compañía está en desuso y ya no es compatible, o si se cambian las licencias. Aquí la empresa puede tener que desechar el marco actual y poner otro. Visual Basic es un buen ejemplo de un lenguaje que ya no es compatible con Microsoft. Y esto le costó a las compañías miles de millones ya que tienen que comenzar de nuevo con un nuevo desarrollo.
fuente
¿Por qué construir el tuyo?
¿Por qué no construir el tuyo?
fuente
En mi publicación sobre cuándo es apropiado reinventar la rueda , enumero una serie de ventajas de una reimplementación. Creo que esas ventajas se aplican especialmente a las bibliotecas de framework. Por ejemplo, a menudo es imposible aislar el uso de una biblioteca marco dentro de una pequeña parte de su aplicación. En cambio, tienden a dictar la estructura del código fuente del cliente y, por lo tanto, es deseable tener control total sobre la biblioteca.
fuente
La única razón real para reinventar la rueda es si es una aplicación crítica para el negocio. Si su empresa lo utilizará durante algún tiempo. Si esto aplicaciones / marco / etc. Es probable que evolucione más allá del marco comercial existente que tiene que ofrecer, luego, hacer que los codificadores de la empresa hagan que su implementación sea ciertamente aceptable.
Las únicas razones reales contra esto son si:
El marco existente está bien mantenido, se adapta completamente a su tarea y estará bien en el futuro.
Este es solo un caso del síndrome ' No inventado aquí '
Su configuración actual no podrá crear con éxito este marco en un período de tiempo razonable por un costo razonable.
Joel Spolsky escribió un muy buen artículo sobre el tema: En defensa del síndrome del no inventado aquí
fuente
Básicamente, cuando utiliza el trabajo de otros, los agrega como empleadores invisibles o "manos adicionales".
Si son buenos, te ayudarán. Si no, debe hacer su trabajo además del suyo, en otras palabras, mantener su código. Esto podría ser un riesgo inaceptable, pero lo consideraría muy raro.
La palabra clave es hacer que el marco sea intercambiable, mediante la codificación de una interfaz. Las interfaces más rígidas en el mundo Java son las especificaciones de Sun, que se prueban con la API de servlet.
Entonces no consideraría que haya alguna razón para no usar un marco.
fuente
Tenemos un marco bastante maduro donde trabajo. Aquí hay un resumen del Marco de Fundamentos
Una de las razones clave para usarlo es la estabilidad. No estamos obligados a Microsoft ni a ningún otro proveedor que se vea impulsado a agregar nuevas características y complejidad año tras año.
(Mis propios puntos de vista, no los de mi empleador, etc., etc.)
fuente
Lo hice varias veces, para cumplir con los requisitos no cubiertos por los marcos existentes (en aquel entonces).
En la mayoría de los casos, esos marcos internos han sido eliminados por marcos más nuevos y completamente desarrollados. Por ejemplo, en el año 2000, creé un marco web Java, en algunos aspectos comparables a Rails, que se usaba para crear un sistema complejo de entrada de pedidos con varias formas desordenadas. Funcionó bien, pero, por supuesto, unos años más tarde, los marcos más maduros como Struts y JSF lo volvieron obsoleto. Pero en aquel entonces, era lo correcto, funcionó bien y la velocidad de desarrollo fue impresionante.
Otro marco que he desarrollado todavía está en uso (y también en desarrollo activo); la primera versión fue escrita en 2004. Esta se usa principalmente para aplicaciones intralogísticas; la compañía que lo usa todavía lo ve como una característica distintiva. La razón principal para crearlo fue facilitar la creación de aplicaciones conectadas a la base de datos para escáneres de códigos de barras móviles (ejecutando algo de Windows CE); funcionó tan bien que los jefes decidieron usar el mismo concepto para el software de PC también y, bueno, todavía están contentos con él.
fuente