php coldfusion frameworks comparison

php - Futuro del marco Fusebox



coldfusion frameworks (6)

En el trabajo usamos Fusebox (php) ... ¡CHUPA!

Si es posible, definitivamente recomendaría migrar un marco más "moderno".

Aunque ... Lo que hago, y esto parece alentar la mayor parte de mi problema con el marco, es escribir archivos de plantilla, incluir eso desde el interruptor, y también calcular cualquier parámetro de "tiempo de ejecución" dentro de la misma declaración de caso. Eso promueve la buena reutilización del código.

Pero quiero decir ... tener 1 gran declaración de cambio? ¿No es que un código huele a "esto debería ser un objeto"? Me recuerda una versión de procedimiento de una clase de controlador RoR. (No soy un tipo RoR ... solo digo)

La buena y vieja Fusebox fue mi primer framework y todavía me gusta mucho. Comenzó con la versión de PHP, que actualmente usa la última versión de CFML.

Pero pasa el tiempo y me pregunto: ¿tal vez debería cambiar a otro marco? Bueno, no quiero comenzar una guerra santa aquí. Solo quiero saber los pros y los contras de continuar usando FB.

Diga, creo que los controladores no XML son una muy buena idea y un paso hacia el futuro. O tal vez estoy equivocado y no es enogh y debería concentrarme en Mach-II o quizás Model-Glue o ... (ingrese su favorito)?

Pero, ¿qué pasa con PHP? Parece que se ha quedado en pasado un poco. Symfony, CakePHP, Zend etc. se ven mucho mejor ahora y crecen rápido.

Entonces, una lista aproximada de aspectos de comparación es la siguiente:

  1. Tiempo dedicado al desarrollo y mantenimiento. Para mí, FB parece lo suficientemente bueno aquí.
  2. Integración ORM Actualmente estoy usando componentes propios (por cierto, me sorprendió ver una sintaxis muy similar en las vistas previas de cf9), pero tengo dudas sobre su rendimiento.
  3. Rendimiento general de la aplicación. ¿Caché? Los archivos "Parsed" todavía son lo suficientemente buenos?
  4. Integración con otros productos. Por ejemplo, con herramientas de pruebas de unidades: ¿alguien tiene experiencia en esto?

Cualquier pensamiento y opinión son apreciados. Gracias.


Fusebox aún está en desarrollo activo y recientemente cambió de manos, por lo que el desarrollador principal ahora es Adam Haskell .

¿Deberías cambiar a otro marco?

Esa es una pregunta subjetiva. La única buena respuesta es que, dado el tiempo y la oportunidad infinitos, debes probarlos todos y ver lo que prefieres. Todos tienen sus pros y sus contras, pero la mayoría de la gente está de acuerdo en que no se trata tanto de qué marco de trabajo como de marco. Ya has decidido que es una herramienta que quieres en tu cinturón, tan bueno para ti. Haz que sea una herramienta que entiendas y disfrutes.

Dicho esto, el tiempo y la oportunidad no siempre están disponibles. En ese caso, es mejor que se quede con lo que sabe y sepa qué hay de nuevo con los últimos cambios en Fusebox. No tengo tiempo para aprenderlos todos por mi cuenta, así que también he sido un tipo modelo. Veo algo de Fusebox en mi futuro cercano, pero nuevamente, es subjetivo y lo importante es que estás haciendo lo que funciona mejor en tu situación.

PHP

Realmente no puedo hablar sobre el estado de los frameworks PHP ya que soy desarrollador de CFML. De nuevo, si tiene tiempo, juegue con ellos y evalúe dónde están y si son una herramienta que le interesa usar.

Integración ORM

Sé que Model-Glue tiene integración ORM: Reactor y Transfer se conectan fácilmente. Sospecho que lo mismo se puede decir de Mach-II, y probablemente de Fusebox, pero tampoco estoy seguro.

Los horneados de ColdFusion 9 en Hibernate probablemente funcionen bien en cualquier marco, pero eso aún está por verse.

Rendimiento / almacenamiento en caché; Archivos Parsed?

Eso es más una pregunta de ColdFusion vs. .Net, ¿verdad? PHP es un lenguaje "analizado" también. El código binario precompilado siempre tendrá al menos una ligera ventaja en el tiempo de ejecución, pero considere que para la mayoría de las aplicaciones web agregar hardware más capaz es más fácil y menos costoso que pasar algunos meses (o más) desarrollando el software.

