2010-04-13 15 views
12

Estoy a punto de comenzar un pequeño proyecto de sitio web estático: no se requieren bases de datos ni CMS. Básicamente, un sitio web de folletos.¿Cuándo es un proyecto PHP demasiado pequeño para un framework?

Utilicé el framework CodeIgniter recientemente para desarrollar una aplicación web completa, y me pregunto si es apropiado usar también CI para sitios más pequeños y simples.

Normalmente para un sitio de folleto estático escribo páginas regulares de PHP con algunas incluídas para ahorrar en la repetición (es decir, HTML con un rociado de PHP), pero esta vez me pregunto si mi nuevo amigo CodeIgniter podría ser capaz de simplificar el proceso de desarrollo.

¿Es sensato considerar un marco para un proyecto tan simple o es excesivo? ¡Me preocupa que pueda ser el carpintero proverbial cuya única herramienta es un martillo, y ve cada problema como un clavo!

Respuesta

1

¿Por cuánto tiempo es un pedazo de cuerda?

Utilizo CodeIgniter (específicamente PyroCMS) para el folleto de 5 páginas de mierda, pero eso es puramente para permitir que los clientes administren sus propias páginas fácilmente con un WYSIWYG.

Cualquier cliente dirá "¡Guau, noticias, formulario de contacto y también puedo conseguirme un poco de ese Twitter !?" así que lo tiro allí para salvar a todos.

Si está desarrollando desde cero no tiene sentido si el contenido es estático. Algo como CodeIgniter ayuda con la interacción de DB, la validación de formularios y la descomposición de varias páginas en fragmentos lógicos, es decir, clases y métodos de controlador.

Si no tiene contenido de base de datos, no maneja formularios y no tiene muchas páginas, literalmente no tiene sentido agregar la sobrecarga.

Dicho esto, pruebe mi Twiny framework para , literalmente, el marco MVC más pequeño alrededor de.

+0

Gracias Phil. No era muy específico acerca de los requisitos específicos de este sitio en particular, pero básicamente se divide en alrededor de 40 páginas de contenido estático y 4 formas. –

+0

¡OMG, me ha llevado más de 2 años cerrar este tema! Cuando planteé esta pregunta, era un SO novato y no me di cuenta de la importancia de aceptar una respuesta útil. De todos modos, gracias por una respuesta útil :) –

+3

Te he odiado intensamente durante los últimos dos años, pero ahora podemos ser amigos. –

1

Si no necesita una base de datos, CMS y es simplemente una página estática HTML/css/PHP, no creo que pueda fallar al crear un sitio sin un marco. Además, si ha estado utilizando frameworks durante mucho tiempo, puede tener un descanso y hacer "código de código" y tener una idea de cómo es el código desde cero :)

8

Creo que casi nunca, las necesidades cambian y llegar más con el tiempo ... así que es mejor tener una buena base usando un marco para esperar las necesidades futuras. pero si su proyecto no tendrá una larga duración y sus necesidades son realmente simples, entonces creo que no es necesario usar un marco.

3

Personalmente, nunca desarrollaría un sitio fuera de un marco para nada más que un sitio de una sola página de brocure-ware. Trabajo mucho más rápido dentro del marco.

Soy un desarrollador de Python/Django, pero esta es mi opinión.

He hecho algunos sitios pequeños que no son de framework con PHP y no sé cómo se comparan los frameworks de PHP con DJango, pero si son parecidos, el hecho es que soy mucho más hábil desarrollando dentro de un framework que codificar algo desde cero a mano.

Me ayuda a mantenerme organizado solo si me da el CV del MVC. Django me proporciona una gran cantidad de herramientas integradas, como el manejo de formularios, que hacen mi vida mucho más fácil incluso para sitios pequeños.

Voy a suponer que los marcos de PHP proporcionan cosas similares, aunque no así.

Tampoco puede anticipar cómo el sitio crecerá con el tiempo. Es más fácil mantener algo construido en un marco, y si alguna vez necesita ampliar el sitio en el futuro, es bueno tener alguna estructura detrás de él.

+2

