search El medio de comunicación que reinventa la empresa

Desarrollo web en 2018: ¿servidor o cliente?

Desarrollo web en 2018: ¿servidor o cliente?

Por Fabien Paupier

El 23 de abril de 2025

El desarrollo web ha experimentado sucesivas revoluciones desde la creación de Internet, principalmente debido a los nuevos usos que ofrecen las plataformas innovadoras que explotan las últimas tecnologías disponibles. Desde la década de 2000, la proporción de desarrollo del lado del cliente y del lado del servidor se ha inclinado cíclicamente a favor de uno u otro. Hemos elaborado esta comparativa de frameworks con el fin de comprender esta evolución para poder mirar hacia los próximos años y tomar las decisiones tecnológicas adecuadas.

Evolución del desarrollo cliente-servidor a lo largo de los años

  1. Antes de 2000: Web 1.0. Los ordenadores personales no eran muy potentes y los usos consistían principalmente en leer páginas HTML y comunicarse por correo electrónico y chat. El desarrollo era principalmente del lado del servidor.
    Usos: lectura, navegación y correo electrónico
    Sitios web: Yahoo, Lycos, Hotmail, Caramail
  2. 2000 - 2010: Web 2.0. Los terminales fijos y móviles son cada vez más potentes. Los navegadores web son capaces de ejecutar aplicaciones SaaS con un alto nivel de interactividad. Esto marca el desarrollo de los frameworks JavaScript del lado del cliente.
    Usos: chats instantáneos, videoconferencias, movilidad, intercambio de fotos y vídeos, software en línea, etc.
    Sitios web: Facebook, Twitter, Salesforce, Airbnb
  3. 2010 - 2020: Web 2.0 enriquecida: La enorme cantidad de datos recogidos de los usuarios de aplicaciones web da lugar a un reprocesamiento masivo de estos datos para alimentar algoritmos. La potencia de cálculo necesaria para este reprocesamiento sólo puede proporcionarse en el lado del servidor.
    Usos: retargeting publicitario, recomendación de productos, asistencia, búsqueda por voz, etc.
    Plataformas: Criteo, Amazon, Google Home, Siri

¿Y después de 2020? Parece que nos dirigimos hacia la Web 3.0 o Web Inteligente. Gracias a la masa de datos que recogen los terminales tradicionales y los objetos conectados, estamos entrando en la era de la asistencia: ya no buscamos cosas, sino que nos recomiendan todo tipo de productos y servicios. Más concretamente, los servicios web pronto podrán recomendarnos cosas que no se nos ocurrirían y asistirnos como lo haría un humano con un gran bagaje de conocimientos... sobre todos los temas. Desde este punto de vista, el tratamiento de la información del lado del servidor es inmenso. El front end (cliente) conserva su papel actual de captura y recuperación de información.

El papel de los marcos de desarrollo en la construcción de la Web

Dada la magnitud del desarrollo necesario para diseñar una aplicación Web moderna, es esencial disponer de un marco de trabajo.

Framework: definición

Un framework es un marco que permite a los desarrolladores estructurar su trabajo utilizando un conjunto de herramientas, una estructura y modelos listos para usar. Existen frameworks de desarrollo para todo: creación de sitios de comercio electrónico, aplicaciones móviles, aplicaciones web (SaaS), etc.

Los mejores frameworks de desarrollo web de 2017

  • Django: Django es un framework backend de código abierto desarrollado en Python. Fue creado especialmente para construir sitios web potentes y de alto nivel. Aquí tienes algunos sitios realizados con el framework Django. Ejemplos de sitios de usuarios :
    • liberation.fr
    • instagram.com
    • openstack.org
    • mozilla.org
  • AngularJs: AngularJs es un framework Open Source desarrollado por Google en JavaScript. Ofrece un alto nivel de interactividad que es particularmente apreciado en el desarrollo Front End de aplicaciones Web (SaaS, comparadores, plataformas interactivas). Ejemplos de sitios de usuarios :
    • netflix.com
    • upwork.com
    • Youtube en PS3
    • weather.com
  • React: React está creado y mantenido por Facebook. React no es un framework completo como los dos anteriores. Sólo proporciona vistas y funciones callback para renderizar código HTML. Ejemplos de sitios de usuarios:
    • facebook.com
    • instagram.com (que también utiliza Django para el lado del servidor)
    • 6play
    • Airbnb (que también utiliza Ruby on Rails)
  • Ruby on Rails (RoR): RoR es el framework MVC libre más popular. Este framework fue diseñado para desarrollar aplicaciones Web más rápidamente. Permite a los desarrolladores crear funcionalidades con menos código que otros frameworks. Ejemplos de sitios de usuarios:
    • shopify.com
    • slideshare.com
    • github.com

