Mi equipo quiere usar el marco Phalcon para construir una aplicación web de red social. ¿Es mejor usar frameworks para construir aplicaciones web en PHP?

TL; DR: debe usar un marco, pero solo después de saber qué arquitectura de la aplicación (o colección de arquitectura de la aplicación) usará.

Versión larga:

Usaría un marco, pero me aseguraría de que el marco no se convierta en una muleta.

Al igual que los discapacitados pueden usar una muleta real para soportar su peso debido a su propia falta de fuerza, los desarrolladores pueden usar un marco como una muleta para soportar su propia falta de habilidad.

Un marco es solo una herramienta. Es comparable a un martillo en la construcción de edificios.

Un marco no debe ser la esencia de su aplicación más de lo que un martillo es la esencia de un edificio.

La “esencia” de un edificio es la arquitectura del edificio, y la “esencia” de una aplicación es la arquitectura de la aplicación.

No es aconsejable elegir su arquitectura en función de sus herramientas. Debe elegir sus herramientas en función de su arquitectura.

Una arquitectura de software impone restricciones en su diseño porque restringirse a las restricciones proporciona garantías.

El estudio de la arquitectura de software es el estudio de qué restricciones proporcionan ciertas garantías y cómo proporcionan esas garantías.

Por ejemplo, las personas usan las restricciones de la transferencia de estado representacional (REST) ​​para proporcionar escalabilidad y mantenibilidad, y las personas usan una arquitectura de microservicio para proporcionar autonomía e interoperabilidad de los “servicios”. Sin embargo, esto es una pequeña simplificación.

Además, la mayoría de los sistemas usan una combinación de restricciones arquitectónicas. Por ejemplo, he visto a muchas personas combinar Arquitectura orientada a servicios, Arquitectura dirigida por eventos y Transferencia de estado representativa. Sin embargo, a pesar de tener la misma arquitectura, las implementarían utilizando diferentes herramientas (es decir, Spring para JAVA, Lavarel para PHP, Flask para Python).

¿Usar un marco?
Si, siempre.

¿Cúal?
El que satisface tus necesidades. Aquí hay una guía para elegir un marco:

  • ¿Está en desarrollo activo?
  • ¿Se ajusta al flujo de trabajo de nuestro equipo y cómo codificamos?
  • ¿Podemos estandarizar nuestras aplicaciones para usarlo?

Elegimos CodeIgniter hace algunos años. No es el marco más nuevo y popular en estos días. Pero todos lo sabemos, nos queda bien y todas nuestras aplicaciones lo usan. Vale la pena un paquete, y si no está roto, hay un gran costo para saltar del barco. ¿Deberías usar CodeIgniter porque lo hacemos? No. Encuentra uno que se ajuste a tus necesidades. Luego úsalo, para cada proyecto, hasta que seas un maestro jedi 🙂

Tengo mucho tiempo trabajando sobre el marco Phalcon, tengo un conocimiento perfecto al respecto. desde el uso micro a la aplicación mvc.

Puedo apoyar cualquier cosa para usted, no solo Phalcon sino también otros frameworks php (Laravel, Yii2, CodeIgnitor)

Siempre diseñaría una solución usando un marco, si el proyecto requiere algo más que un par de páginas simples.

Me gustaría ver elgg o similar para una buena conexión a tierra antes de intentar reinventar la rueda.