ventajas que historia funciona español ejemplos desventajas como caracteristicas javascript pagination client-side server-side

javascript - historia - que es php



Paginación: ¿lado del servidor o lado del cliente? (8)

¿Quiere decir que su JavaScript tiene todos los datos en la memoria y muestra una página por vez? ¿O que descarga cada página del servidor como se necesita, usando AJAX?

Si es el último, también puede necesitar pensar en clasificar. Si ordena usando JavaScript, solo podrá ordenar una página a la vez, lo cual no tiene mucho sentido. Entonces su clasificación debe hacerse en el servidor.

¿Qué es mejor manejar la paginación? ¿Servidor o hacerlo dinámicamente con javascript?

Estoy trabajando en un proyecto que pesa mucho en el ajax y extrae datos dinámicamente, así que he estado trabajando en un sistema de paginación javascript que usa el dom, pero estoy empezando a pensar que sería mejor manejarlo todo. lado del servidor.

¿Cuáles son los pensamientos de todos?


En un mundo práctico de límites, enviaría una página del lado del servidor para conservar todos los recursos asociados con el envío de los datos. Además, el servidor necesita protegerse de un cliente malicioso / que no funciona y solicita una página ENORME.

Una vez que ese código esté alegremente, agregaré "inteligencia" al cliente para obtener la página "siguiente" y "anterior" y lo mantendré en la memoria. Cuando el usuario vaya a la página siguiente, actualice su caché.

Si el software del cliente realiza este tipo de almacenamiento en caché de páginas, considere qué tan rápido envejecen sus datos (es probable que cambie) y si debe verificar que su página de datos en caché todavía sea válida. Tal vez vuelva a solicitarlo si envejece más de 2 minutos. Tal vez tenga una bandera "sucia". Algo como eso. Espero que esto te sea útil. :)


Hacerlo en el lado del cliente hará que el usuario descargue todos los datos al principio, lo que podría no ser necesario, y eliminará el beneficio principal de la paginación.

La mejor manera de hacerlo para este tipo de aplicaciones AJAX es hacer que AJAX llame al servidor para la próxima página y agregar la actualización de la página actual utilizando el script del lado del cliente.


Incluso con pequeños tamaños de datos, la mejor opción sería la paginación del lado del servidor. No tendrá que preocuparse más adelante si su aplicación web se amplía más.

Y para tamaños de datos más grandes, la respuesta es obvia.


La respuesta correcta depende de sus prioridades y del tamaño del conjunto de datos que se va a paginar.

La paginación del lado del servidor es la mejor para:

  • Gran conjunto de datos
  • Carga de página inicial más rápida
  • Accesibilidad para aquellos que no ejecutan javascript

La paginación del lado del cliente es la mejor para:

  • Pequeño conjunto de datos
  • Cargas de página posteriores más rápidas

Por lo tanto, si realiza una paginación principalmente por razones estéticas, tiene más sentido manejar su lado del cliente. Y si está paginating para reducir el tiempo de carga inicial, el lado del servidor es la opción obvia.

Por supuesto, la ventaja del lado del cliente en los tiempos de carga de la página subsiguiente disminuye si utiliza Ajax para cargar las páginas siguientes.


Prefiero la paginación del lado del servidor. Sin embargo, al implementarlo, debe asegurarse de que está optimizando su SQL correctamente. Por ejemplo, creo en MySQL, si usas la opción LIMIT no usa el índice, entonces necesitas reescribir tu sql para usar el índice correctamente.

G-Man


Servidor: envíe al cliente el contenido suficiente para la vista actual.


Si tiene páginas grandes y una gran cantidad de páginas, es mejor que solicite páginas en fragmentos del servidor a través de AJAX. Deje que el servidor haga la paginación, en función de su URL de solicitud.

También puede buscar previamente las siguientes páginas que el usuario probablemente verá para hacer que la interfaz parezca más receptiva.

Si solo hay unas pocas páginas, agárrelo todo por adelantado y paginar al cliente puede ser una mejor opción.