Django, AngularJs, React, RoR: ¿cuál es la diferencia?

La siguiente curva muestra la evolución del número de temas abiertos en Stack Overflow desde la creación de la plataforma sobre los 4 Frameworks Django, Angular, React y Ruby on Rails :


Podemos ver inmediatamente que Django ha sido una tecnología persistente desde 2010 y que se ha ganado la confianza de los desarrolladores. También se ha producido un aumento de los intercambios sobre este framework desde 2014. Es probable que esta tendencia continúe. Los frameworks JavaScript literalmente explotaron en 2013. Deberían mantenerse en niveles altos, siempre que los nuevos usos no alteren el carro de la manzana. Por último, Ruby on Rails tuvo su apogeo, pero está en declive gradual desde 2011.

Ventajas e inconvenientes de estos frameworks

He aquí los puntos clave de estos frameworks de desarrollo:

Ventajas Desventajas
Django
  • Framework full-stack (es muy fácil combinar Django y React o Django y Angular)
  • Llave en mano: plantillas, lado servidor, panel de administración para configurar un sitio sin codificar
  • Ideal para crear un sitio web potente
  • Uso del Modelo-Plantilla-Vista
  • Uso del Object Relational Mapper (ORM) para mapear objetos a la base de datos
  • Soporta MySQL, PostgreSQL, SQLite, Oracle, SQL Server, DB2 y otros con controladores adicionales
  • Fácil migración nativa entre motores de bases de datos (no requiere reescritura)
  • Se suministra con su propio servidor de desarrollo
  • Muy estructurado, incluso demasiado para los expertos que desean más flexibilidad
  • Grandes estructuras de código, incluso para funciones pequeñas
  • AngularJS
  • Ideal para aplicaciones de una sola página y aplicaciones móviles
  • Uso del modelo MVC
  • Uso de componentes que definen el aspecto de la página (qué, cómo, dónde)
  • Todos los componentes se pueden enlazar entre sí
  • Poca o ninguna compatibilidad con los motores de búsqueda (incluso Google). Necesitas una herramienta de terceros como Prerender
  • No es un framework full-stack como Django
  • No hay migración entre Angular 4 y Angular 1
  • React
  • Potente herramienta para el desarrollo front-end (cliente)
  • Ideal para aplicaciones de una sola página y para crear aplicaciones móviles de forma nativa
  • Vuelve a renderizar partes del contenido que han cambiado en lugar de volver a renderizar una página entera (más rápido)
  • Uso de un DOM virtual junto al real
  • Todo se crea utilizando componentes
  • React no puede considerarse un framework en sí mismo. Necesita complementarse con muchas otras tecnologías
  • Es muy difícil integrar diseños complejos creados en Photoshop o Sketch en archivos JSX. Los diseñadores de UX sufren esta complejidad.
  • Escasa compatibilidad con SEO. Sin embargo, es posible utilizar isomorfismo: el renderizado de la página puede calcularse tanto en el lado del servidor como en el lado del cliente).
  • Ruby on Rails
  • Menos código para la misma funcionalidad (desarrollo rápido)
  • Menos configuración, más convención
  • Uso del concepto MVC
  • Compatible con la mayoría de bases de datos relacionales y no relacionales
  • Poca configuración, más convención (esto también es una desventaja para algunos)
  • El nivel de conocimientos necesarios para empezar es una barrera de entrada para los principiantes
  • Ruby requiere mayores recursos de servidor que los frameworks Django y PHP.
  • Tecnología en declive

Consejo: déjese asesorar por un profesional
Para empezar un proyecto Django, consulte a un experto como Pilot Systems, que podrá orientarle hacia el servicio adecuado: arquitectura, soporte, desarrollo a precio fijo o control remoto.

Ventajas y desventajas del desarrollo orientado al cliente

