Un proyecto en el que trabajo, www.findbigmail.com, fue escrito completamente en PHP para empezar y luego trabajé en Ruby/Rails para un proyecto diferente, y volver a PHP fue duro. Después de usar HAML, SCSS y otras cosas maravillosas como CSS y JS Minify, ah y compás para construir sprites, fue doloroso volver a PHP y trabajar de nuevo en los archivos PHP con HTML incrustado etc.
Así, impulsado por pura pereza, miré a mi alrededor y encontré MiddleManApp (MM) - después de un par de viajes secundarios en el camino.
Ahora tenemos una separación muy fuerte entre lo que ahora es un sitio html en su mayoría estático construido por MM, con algunos archivos PHP que se envían a POST y redireccionan a páginas html. Donde necesitamos un comportamiento más dinámico, hemos agregado javascript a las páginas y les pedimos que envíen envoltorios API PHP alrededor de nuestro código preexistente.
Nuestro rendimiento del sitio ha aumentado enormemente (DOH, ahora es html toda estática), y su a punto de dar otro salto cuando la próxima versión intermediario sale con sus capacidades mejoradas almacenamiento en memoria caché heredados de los rieles de tuberías 3.1 activo . P.ej. podremos hacer referencia a main.css
en nuestras secuencias de comandos fuente (que a su vez está compuesta por archivos sub-scss como _index.scss
, _pricing.scss
) y se compilarán con referencias a main-2348jlk23489kdj.css
, lo que nos permitirá configurar el servidor en la memoria caché durante un año y/o implementar muchos más archivos en CDN.
Nuestro rendimiento de ingeniería también está muy alto. Ya no somos reacios a tocar el código de UI por temor a introducir un error de sintaxis en el código PHP. Y no más etiquetas HTML no coincidentes para causar dolor. El otro desarrollador de PHP no estaba familiarizado con el rubí/rieles cadena de herramientas derivadas, pero rápidamente se ha convertido competentes (pesar de que es un desarrollador de Rockstar, así que no es demasiado sorprendente!)
Próximamente es el soporte de i18n. La mayoría de eso ya está en MM y espero que soporte de Javascript real-soon-now.
También exploramos la generación de páginas desde HAML con PHP añadido a ellas. Decidimos que probablemente era bastante simple, por ejemplo, agregue una etiqueta ": php" a la canalización HAML y luego use parciales .php según sea necesario. Pero, encontramos que entre Javascript y envolviendo el código PHP existente como una "API de motor", pudimos mantener las bases de código prolijamente separadas, lo cual encontramos que preferimos en general.
Espero que esto ayude! Feliz de explicar más.
Intenta saltar fuera de su zona de confort de vez en cuando ... te alegrarás de haberlo hecho! –
Nunca utilicé Ruby, pero ¿está buscando un generador de sitios estáticos como http://www.phrozn.info/en/, si estoy en lo cierto lo haré como respuesta :) –