2010-07-30 6 views
8

¿Crear un marco de trabajo php mvc personalizado desde el principio sería completamente inútil para una pequeña agencia digital?Beneficios de crear un marco de mvc personalizado

Recientemente, un amigo me contó que sus universidades están dedicando tiempo a tal proyecto dentro de su agencia. Su argumento en contra de usar otro como cake o zend es que vienen con tantas características no utilizadas y, por lo tanto, un montón de código innecesario.

Hubiera pensado que tal endeudamiento es completamente inútil y de hecho una pérdida de tiempo y dinero. Seguramente tendría más sentido elegir un marco que coincida con sus necesidades lo más cerca posible y luego personalizarlo/extenderlo. En marcos tales como Zend, el código seguramente será de un nivel mucho mejor/probado que el de 1 o 2 programadores podrían crear en unos pocos meses.

Simplemente no tiene sentido para mí, ¿alguien puede persuadirme de otra manera?

+1

Puede ser subjetivo ya que los marcos tienen una variedad de casos de uso y realmente depende de los desarrolladores individuales. – BoltClock

+1

¿No habría solo una cantidad muy pequeña de sitios web/sitios de comercio electrónico que requerirían un marco personalizado completamente nuevo? También he escuchado que el programador que trabaja en el framework está robando funciones de otros frameworks. ¿Cuál es el punto por lo tanto? – David

Respuesta

1

Para cualquier marco

Pros

  • obtener la funcionalidad exacta que desea
  • control sobre los pequeños detalles importantes para su proyecto
  • familiaridad con código

Contras

  • todo lo que rompe debe corregir a sí mismo
  • no llegar a aprender de los errores del pasado
  • no va a solicitar tantos errores notado debido a la audiencia más pequeña

Personalmente recomiendo explorando los marcos existentes incluso antes de considerar escribir uno propio. ¡Solo recuerda que está bien si no lo entiendes todo en un día!

4

Lo veo inútil. Pero es una maldición para los programadores de PHP que tienden a inventar la rueda una y otra vez. Sé de lo que estoy hablando. Lo intenté también.

El mejor enfoque parece ser que aprender un marco y si no se ajusta a hacer amigos que conoce otros marcos para aprender cómo está el problema particular resuelto en otros marcos y si ninguno de ellos parece bueno, entonces quizás es el momento para comenzar a trabajar en un nuevo marco.

El punto con un montón de código no utilizado no es completamente válido. Zend contiene clases que pueden ser eliminadas por lo que yo sé.

EDITAR: El rendimiento de PHP se puede mejorar a través de eAccelerator por ejemplo. Me resulta más fácil que construir un nuevo marco.

+1

Exactamente. ¿Por qué alguien consideraría que podría, solo, construir un mejor marco que estos marcos de código abierto? Realmente me sorprende. – David

+2

No me gusta la presunción de que no pueden hacer un mejor marco, pero las posibilidades son bajas y la competencia es alta. –

6

No, creo que encontrará que la mayoría aquí estaría de acuerdo con usted. Ciertamente siento que es una completa pérdida de tiempo. Especialmente dado que son una agencia pequeña, sus recursos limitados podrían ser mejor gastados en otra parte.

Dado que están preocupados por un marco inflado, sugiero que, en su lugar, investiguen utilizando un marco PHP liviano como CodeIgniter y Kohana.

1

Es una pérdida de tiempo. A menos que estén construyendo un sitio con el tráfico de Facebook, los resultados de rendimiento que usarán algo como Yii frente a los suyos deberían importar muy poco

+1

incluso entonces, ¿no sería mejor invertir el tiempo y los recursos en mejorar el servidor, etc.? Después de todo, un marco personalizado después de ser completado, si alguna vez, va a ser un problema constante de mantenimiento: errores, actualizaciones, etc. – David

+1

Estoy totalmente de acuerdo con usted ... simplemente no es una buena decisión comercial. –

3

MVC FW es menos del 5% de la base de código de proyecto promedio, así que recomiende construir MVC para cada proyecto y adaptarlo a las especificaciones del proyecto. Si alguien tiene suficiente conocimiento sobre el patrón MVC y alguna experiencia en el uso y construcción de frameworks MVC, puede construirse en algunos días.

Los argumentos generales son la velocidad y el rendimiento dados por el FW personalizado.

3

A veces, cuando las personas temen los cambios y aprenden cosas nuevas, se les ocurren todo tipo de razones tontas sobre por qué algo es malo y no se debe usar.

Alguna vez trabajé en una empresa que estaba decidida a escribir su propio marco web en lugar de usar Django. Uno de los desarrolladores que estaba trabajando en la parte de "administración" del framework dijo que quería que él perdiera su trabajo porque Django tiene administrador generado automáticamente.

A menos que sea un marco muy específico y tenga muy buenas razones y suficientes fondos para el proyecto, nunca es una buena idea reinventar la rueda especialmente si no puede hacer que sea igual o mejor que lo que ya existe. .