El desarrollo web orientado al cliente ofrece una serie de ventajas. En 2017-2018, podemos decir fácilmente que la mayoría de los esfuerzos de desarrollo están orientados al front-end por las siguientes razones:

  • Gran parte del negocio hoy en día es del lado del cliente: navegación, intercambio de datos, comunicación por vídeo, etc. Los sitios web se han convertido en plataformas en las que prima el uso, porque fideliza al usuario y, por tanto, capta muchos datos.
  • El desarrollo front-end ofrece una gran interactividad, de ahí la explosión de los frameworks JavaScript.
  • El desarrollo front-end permite utilizar el mismo lenguaje (JavaScript) tanto en la Web como en dispositivos móviles. Esto significa un mejor rendimiento y una menor exigencia al servidor (siempre que el terminal sea reciente).
  • Al trasladar la actividad al lado del cliente, se puede aprovechar la potencia de los navegadores web y los terminales modernos para ofrecer rápidamente información al usuario. Al evitar los intercambios con el servidor, puede ser más rápido;
  • Las tecnologías JavaScript evolucionan rápidamente. Esto significa que hay muchas posibilidades en cuanto a funcionalidades y muchos desarrolladores para implementarlas. Una tecnología en declive dificulta la contratación de estos perfiles.
  • Los navegadores son cada vez más sofisticados (Chrome ejecuta JavaScript especialmente bien, al igual que las últimas versiones de Firefox y Edge). Están diseñados para aplicaciones web y SaaS.

Por otro lado, hay que tener en cuenta algunas desventajas en el desarrollo de clientes:

  • El desarrollo front-end está fuertemente limitado por muchos factores externos que no se pueden controlar: disponibilidad de la conexión a Internet, plugins del navegador, heterogeneidad de los navegadores, heterogeneidad de la potencia de los terminales, etc. Por lo tanto, es difícil confiar en el cliente. Tanto más cuanto que un usuario experimentado puede encontrar fácilmente la manera de burlar la seguridad del front-end.
  • Las tecnologías orientadas al cliente tienen una vida corta, como vimos anteriormente con los frameworks JavaScript frente a Django. Ser "bueno en el front-end" requiere formación y un seguimiento regular. También lleva tiempo eliminar y reconstruir un legado con tecnología más moderna.
  • Los frameworks JavaScript son difícilmente compatibles con SEO. Tienen que estar respaldados por soluciones de terceros que no son más que patas de palo frente a sitios Django o Wordpress.
  • El desarrollo front-end es más complejo y, por tanto, más caro.

Ventajas e inconvenientes del desarrollo del lado del servidor

El desarrollo del lado del servidor ofrece una mayor simplicidad y estandarización:

  • La centralización de la actividad en el servidor permite estandarizar el desarrollo. Esto es especialmente cierto cuando existen varios frentes (aplicación web, aplicación móvil, software offline, etc.).
  • Trasladar la inteligencia al lado del servidor suele traducirse en un front-end HTML más sencillo, que los robots de Google rastrean mejor. Así que es una buena apuesta SEO.
  • Sobre todo, el desarrollo de servidores debe aprovechar al máximo las posibilidades que ofrecen las API (servicios web). Debe permitir que una aplicación Web se interconecte fácilmente con otras aplicaciones Web con total seguridad.
  • El intercambio de datos entre aplicaciones es una tendencia importante. Permite concentrarse en las funcionalidades esenciales y mejorarlas con servicios de terceros.
  • El desarrollo del lado del servidor permite explotar las infinitas posibilidades en materia de tratamiento y reprocesamiento de datos, gracias a los inmensos volúmenes de almacenamiento y a la potencia de cálculo de los centros de datos, combinados con algoritmos y programas informáticos de vanguardia.

Estos son los inconvenientes del desarrollo web centrado principalmente en el Back-End:

  • En 2017-2018, cada vez hay menos negocio en el lado del servidor y más en el lado del cliente gracias a JavaScript y a los navegadores modernos. Sin embargo, esta tendencia podría invertirse con los sistemas de Inteligencia Artificial que requerirán menos interacción con el usuario (aparte de la captura de voz).
  • El intercambio de datos entre cliente y servidor tiende a ralentizar la experiencia del usuario. Sin embargo, los usuarios finales están acostumbrados a experiencias rápidas en cualquier circunstancia, y sus expectativas son muy altas.

Conclusión

Hemos visto en este artículo que la evolución del desarrollo web del lado del cliente en relación con el desarrollo web del lado del servidor no es fija, sino cíclica. De hecho, es posible que los desarrollos del lado del servidor recuperen importancia gracias a la Web 3.0, el API rest y la IA, aunque las plataformas seguirán utilizando frameworks JavaScript para su interactividad. Para seguir el ritmo de los desarrollos en la Web, necesita una solución duradera y flexible como Django o una combinación de Java y Angular, de modo que pueda ajustar sus desarrollos sin encontrarse en un costoso callejón sin salida.

Artículo traducido del francés