Lo hacen ... De hecho, creo que Django es bastante "flojo" con la estructura que impone ... un poco demasiado suelto de hecho; No me gusta mucho. Algo como CakePHP que cree en Convention Over Configuration realmente puede reducir el tiempo de configuración de rutas, y decidir sobre nombres de plantillas, estructura de carpetas y otras cosas ... Django proporciona muchas herramientas, pero encontré la extensibilidad mucho mejor/más fácil en Cake, mientras que si necesitas algo más en Django es más difícil construir encima. Por ejemplo, la clase de usuario que te obliga a ir por esta ruta de "perfil", una separación que encuentro ser --- – mpen

+2

--- completamente innecesaria y molesta. Pero, por desgracia, tiene muchos puntos buenos también. De todos modos, el punto es que los marcos de PHP son buenos para reducir el tiempo y también para proporcionar estructura. Cada uno tiene sus fortalezas y debilidades (Django tiene un ORM mucho mejor). – mpen

+1

La orgainzation que describes (el VC de MVC) es también lo que me atrae.No he trabajado con Django, pero ciertamente CI tiene funciones de ayuda de HTML, clases de validación de la forma y otras cosas que se esperan para ahorrar tiempo en un marco. –

0

Para un sitio simple como ese. ¿Por qué usar un framework? ¿Por qué no usar algo como concrete5? ¿Overkill? seguro. pero bueno, es fácil y no requiere casi ninguna codificación, por lo que el mantenimiento es muy sencillo.

El sitio estaría en funcionamiento en menos de una hora y te hace ver bien a los ojos de tu cliente y eso no puede doler.

2

Dado que tiendo a heredar marcos a medida, o escribir los míos propios, lo vincularía a alrededor de 3 páginas: si es más, entonces la configuración de un marco lo vale. Y si necesita una base de datos, entonces las probabilidades son buenas, de todos modos terminarás con más de 3 páginas. :-)

+0

El sitio tendrá aproximadamente 40 páginas, por lo que según su definición, es definitivamente lo suficientemente grande como para beneficiarse de un marco. –

+6

Si es un sitio, no una aplicación (es decir, no hay mucha interacción del usuario además de ver las páginas), busco un CMS sobre un marco. Casi todo lo que implementaría usted mismo ya ha sido hecho por usted. La desventaja es que te sientes menos como un codificador y más como un trabajador de la línea de ensamblaje, y de vez en cuando te encontrarás con algo que es un dolor hacer como lo dicta el CMS, pero el desarrollo suele ser mucho más rápido. – jergason

+0

Un marco puede comenzar tan simple como un lugar para poner funciones comunes y elementos de página. – staticsan

0

No creo que ningún proyecto sea demasiado pequeño para un framework, creo que algunos frameworks son demasiado grandes para proyectos pequeños. Todos esperan que su sitio web crezca.Así que no importa cuán pequeño sea el sitio ahora, el crecimiento será más fácil de administrar si comienza con un marco.

2

Recomiendo Rapyd, un "framework PHP minimalista y rápido".

0

El único caso en que el framework sería una exageración es con scripts desechables, como cuando necesita automatizar rápidamente algo que no necesitará volver a hacer nunca. Para cualquier cosa que entrará en el ciclo de ejecución más de unas pocas veces, es probable que el marco sea mejor.

0

Si requiere varias horas de trabajo, entonces es pequeño. De todos modos, si planea dedicar más de "varias horas", definitivamente use un marco Y un sistema de revisión de control.

0

Depende. Si está seguro de que este es el sitio en el que está trabajando, o migrando cuando surjan necesidades futuras, entonces no veo por qué habría una razón para usar un marco, a menos que se sienta más cómodo trabajando con uno .

Como ejemplo personal, recientemente trabajé en un sitio web semi-estático, para el cual armé un marco mínimo que funcionaba como un preprocesador de almacenamiento en caché para html estático, insertando elementos html comunes en lugares preestablecidos. Esto permitió un poco de contenido dinámico, y aún así solo usaba html estático para el contenido.

Yo diría que su respuesta se encuentra dentro de una fórmula que consiste en necesidades de desarrollo futuras, sus propias preferencias de trabajo y el rendimiento.

1

sitio nunca es pequeño si el cliente no es que lo desea, puede pedir que añadir más funcionalidad en cualquier momento :)

Cuestiones relacionadas