Qué CMS como base para una aplicación web personalizada [closed]

9 minutos de lectura

avatar de usuario
tylerl

Estoy pensando en crear una aplicación web personalizada para un cliente (un sitio de subastas especializado, en este caso) y estamos evaluando el uso de algunos CMS existentes como “andamio” para la aplicación.

La justificación es el hecho de que para muchos proyectos de aplicaciones web personalizadas, alrededor del 70 % del código escrito se dedica a agregar funciones de CMS, administración de usuarios y administración básica CRUD. Presumiblemente, si comenzamos con un CMS existente, entonces los componentes ya estarán construidos.

Hemos decidido seguir con PHP por razones de distribución e implementación. Los principales CMS que estamos evaluando son WordPress, Drupal y Joomla. Aquí está nuestro análisis hasta ahora (enumerados en orden):

WordPress
ventajas: Diseño absolutamente simple. Extremadamente popular y entendido. Historial de seguridad reciente muy sólido.
Contras: Tal vez un poco demasiado simple, ¿se puede hacer que funcione?

Drupal
ventajas: Potencialmente más amigable para el desarrollo de aplicaciones personalizadas. Historial de seguridad decente.
Contras: Más complejo y difícil de entender.

Joomla
ventajas: Popular y bien entendido.
Contras: Algunas preocupaciones de seguridad

Uno de los mayores problemas a los que nos enfrentamos, y lo que esperamos obtener de la comunidad SO, es comprender con qué facilidad se pueden personalizar para convertirse en una aplicación personalizada. Por ejemplo, cuando el cliente entre en su área de administración, tendrá la impresión de que se trata de un, “sitio de subastas con un CMS incorporado de wordpress”o será un “sitio de wordpress con un complemento de subasta”? Esperamos lo primero en lugar de lo segundo. Pero, ¿puede hacerse?

¿O tal vez estamos mirando en la dirección equivocada? ¿Deberíamos estar buscando algo como CakePHP?? (Tenga en cuenta que las opciones como RoR y Django están fuera de la mesa debido a razones de distribución e implementación).

Aquí hay algunas preguntas relacionadas (pero no idénticas) que tienen información útil:
Usando un CMS para diseñar una aplicación web
CMS para aplicaciones personalizadas

  • Stack Overflow es para preguntas específicas y puntuales sobre programación. Probar Pro Webmasters.SE o Programadores.SE.

    usuario113292

    5 oct 2010 a las 16:30

  • Sé que esta es una vieja pregunta, pero defaqto.io es una especie de CMS como servicio…

    – iamjonesy

    31 de julio de 2014 a las 21:29

avatar de usuario
tom wright

Esta es una pregunta a la que solíamos enfrentarnos regularmente.

Nuestro arsenal de desarrollo consistía en WordPress y CakePHP. Usamos el primero donde pudimos y el segundo cuando realmente teníamos que hacerlo.

A menos que esté haciendo algo realmente radical, probablemente pueda hacerlo con (algo así como) WordPress. En estos días, el área de administración se puede modificar mucho y las taxonomías personalizadas permiten entidades significativas en lugar de solo publicaciones y páginas.

Lo que debe considerar es la gran cantidad de funciones y pruebas que vienen con un paquete CMS establecido. Además, WordPress et al. tiene una enorme colección de complementos/extensiones, que pueden llevarlo aún más cerca de donde necesita estar.

Supongo que lo que digo es que le resultará difícil convencerme de volver a caer en algo como CakePHP.

EDITAR: Seis revisiones tienen un excelente publicación sobre la personalización del área de administración. Además, si tienes consultas específicas de wordpress, recuerda que tenemos un sitio de intercambio de pila realmente fuerte esperando tu pregunta!

  • ¿Puede señalar la documentación sobre qué mecanismo usó para transformar el backend de administración?

    – Tylerl

    3 oct 2010 a las 23:46

avatar de usuario
sid kshatriya

A menos que esté haciendo algo radical, será mejor que use un CMS (de acuerdo con Tom Wright arriba).

Contribuiré a Drupal. Es un CMS extremadamente capaz que impulsa algunos sitios web de clase mundial como http://www.casablanca.gov (Sitio web oficial del presidente de los Estados Unidos). Eso en sí mismo dice mucho sobre su escalabilidad, confiabilidad y seguridad.

Verificar http://drupalsites.net para ver un conjunto completo de sitios web hechos en Drupal. Una vez en Drupal, tendrá acceso a una de las comunidades más activas que existen para un proyecto de código abierto. Esta comunidad ha producido más de 2000 módulos gratuitos (o complementos) para cumplir con los requisitos que Vanilla Drupal no puede cumplir.

Es cierto que Drupal tiene una curva de aprendizaje más pronunciada que Joomla o WordPress. Pero Drupal, creo que es más poderoso que WordPress y Joomla. Una vez que haya dominado los fundamentos de Drupal, sus funciones son fáciles de implementar. Todo el sistema Drupal se siente consistente. Algunos CMS son una serie interminable de módulos únicos que solo necesitan ser configurados de esa manera. Drupal tiene algunos módulos poderosos como Views y CCK, que, una vez dominados, lo ayudarán a lograr muchas cosas que habrían requerido muchos hacks/complementos/programación personalizada diferentes en otros CMS.

