Si a mi empresa le está yendo bien con PHP, ¿está considerando Rails o Django como una plataforma de desarrollo que valga la pena?

Soy principalmente el diseñador y el chico de front-end, por lo que mi profundidad en esta respuesta solo llegará hasta cierto punto. Sin embargo, trabajé principalmente en sitios web PHP / SMARTY entre 2002-2007 y me he metido un poco con RoR. Amo a Django.

Para mí, las grandes victorias son el marco MVC en general que te obliga en cierto grado a construir las cosas de cierta manera. En comparación con PHP, los sitios en los que trabajé hicieron cosas muy diferentes. Trabajando con ingenieros en PHP siempre tuve que ir y venir de mí para solicitar ciertos arreglos de datos por página. En Django, una vez que se configuró el modelo, siempre tuve acceso a esos datos sin importar dónde quisiera cambiar algo en el sitio. Era como si las esposas estuvieran apagadas.

A los diseñadores les encanta cambiar las cosas, pero saben que solo pueden pedir tantas necesidades de ingeniería antes de que se enojen. Django elimina muchas de esas solicitudes porque está ahí desde el principio. Al separar los modelos y las vistas, también hizo que las cosas fueran más legibles para un tipo tonto de frontend como yo, ya que no me estaba perdiendo en la gran cantidad de lenguaje SQL que solía ver cada vez que intentaba modificar nuestros archivos PHP centrales. No me meto en el backend muy a menudo, pero es bueno poder entrar y hacer ajustes fáciles.

En cuanto a las plantillas específicamente, creo que el sistema de bloques de Django es una forma incomparable de pensar sobre la administración de plantillas. Simplemente no podríamos ejecutar tantos sitios como lo hacemos con un equipo front-end tan pequeño sin él. La capacidad de extender y sobrescribir bloques individuales de código de plantilla significa que puedo hacer una plantilla para Comic Vine ligeramente diferente a una en Giant Bomb sin tener que mantener varias copias del mismo núcleo. No es algo que las personas aprecian cuando solo administran un sitio, pero para las personas que crean front-end reutilizables, creo que Django es el claro ganador en su estado predeterminado.

Sin embargo, para responder a su pregunta, no, no debería cambiar si le gusta lo que está trabajando. Nos mudamos a Django porque teníamos un ingeniero realmente inteligente que creía que era el futuro, y el resto de nosotros lo hicimos porque era Algo divertido que hacer. Al final, no puedo imaginar que siga trabajando en PHP, pero como producto principalmente, creo que su aplicación y ejecución es más importante que su elección en herramientas. Para cada uno lo suyo y PHP definitivamente está probado.

El único inconveniente para Django es que no es tan popular como RoR o PHP. Hace que encontrar personas sea bastante difícil, pero el problema es que cuando encuentras personas, tienden a ser increíbles. Nos gustan las personas geniales.

Si.

PHP es un lenguaje, Rails y Django son frameworks o plataformas. PHP implica que estás construyendo el tuyo. Puedes mirar Symfony, CakePHP o Drupal para ver frameworks / plataformas en PHP.

Dicho esto, creo que Rails es genial y bastante innovador, hay un screencast clásico de un sitio de blogs que se está creando para darle una idea de cómo es desarrollar con Rails. Gran parte de la interacción es a través de la línea de comando y usará rubygems para agregar bibliotecas, nuevamente a través de la línea de comando. Me gustaría ir por esta ruta si está interesado en la vanguardia o si está buscando construir muchas funciones. Mire también a Sass y Haml, así es como una buena cantidad de personas hacen la parte delantera de los proyectos de Rails.

Sin embargo, si solo busca agregar un poco más de potencia y flexibilidad, vale la pena echar un vistazo a Drupal. Es más amigable con la GUI y obtienes mucho por adelantado y puedes agregar más con complementos.

Otra nota, creo que Ruby y Python tienen más prejuicios de Linux o Mac que PHP; pensaría en esto si eres una tienda de Windows.

Como se mencionó anteriormente, habrá un período de reajuste, por lo que recomendaría definir sus necesidades, es decir, ¿qué está buscando de una herramienta? A partir de ahí, creo que la decisión debería ser un poco más clara, y es bastante inofensivo pasar una tarde jugando con Rails o lo que se vea mejor.

Salud