¿Los archivos "analizados" aún son lo suficientemente buenos? ¡Sí! Diablos, sí!

Marcos de integración y prueba

Existen múltiples marcos de prueba, que incluyen CFUnit, CFCUnit y MXUnit fuera de lo común para las pruebas unitarias (que funcionan bien para TDD ) y CFSpec para BDD . Estoy seguro de que hay muchos otros también.

CF8 trajo integración con .Net y Exchange (y probablemente algunas otras cosas que me olvido), y hemos tenido integración con Java desde la versión 6. Nunca ha sido más fácil "mezclar" algunos componentes escritos en estos diversos idiomas para obtener lo mejor de todos los mundos.

Conclusión

El título de su pregunta es sobre el futuro de Fusebox framework, y puedo decirle que no va a ningún lado (excepto para seguir creciendo y mejorando, como los otros frameworks de CFML ...). Si está satisfecho con Fusebox, puede que no haya motivos para abandonarlo. Eso no significa que no debas probarlo todo, pero no hay razón para abandonar el barco.



No puede hacer daño expandir tus horizontes:

El rango de comparación es tan amplio que no es posible obtener una respuesta integral y precisa a sus cuatro criterios en un solo hilo SO. Es una buena pregunta, pero para la que ninguna respuesta única será definitiva.

En cambio, preguntaría qué (si es que algo) le impedirá probar un marco diferente y expandir sus horizontes (suponiendo que su experiencia exclusiva o primaria haya sido con FB).

Nada superará su propia evaluación de sus cuatro criterios de la experiencia de primera mano, especialmente porque usted pregunta por factores que son muy subjetivos o razonablemente abordados por cada marco de aplicación web de "alto perfil" que existe.

Un guiño a FB en particular:

El marco de Fusebox se originó y ganó impulso incluso antes de que la mayoría de la gente hubiera escuchado sobre XML o frameworks web. Fue uno de los primeros frameworks de desarrollo web diseñados para hacer que el desarrollo de aplicaciones web sea más "divertido" (con el objetivo de eliminar algunas de las molestias y el tedio de ColdFusion, que a su vez era un marco excepcional para su tiempo) .

En consecuencia, ha recorrido un largo camino y tiene una trayectoria relativamente sólida (al igual que ColdFusion).

Esto, sin embargo, puede ser considerado por algunos como un detrimento significativo contra FB (al igual que para ColdFusion). Hay un montón de "bagaje" en el marco que francamente no estaría allí si tuviera la misma edad que muchos de los otros frameworks MVC que están ganando credibilidad como los "nuevos chicos" en el bloque. Hay muchos aspectos que (desde el punto de vista del diseño del lenguaje) revelan algunas asperezas que podrían influir negativamente en su forma de pensar sobre los marcos de aplicaciones web si elige FB como su forma exclusiva de hacer las cosas.

Sin nombrar los nombres, (ya los ha escuchado), sugeriría que haría bien en mantener FB en su herramienta, pero también se ramificará en los marcos más nuevos, especialmente los que se basan en lenguajes de programación distintos de PHP y ColdFusion.

De esta forma, también ampliarás tus horizontes y tu comprensión como programador en general.


Usé FB casi exclusivamente en mi último trabajo. La mayor parte de nuestra base de código no era OO (los cfc aún no existían), por lo que la distinción modelo / vista realmente nos ayudó. Los diseñadores sabían que dirigirse directamente a la carpeta de visualización y no hurgar demasiado en otros lugares. Los circuitos nos dieron una mejor forma de mapear las áreas del sitio que simplemente el uso de directorios. En general, resolvió muchos problemas con la página como una forma de trabajar.

Con el tiempo, descubro que la mayor parte del código de modelo / controlador termina en cfc y dao con solo ver archivos, y los índices realmente permanecen en .cfm, por lo que esta separación ocurre de forma casi natural. Esto da lugar a un nuevo tipo de problema con el que FB realmente no ayuda: administrar todos los cfc y los objetos resultantes más la inicialización y la herencia. Debido a esto, he empezado a usar el marco de Coldspring, que se centra mucho más en el tipo de problemas que surgen en el OO CF moderno como en el caso del CF basado en páginas que escribimos hace años.


Después de un tiempo, podemos decir que Fusebox está más muerto que vivo.

  1. Actualización de FuseNG por A.Haskell

  2. Estado de FuseNG en Google Groups.