Joomla tiene un reputación por ser más fácil de aprender pero, en última instancia, difícil para construir sitios comunitarios verdaderamente complejos y masivos. WordPress, aunque madura rápidamente con la versión 3.0, todavía está lejos de ser tan rico en funciones como Drupal/Joomla. Luego, hay otros CMS próximos en el horizonte: consulte los premios CMS de Packtpub; puede ver algunos buenos CMS enumerados allí.

Básicamente, todo se reduce a esto: los CMS como Drupal están diseñados para adaptarse a las necesidades de los sitios web convencionales. Si su sitio no es radical (el equivalente actual de Twitter o Foursquare), quédese con Drupal/otro CMS. Los tiempos de desarrollo se reducen drásticamente. Solo una vez que sienta que lo que está haciendo no es práctico en un CMS, debe elegir un marco como Cake, Django, etc.

  • +1 para Drupal. Definitivamente es el CMS más potente con el que he trabajado hasta ahora y la documentación también es bastante buena.

    – Octavio A. Damián

    4 de octubre de 2010 a las 8:16

  • También +1 para Drupal. He probado todos los demás pero Drupal solo lo hace por mi. Un montón de módulos permiten una fácil personalización y escribir uno propio (si es necesario) no es tan difícil en absoluto…

    – Scott Everden

    5 de octubre de 2010 a las 4:20

Me subiré al carro del uso de un CMS también. Simplemente no tiene sentido comenzar desde cero a menos que tenga una aplicación verdaderamente única que no necesite ninguna de las cosas del tipo de contenido/usuario estándar.

Basaría mi decisión en qué tan experto en tecnología es el cliente. Yo tendería a mantenerme alejado de WordPress ya que extenderlo no es tan simple como Drupal o Joomla. Se necesita mucho más trabajo para que WordPress haga lo mismo y su conjunto de funciones listo para usar es muy limitado.

Generalmente optamos por Joomla porque el administrador es mucho más fácil de enseñar a un cliente que Drupal. Drupal tiene una mejor administración de usuarios y control de acceso desde el primer momento que Joomla, pero hay extensiones muy buenas que pueden brindarle ambas cosas si es necesario. Creo que la otra ventaja que tiene Joomla es su arquitectura MVC y su gran comunidad de desarrollo. Casi 6000 extensiones GPL y muchas más no GPL. Agregue un buen CCK como K2 y el cielo es el límite.

En cuanto a la personalización del administrador, utilizamos una instalación personalizada para nuestros sitios comerciales. Está marcado con nuestros logotipos y se elimina todo el material de Joomla. Ninguna de las extensiones principales que no se usan aparece en el administrador y, según el propósito del sitio, se puede hacer que parezca una aplicación con un CMS integrado. Ninguno de los cambios que hemos realizado toca el núcleo y la mayoría son configuraciones simples que activan o desactivan cosas según sea necesario. Incluso puede ir un paso más allá con extensiones de administrador simples que le brindan un control granular sobre lo que ve un usuario cuando inicia sesión en el administrador. Sin embargo, no hemos sentido la necesidad de eso.

Al final, se trata más de con qué CMS te sientes más cómodo codificando extensiones. Ya se ha demostrado que se puede hacer que los 3 hagan básicamente lo mismo, así que elige el que más te guste.

Nuestra empresa tiene una gran experiencia en desarrollo web, pero recientemente se decidió dirigir energías comunes al desarrollo web basado en desarrollo drupal porque solo en el caso de los desarrollos de Drupal los clientes obtienen:

  • un sitio web construido sobre el sistema seguro que se basa en código fuente abierto, el sistema que es probado por millones de usuarios en todo el mundo. sistema de gestión de contenido profesional;
    • es más probable que las posibilidades del sistema Drupal estén limitadas por la imaginación del desarrollador más que por las instalaciones del propio Drupal; este será un sitio web con gran rendimiento y escalabilidad;
    • confianza en que el productor de CMS no desaparecerá;
    • sitio web con precio moderado, incluso si existe la necesidad de desarrollar algunas características específicas que aún no están desarrolladas en Drupal;
    • Las nuevas versiones del núcleo de Drupal y sus módulos están disponibles de forma gratuita.

Definitivamente iría con ExpressionEngine. Es un CMS con muchas funciones, y al usar su módulo de consulta y permitir PHP en las plantillas, puede ajustarse bastante desde el marco del CMS.

Si necesita más potencia, está construido sobre CodeIgniter, y desarrollar complementos para él es muy fácil para un desarrollador decente.

No es gratis, pero es bastante perfecto y vale la pena el costo ($300 para sitios comerciales).

  • No creo que un CMS comercial sea una opción, ya que el cliente quiere revender la aplicación. Sin embargo, CodeIgniter parece convincente y hay CMS gratuitos integrados que podrían funcionar (por ejemplo, PyroCMS).

    – Tylerl

    5 de octubre de 2010 a las 4:43

  • No creo que un CMS comercial sea una opción, ya que el cliente quiere revender la aplicación. Sin embargo, CodeIgniter parece convincente y hay CMS gratuitos integrados que podrían funcionar (por ejemplo, PyroCMS).

    – Tylerl

    5 de octubre de 2010 a las 4:43

¿Ha sido útil esta solución?

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Configurar y más información
Privacidad