6

Usar su propio marco tiene una gran ventaja sobre otras soluciones. ¡Significa que tienes total quiero decir TOTAL! control sobre eso. No importa lo que suceda con otros marcos, porque un día tendrá un software de código abierto y otro día podría abandonarse o detenerse. Y su marco de trabajo seguirá desarrollándose. Incluso si eso significa que tendrá que agregarle constantemente algunas funciones, con el tiempo valdrá la pena. Además, PHP es como un enorme marco después de todo, y está evolucionando. Escribir su propio marco de trabajo lo mantendrá al día con esta tecnología :) Por supuesto, también es una buena idea seguir con otros marcos o CMS, porque tal vez sus clientes deseen usarlos, y también puede aprender de ellos y trasladar algunas soluciones a su software: D

+0

100% de acuerdo con usted. –

0

No es necesariamente una pérdida de tiempo, pero estoy de acuerdo con usted, yo mismo lo intenté. He estado usando Zend, Code Igniter y Fuel dependiendo del proyecto en el que estoy trabajando.

La consecuencia que tuve al crear mi propio marco es la fecha límite. Si está trabajando en un proyecto con un plazo muy ajustado, entonces crear su propio marco sería una mala idea.

2

Depende de qué tipo de proyectos hacen y cuáles son sus necesidades. Nunca olvide que en el software, lo "mejor" siempre depende de lo que está haciendo. No hay 'una solución dorada' para todo. Esto incluye mvcs.

Hay varias razones para codificar su propio MVC:

  • Usted puede adaptar a su específica exacta necesita
  • Puede mantenerla cerrada fuente, reduciendo la exposición, el aumento de la seguridad debido a la oscuridad
  • Puede seguir desarrollándolo y luego lanzarlo al mundo cuando esté maduro y cumpla un propósito principal: de todos modos, se crearon muchos mvcs actuales de esa manera.
  • Puede continuar desarrollándolo, conservarlo como código fuente cerrado y crear enormes servicios y aplicaciones SaaS en él, a los que conservará todos los derechos. Se puede hacer con la licencia de Apache también.
  • Puede cumplir un propósito que no cumple ningún otro mvc. A pesar de que cada mvc tiene fanáticos que creen que tienen la única solución, cada mvc tiene sus desventajas. Y creyendo que 'todo lo que se puede hacer, se ha hecho' porque hay 15-20 mvcs fuera, es tan estúpido como decir 'todo lo que se puede descubrir ha sido descubierto'. Y hubo personas que dijeron esto último a principios del siglo XX.

Sin mencionar que con un mvc externo que está utilizando, está obligado al equipo de proyecto de ese mvc por muchas cosas. Es posible que ya tengan o puedan presentar cosas que no te gusten, o incluso obstaculizar tus aplicaciones específicas.

sin mencionar que no solo pueden quedar abandonada. Puede pasarle a los más grandes. Codeigniter estaba de moda. Que pasó ? Ellis lo está botando básicamente. El desarrollo se ralentizó hasta detenerse. Probablemente pronto totalmente paralizado. Ser de código abierto tampoco garantiza un proyecto: ha habido muchos proyectos de código abierto que se han desarrollado de forma similar.

¿Qué va a pasar con las personas que habían codificados aplicaciones principales con CodeIgniter? ¿Van a tomar la seguridad de las instalaciones de Codeigniter que tienen ellos mismos? Por lo tanto, de facto convertirse en mantenedores de su propio mvc? ¿O van a contratar partes externas para mantener el mvc por ellos?

No es una buena inversión futura.

Mi preferencia para la codificación de mi propia MVC es principalmente para tener un MVC que se adapte a mi estilo de codificación. Mi criterio para un MVC:

  • desarrollo rápido
  • modificación rápida
  • Bajo mantenimiento
  • velocidad
  • Seguridad
  • simplicidad extrema
  • La fiabilidad en lo que respecta al desarrollo futuro

He codificado un mvc importante para mí antes. y todavía lo estoy ejecutando con éxito en uno de mis sitios web de hobbies que maneja ~ 600,000-1,2,000,000 visitantes únicos por mes. En un momento dado, más de 250 visitantes (google analytics, no incluye ningún bot) pueden estar presentes en el sitio, martillando página tras página. Y ni siquiera parpadea. Me gusta eso. A pesar de que tiene varias deficiencias que no me gustan, funciona espectacularmente.

En las im mvc actuales haciendo, im utilizando las lecciones que he aprendido de la anterior, ya que se aplican a mis propósitos específicos.

Sin mencionar que es una gran manera de perfeccionar y desarrollar nuevas habilidades.

Pero una cosa es una necesidad: planificar muy bien, y mantener la construcción en él, el cambio y la mejora de la misma.

Cuestiones relacionadas