Ver Mensaje Individual
  #4 (permalink)  
Antiguo 29/11/2015, 17:40
fbadiola
 
Fecha de Ingreso: octubre-2015
Ubicación: España
Mensajes: 21
Antigüedad: 8 años, 6 meses
Puntos: 6
Respuesta: ¿Es de mala practica trabajar con muchos archivos JS?

No, validar por ajax sólo un campo o cada campo si está vacío no.
Pero por supuesto debes validar del lado del servidor cuando vas a hacer un proceso con esa información, ya vayas a tratar esa información o almacenarla, siempre debes tener un control sobre tus datos. En JavaScript validar datos mejora la experiencia de usuario (UX) y mejoras la carga y red en tus servidores porque no obligas a hacer una petición más al servidor para cargar todo de nuevo!

Usar varios archivos .js, .css o imágenes puede hacer una carga pesada a tu servidor, date cuenta que por cada archivo JS, CSS o imagen es una nueva petición HTTP GET a tu servidor, esto no es importante si para tu aplicación sólo habrá un pequeño número de usuarios pero si vas a salir a entornos de producción masivos con miles de usuario deja de ser tan trivial y empieza a importar bastante. ¿Por qué? Porque usarías mucho ancho de banda y muchas peticiones.

Hay varios debates de que es mejor para esto y no voy a entrar en que es, o no, lo más adecuado pero hay varias opciones:
- Usar un CDN público para importar las librerías (véase Google CDN, jQuery CDN para librerías jQuery, Bootstrap CDN, Google Fonts para fuentes, etc...)
Ventaja: El tráfico va hacia otros servidores y no hacia el tuyo
Desventaja: Si cambia la ruta, el archivo, editan a otro update el archivo o se cae el servidor ¡estas jodido![/li]

- Optimizar tus archivos metiéndolo en un solo archivo (te evitas las cabeceras HTTP y su handshake que son varios bytes...)
Ventaja: Optimizas la carga lo máximo posible reduciendo así el mínimo de ancho de banda consumido. Disponibilidad de los archivos siempre que tu servicio esté disponible y no va a cambiar la versión a menos que tu lo hagas.
Desventaja: No es digamos una desventaja pero el tráfico sigue saliendo de tus servidores.[/li]

Mi opinión personal es mantenerlo en mi servidor o tener un cloud de servidores con un balanceador de carga y un servidor proxy que me cachee los archivos estáticos (puede ser propio o de terceros, como CloudFlare). Estos servidores pueden ser VPS con vCpu y RAM básicas (según tipo de ficheros, tipo servicios y número de peticiones, necesitarás más o menos características en tu máquina para soportar las peticiones entrantes de tu sitio) pero con alto ancho de banda y con buena conectividad (100-1000Mbps). Pero repito, es opinión personal.

El tema de AJAX hacia ficheros PHP, no es tan raro y no es una mala práctica pero siempre que se haga con una lógica absolutamente necesaria para no sobrecargar los recursos del sistema y con un control de peticiones.

Si sólo usa ficheros JS y tiene procesos en backend podrá estar usando WebSockets para backend (puede ser Socket.IO en Node.JS, como una aplicación en PHP,C#,C,C++,Java,Python,etc... corriendo bajo HTTP WebSockets y que haga toda la lógica)... Hay muchas posibilidades y para cada aplicación se requiere el uso de una tecnología u otra, a demás de que cada programador tiene sus metodologías de trabajo!!

Procura usar la cabeza y saber bien lo que haces para intentar optimizar tu código lo máximo posible así como minimizar el impacto sobre el hardware del servidor y el riesgo a un ataque, ¡Por supuesto!

Un saludo!!