php - ¿Cuál es la diferencia entre un CMS y un Framework? ¿Y cómo elegir entre ellos para ciertos requisitos?
zend-framework content-management-system (7)
@Voles mencionó lo que es CMS y Framework
Por lo tanto, su pregunta es "directriz sobre cómo elegir entre CMS y A Framework"
¿Quieres construir un blog o un sitio web simple?
Ir para Wordpress, Drupal, etc.
¿Desea crear el siguiente facebook o stackoverflow o aplicación que el CMS actual le sea difícil de aprender o esté limitado con las funciones?
Entonces ve por algunos marcos o por encargo. Asegúrese de que sabe cómo construirlo de la manera correcta.
Puedes echar un vistazo a http://cmf.symfony.com/ también.
Espero que quede claro.
Actualmente estoy trabajando con Zend Framework y estoy muy contento con él. Lo que quiero saber es en qué tipo de requisitos es mejor usar CMS como Joomla o Drupal.
Teniendo en cuenta mi proyecto actual es una aplicación de portal. Está completamente hecho desde cero en Zend. Luego, un compañero viene y comenta que, en lugar de implementarlo en Drupal, podría obtener complementos para las cosas que construyó con esfuerzos.
Entonces, ¿necesito una guía sobre cómo elegir entre CMS y A Framework en la fase inicial?
Además de todos los pros y los contras de CMS y Framework, según mi necesidad, debe estudiar sus requisitos en el momento del inicio. Enumere los módulos que desea en su aplicación. Ahora, compruebe la cantidad de módulos disponibles en el CMS que conoce, como drupal, joomla, wordpress, etc. y también compruebe la cantidad de personalización que necesita en estos módulos disponibles, así como los módulos personalizados que necesita desarrollar según sus requisitos. Y si descubrió que, con una personalización mínima, puede usar cualquier CMS en particular y luego hacerlo.
Pero en caso de que su aplicación sea de naturaleza muy compleja, le sugiero que busque cualquier framework MVC como Zend, Cakephp, codeigniter, etc.
Sí, otra cosa es con cualquier CMS o Framework que usted conozca bien.
Eche un vistazo a la diferencia entre un CMS y un marco de desarrollo web en StackExchange.com.
Un CMS ( Content Magagement System ) se utiliza para administrar el contenido de un sitio web. Por lo general, proporciona herramientas para hacer esta tarea lo más fácil posible.
Ejemplos de CMS: Drupal, Joomla, DotNetNuke, etc.
Un marco es como un conjunto de bibliotecas / clases para construir una aplicación web. Muchos marcos proporcionan bibliotecas para el acceso a bases de datos, motores de plantillas, etc. De esta manera, no tiene que reinventar la rueda.
Un CMS a menudo se basa en un marco.
Ejemplos de marcos: CodeIgniter, CakePHP, Kohana ...
Framework es como una biblioteca al usar esta biblioteca podemos desarrollar algo nuevo. Si CMS como nombre implica que es una fuente incorporada para administrar el contenido. Como WordPress no necesitamos desarrollar nada.
Framework es el creador de CMS, CMS es básicamente un sistema de gestión de contenido que se centra en la gestión de contenido donde todo está perfectamente configurado para usted con pocas líneas de código y lógicas. Puede desarrollar su sitio web o aplicación pequeña.
Mientras que en el marco es más profundo que el CMS, todo lo que tienes que escribir desde cero o usar la biblioteca existente, que generalmente se usa para crear aplicaciones grandes. Espero que esto ayude
La pregunta en su caso es si usar un CMS ya hecho o crear su propio sistema usando un marco. La respuesta correcta depende de lo siguiente:
- presupuesto
- número de usuarios que tendrá (problemas de rendimiento a largo plazo)
- mantenimiento adicional
- el número total de detalles (campanas y silbidos) que desea proporcionar en el sitio
- Implementación con APIs de terceros / personalizadas
- características especiales / personalizadas que requieren un alto nivel de libertad (ejemplo: puntos de recompensa y errores de )
Como esta es una pregunta que la mayoría de nosotros nos enfrentamos con bastante frecuencia, aquí hay ventajas y desventajas de un CMS preparado frente a un marco:
CMS listo para usar
Pros
- inicio más rápido y tiempo de desarrollo si su proyecto generalmente se ajusta a lo que proporciona el CMS
- módulos y temas disponibles
- respaldado por la comunidad, lo que significa que las nuevas funciones, correcciones de errores, soporte, tutoriales, etc. se le proporcionarán de forma gratuita
- conjunto unificado de estándares: es más fácil continuar trabajando en un sitio de CMS existente que tomar la aplicación personalizada de otra persona (esto es relativo, pero el punto es que en un sitio que usa un CMS existente la mayoría de las cosas / configuración serán familiares para mientras que en una aplicación personalizada el desarrollador anterior tenía más libertad)
- La seguridad es algo que no debe preocuparse tanto como en una aplicación personalizada.
Contras
- si sus requisitos son muy específicos, tendrá que anular el flujo de trabajo predeterminado del sistema; En algunos casos, esto puede ser complicado y te hará pasar más tiempo que escribir el tuyo.
- Código redundante en módulos / plugins
- Rendimiento: un CMS ya preparado rara vez será tan rápido como una aplicación personalizada
- no es adecuado para todos los sitios web grandes (a menos que se ajuste a casi todo lo que proporciona el CMS)
- curva de aprendizaje empinada en algunos casos ( Typo3 , Drupal )
Aplicación personalizada
Pros
- Depende de usted definir la estructura y la lógica de la aplicación.
- el diseño de la aplicación está hecho especialmente para el proyecto en el que está trabajando, por lo que no hay código redundante
- libertad para hacer lo que quieras
Contras
- caro: en la mayoría de los casos, usted o su cliente necesitarán mucho más dinero para una aplicación personalizada
- mantenimiento adicional será más difícil
- Los cambios y modificaciones de la estructura pueden llevar mucho tiempo.
- Si no está utilizando un CMF, tendrá que reinventar la rueda en algunos aspectos.
Línea de fondo
Pase un par de días y aprenda algo acerca de los CMS por ahí, como:
- Drupal - mi primera recomendación; Bueno para sitios medianos a grandes; buena comunidad curva de aprendizaje media / empinada
- WordPress - mi segunda recomendación; bueno para sitios pequeños a medianos
- Typo3 - sistema de nivel empresarial; bastante complejo, combinado con un framework que se puede utilizar de forma independiente en proyectos
- Joomla : personalmente no me gusta y no lo recomiendo debido a los complementos para aficionados, pero es popular
- SilverStripe
- MODX
- Concrete5
Creo que cualquier proyecto más grande y serio, que tendrá al menos 1-2 programadores para cuidar el sistema en todo momento, debería ser personalizado. Las excepciones son solo si se ajusta exactamente a lo que ya ofrece un CMS existente.
Espero que esto ayude :)
Por lo que sé, los CMS y MVC son marcos de aplicaciones web con bibliotecas de codificación. CMS es mucho más fácil de usar para los principiantes, ya que tiene disponibles sus funcionalidades prefabricadas, por lo que no necesitará una codificación compleja. Encontré información útil en el artículo de Wiredelta, tal vez esto también sea útil para usted: https://blog.wiredelta.com/cms-mvc-framework-comparison/