¿Cuáles son las ventajas y desventajas de usar menos lado del servidor frente al lado del cliente en un entorno de producción en vivo? ¿Por qué querría convertir mi css menos estático y utilizarlo en vez de estar en vivo? Según tengo entendido, el css está en caché tanto del lado del servidor como del lado del cliente, por lo que la velocidad no debería ser un problema y no está disponible, ya que mi aplicación es muy dependiente de javascript, por lo que si no estuviera disponible tendría problemas mayores. No entiendo completamente cómo funciona la compilación del lado del servidor ... graciasUtilice menos (preprocesador css) del lado del servidor o del lado del cliente
Respuesta
Trabajé en un proyecto grande que usaba LESS. El problema principal que encontramos al compilarlo desde el lado del cliente (en entornos de desarrollo) es que la compilación del lado del cliente requiere JavaScript y la impresión convierte la página en papel sin JavaScript habilitado, por lo que cada vez que alguien imprimía una página, salía completamente sin estilo. Incluso si su aplicación utiliza grandes cantidades de JavaScript como el nuestro, si desea admitir la impresión, debe compilar el servidor o proporcionar CSS estático.
La solución que funcionó mejor para nosotros fue ejecutar node.js para compilar LESS del lado del servidor sobre la marcha en entornos de desarrollo, y luego precompilarlo en un solo archivo cz gzip al implementar el sitio en producción.
La precompilación también reduce el número de solicitudes individuales de archivo realizadas por el cliente de docenas por página en nuestro caso (una por cada archivo LESS) a solo un archivo CSS y hace que la carga sea más rápida al evitar el paso de compilación (que less.js del lado del cliente tiene que ejecutarse cada vez que se navega una página nueva antes de que la página pueda comenzar a renderizarse.)
No recomendaría compilarlo en el servidor en un entorno de producción real, porque eso agregará mucha carga de procesador innecesaria. Si lo compila con anticipación, no consumirá más recursos del servidor que un único archivo CSS común.
El navegador solo puede almacenar en caché los datos que recibe del servidor. Esto no incluye incluyen el CSS compilado en el navegador desde menos (mecanismos de almacenamiento local HTML5 a un lado). Esto significa que el navegador debería compilar menos archivos en CSS cada vez que se carguen, incluso si el menor archivo se carga desde el caché del navegador en lugar de desde el servidor.
- 1. Ruby: del lado del cliente o del lado del servidor?
- 2. Web Charting, lado del servidor o del lado del cliente?
- 3. Método del lado del servidor y del lado del cliente
- 4. Paginación: ¿lado del servidor o lado del cliente?
- 5. selectores css del lado del servidor
- 6. Validación de entrada de usuario, del lado del cliente o del lado del servidor? [PHP/JS]
- 7. ¿Del lado del servidor o del lado del cliente para buscar tweets?
- 8. ¿Debo hacer solicitudes de API del lado del servidor o del lado del cliente?
- 9. lado del servidor MVC + lado del cliente MVC
- 10. Sesiones del lado del cliente
- 11. jqgrid clasificación del lado del cliente con paginación del lado del servidor - los datos desaparecen
- 12. Idiomas del lado del cliente
- 13. ¿Cuándo usar el lado del cliente o del lado del servidor?
- 14. Análisis del lado del servidor
- 15. Plantillas del lado del servidor, plantillas del lado del cliente - ¿Conversión automática?
- 16. ¿Cómo usar las reglas de validación tanto del lado del cliente como del lado del servidor?
- 17. Crear validación combinada del lado del cliente y del lado del servidor en Symfony2
- 18. librería javascript para el almacenamiento del lado del cliente con la sincronización del lado del servidor
- 19. ¿Qué tan rápido es javascript del lado del cliente contra Java del lado del servidor?
- 20. CSS en el lado del servidor?
- 21. Comprobación del lado del servidor frente al lado del agente
- 22. Lenguajes del lado del cliente fuertemente tipados?
- 23. Cookies solo del lado del cliente
- 24. ASP.NET validador propio lado del cliente y la validación del lado del servidor no disparar
- 25. caché de archivos del lado del cliente
- 26. Paginación del lado del cliente con jqGrid
- 27. DDD y validación del lado del cliente
- 28. Lado del cliente + plantillas del lado del servidor, me parece mal, ¿cómo optimizar?
- 29. ¿La mejor manera de proporcionar gráficos en la web? ¿Biblioteca del lado del servidor o del lado del cliente? HTML5?
- 30. Integrar Validación del lado del cliente
gracias, solo para confirmar que he entendido ... esto significa en el lado del cliente, cada vez que se carga una página, menos se procesa. en el lado del servidor, menos se procesa solo para la primera página que se carga y luego se almacena en caché y no se procesa de nuevo? –
Sí, en el lado del cliente debe compilarse cada vez que se visualiza una página. Si tiene una buena implementación en el lado del servidor, almacenará en caché el CSS compilado y lo publicará hasta que cambien sus archivos fuente LESS. Pero a menos que planee cambiar las hojas de estilo sobre la marcha, puede compilar su LESS por adelantado con la misma facilidad con que lo despliega en producción, guardándolo como un archivo CSS plano al que se hace referencia directamente desde su HTML. Eso evitará que node.js siquiera tenga que ejecutarse y es, de lejos, la forma más eficiente de servir LESS. –
También: es mejor compilar CSS una vez como parte de una secuencia de comandos de implementación que contar con la compilación que funciona automáticamente por el servidor. – mlissner