¿Es mejor tener un servicio de back-end que envíe json y use un marco del lado del cliente como AngularJS (o) tenga una aplicación web completa en el back-end que sirva HTML con JavaScript mínimo?

Al elegir entre la representación del lado del cliente y la representación del lado del servidor, debe comprender sus ventajas y desventajas. Dado que está solicitando problemas de rendimiento, al elegir la representación del lado del cliente no tiene el control sobre el rendimiento. Esto se debe a que el rendimiento depende del dispositivo del cliente y de las capacidades del navegador. Pero para la representación del lado del servidor, usted tiene el control total sobre el servidor y puede escalar según sus necesidades.

Estamos utilizando la representación del lado del cliente para nuestra aplicación web móvil Chorusplay. la nuestra es una aplicación de página única principalmente para dispositivos móviles, utilizamos JQuery mobile para procesar HTML a partir de la respuesta JSON

Problemas que enfrentamos con el renderizado del lado del cliente.

Rendimiento del dispositivo: la mayoría de nuestros usuarios tienen teléfonos inteligentes de gama media y el procesamiento en esos teléfonos fue lento.

Fragmentación del navegador móvil: a diferencia de los navegadores de escritorio, en los dispositivos móviles hay muchos fabricantes diferentes y muchas implementaciones de navegador diferentes causan pesadillas en las pruebas y la depuración

Problemas de dominio cruzado: dado que estamos consumiendo datos a través de API, enfrentamos muchos problemas de dominio cruzado. Muchos navegadores móviles no podían manejar solicitudes de dominio cruzado. Tuvimos que hacer algunos trucos para resolver esto.

Visibilidad del contenido: el contenido no es visible para los motores de búsqueda como Google. Esto afectará el SEO y el tráfico orgánico. (Especificaciones de Google para resolver esto).

Renderizado híbrido

Hay algunos marcos nuevos como Rendr y Ezel que aprovechan el renderizado tanto del lado del cliente como del lado del servidor. No han madurado lo suficiente, pero eche un vistazo.

Haga su tarea bien antes de elegir el lado del cliente o del servidor. Ambos tienen sus propios contras y pros. Elija uno que sea adecuado para su uso.

Servir respuestas JSON sería mucho mejor que solo escupir HTML tonto. Atrás quedaron aquellos días en que el procesamiento solía ocurrir en el lado del servidor.

Convino en que la carga angular es una sobrecarga, pero también piense en las numerosas respuestas HTML que su servidor tiene que procesar en lugar de JSON de tamaño de byte. Puede acelerar el sitio utilizando un CDN (cdnjs, Google CDN)

Ahorrará mucho en ancho de banda y no veo ninguna degradación del rendimiento al usar un marco del lado del cliente. La mayoría de los sistemas son lo suficientemente capaces de ejecutar aplicaciones pesadas de JavaScript en el navegador.

Los navegadores de hoy son lo suficientemente rápidos y potentes como para manejar aplicaciones pesadas. En una aplicación web típica, el servidor debe manejar tareas relacionadas solo con la manipulación y autenticación de la base de datos, el resto puede ser atendido de manera muy eficiente por el lado del cliente utilizando AngularJS o cualquier otro marco de JavaScript.

More Interesting

¿Las aplicaciones web progresivas reducirán los ingresos de la tienda de aplicaciones? ¿Los fabricantes de sistemas operativos móviles lo admitirán a largo plazo?

¿Qué sitios de aplicaciones de Andorid ofrecen la mejor aplicación?

¿Cómo se construye una tienda de aplicaciones? ¿Cuál es la tecnología requerida y qué startups están haciendo cosas emocionantes en este espacio?

¿Cuál es la diferencia entre la web (aplicaciones web, web móvil) y las aplicaciones nativas?

¿Las aplicaciones usan más datos que el navegador web?

¿Cuál es la mejor plataforma de nube de IoT que admite aplicaciones web y móviles?

¿Cuáles son las mejores aplicaciones móviles o web para personas ciegas (con discapacidad visual)?

¿Es mejor mantener nuestra filosofía y hacer que nuestra aplicación de Android se parezca a su aplicación web, y familiarizar al usuario con la aplicación al instante, o es mejor estar de acuerdo con Google e ir material, incluso si se ve muy diferente de la web?

¿Qué acuerdos debe tener un desarrollador externo al firmar su aplicación, como incluir un NDA y una asignación de todos los derechos de su trabajo, incluido el código y las ideas en el proyecto para mí como la persona que contrata?

¿Es un sitio web una aplicación?

Cómo desarrollar un tono aceptable para una idea web / aplicación si no soy un programador

Como desarrollador de aplicaciones web, ¿podemos controlar la velocidad con la que se carga nuestra aplicación web?

¿Me pueden ayudar a entender qué es exactamente la Keynotopia?

¿Cuáles son los patrones de identidad, autenticación y autorización más frecuentes para aplicaciones móviles que se integran con una API del lado del servidor?

¿Se puede crear una aplicación web sin usar funciones?