Para aplicaciones web a gran escala, ¿son los marcos web y WordPress / Drupal las dos únicas opciones eficientes?

Como dijeron los demás, todo “depende”.

Pero también depende de su definición de eficiencia. En cuanto al rendimiento, WP y Drupal están lejos, lejos de ser eficientes. A nivel de entrada en cuanto al tiempo, seguro, WP es muy eficiente: cada no codificador de su personal sabrá cómo usarlo en muy poco tiempo. En cuanto al código, una vez más, depende de si tiene personas con experiencia previa en WP / Drupal a bordo, porque desarrollar para esos CMS puede ser increíblemente torpe (debido a su código y arquitectura torpes) y requiere acostumbrarse.

En cuanto a los marcos, sí. Absolutamente. Absolutamente debería usar un marco, para que no se encuentre reinventando demasiadas ruedas. Bueno, tal vez no tanto marcos como componentes populares, probados en batalla, desde los cuales puedes construir tu propio “marco”, así: Construye tu propio Marco PHP con Componentes Symfony

Es importante usar bibliotecas y paquetes de alta calidad (como estos: The League of Extraordinary Packages) porque tienen una base de usuarios muy alta y son mantenidos por una multitud constante de muchos, muchos ojos, lo que hace que los errores y las infracciones de seguridad sean difíciles. El problema con los CMS de la vieja escuela establecidos como Drupal y WP es que la comunidad que jura por ellos suele ser también de la vieja escuela, no familiarizada con los avances recientes, las mejores prácticas y las medidas de seguridad, y cosas como estas suceden: Drupal reconoce la vulnerabilidad de inyección SQL importante

En resumen: mi recomendación es no pensar demasiado en el aspecto técnico si no tiene experiencia con él. El truco para un proyecto a gran escala rápido, estable y seguro es encontrar un buen desarrollador / arquitecto senior que pueda planificar la aplicación adecuadamente de tal manera que requiera reescrituras mínimas más adelante y sea máximamente compatible con los avances futuros, utilizando principios SOLID:

S: PHP Master | El principio de responsabilidad única
O: PHP Master | El principio abierto / cerrado
L: El principio de sustitución de Liskov
I: Desacoplamiento de interfaces de la implementación: uso de interfaces separadas
D: Gestión de dependencias de clase: una introducción a la inyección de dependencias, localizadores de servicios y fábricas, Parte 1 y Principio de inversión de dependencias

eso significa usar interfaces para asegurarse de que los componentes se puedan cambiar más adelante, manteniendo los componentes pequeños para que puedan probarse y actualizarse fácilmente, y por último, pero no menos importante, adoptando un enfoque API primero. De esa manera, puede tener un equipo separado trabajando en la aplicación de back-end y front-end, que divide la carga de trabajo, asegura la separación de las preocupaciones (le permite externalizar la creación de varios clientes para su aplicación de back-end: una compañía puede hacer su aplicación móvil, uno puede hacer su aplicación de escritorio, uno puede hacer su tablero web, todo conectado a la API de la que se ocupa su equipo de back-end), y muchos otros beneficios.

Debe aclarar aún más el contexto de las opciones eficientes en LSWA (aplicación web a gran escala). Si te estás limitando a wordpress / drupal, entonces ciertamente no. Para hacer una aplicación escalable, necesita que ciertas cosas funcionen correctamente, por muy bueno que sea el marco, aún debe coordinarse con la base de datos, por lo que sus consultas juegan un papel importante.
Uso de ssl cuando entra la seguridad, el tiempo de carga de la página, el almacenamiento en caché de imágenes, la optimización de imágenes, etc. son algunas opciones que también deben abordarse para hacer un LSWA.

Lo más probable es que los requisitos de “gran escala” te obliguen a renunciar a las cosas de la pila completa como Joomla y Drupal y a bajar al nivel de marco, como Symfony, Laravel y Phalcon.

Honestamente, daría un paso atrás y preguntaría qué aplicaciones van a acceder al servicio, y si angular está a la vista, entonces puede escribir cualquier API REST que desee: PHP framework, Node.js, Go, etc.

Estoy de acuerdo con todos los demás en que saber qué significa “a gran escala” con más detalle proporcionará mejores respuestas 🙂

¡Seguramente no! Puede escribir la aplicación web usted mismo (pero esto significa mucho trabajo) o usar cualquier otro sistema configurable como Joomla !, XWiki – Wiki de código abierto y plataforma de aplicaciones orientada al contenido, HumHub – Un kit flexible de red social de código abierto o muchos otros.

Elegir la herramienta “correcta” depende de sus requisitos.

Sin tener más requisitos, es difícil hacer una recomendación específica. Pero WordPress está lejos de ser eficiente. Drupal tengo que decir que puede ser mejor o peor dependiendo de cómo esté configurado. Ejecuto un producto web a gran escala que maneja 300,000,000 de transacciones por día. Usamos Java para nuestra aplicación. Pero todos los niños nuevos están usando node.js. He escrito aplicaciones a gran escala en Python. También he visto aplicaciones a gran escala escritas en php, ruby, Scalia. Para responder a su pregunta, hay muchas otras opciones mejores que WordPress y Drupal.

Depende de lo que quieras hacer. Hay toneladas de CMS que pueden ajustarse a la factura. Concrete5, Fuelphp o si necesita un marco, entonces podría buscar cualquiera de los tantos marcos, desde codeigniter hasta Zend y muchos otros.

Todo depende de su conjunto de habilidades y requisitos.

More Interesting

¿Crees que AngularJS es el futuro del desarrollo web?

¿Cómo puedo aprovechar mi habilidad de desarrollo de aplicaciones C ++ QT para construir aplicaciones web HTML5? ¿Existe un solo marco de JavaScript HTML5 que sea similar?

¿Cuáles son algunos de los mejores ejemplos de páginas de ayuda al cliente para aplicaciones web?

¿Cuál es la característica principal (que falta) de su pila de desarrollo web (móvil) favorita y por qué?

¿Qué es una buena aplicación para construir para practicar?

¿Es posible iniciar sesión en un sitio a través de una aplicación web, incluso si ese sitio no tiene una API?

¿Un SVG minimizado afectará negativamente la salida de calidad de impresión?

¿Qué idiomas debo usar para crear un juego web simple que requiera autenticación de usuario? ¿Es MEAN una buena opción?

¿Qué herramientas son las mejores para crear animaciones web?

¿Cómo se crean los formularios del sitio web?

¿Hay alguna manera de crear APIs, también conocido como servicio web, en algún idioma definiendo solo los esquemas? ¿Puedo obtener mi función CRUD para que pueda ser consumida por los programas?

¿Cuáles son los pros y los contras de algunos de los lenguajes de back-end más populares para el desarrollo de aplicaciones web?

¿Debo usar bootstrap para aplicaciones web críticas de rendimiento?

¿Cómo puedo aplicar el Principio de Pareto (regla 80/20) al aprendizaje del desarrollo web?

Scala: ¿Qué buen marco puedo elegir para el desarrollo web?