Tecnologías de desarrollo web ¿Cuál utilizar en tu próximo proyecto y sus ventajas / desventajas?

Cuando decides renovar tu web se te plantean muchas cuestiones.

El objetivo principal es conseguir un mejor producto con mejores prestaciones, y en muchas ocasiones cambiar la tecnología de desarrollo es una opción.

Pero existen tantas alternativas en el mercado que ofrecen soluciones similares que es un reto evaluarlas correctamente.

Categorizar las opciones existentes puede suponer un reto es si mismo, pero si lo miramos desde un punto de vista general las podemos clasificar en:

  • Herramientas No-Code
  • CMS (Content Managemet System)
  • Frameworks de desarrollo
  • Soluciones híbridas

Vamos a definir cada una de estas categorías, destacar sus ventajas/desventajas y poner algunos ejemplos.

Al final te diré mis conclusiones y experiencia personal.

Herramientas No-Code

Con herramientas No-Code nos referimos a tecnología que te permiten crear una web / app de forma rápida y sin necesidad de conocimientos de programación.

Son muy populares por su facilidad de uso, habilitando a perfiles no técnicos la creación de productor digitales a un coste reducido.

Ventajas:

  • Ofrece herramientas de diseño visual para crear tu web/app sin necesidad de programar y su curva de aprendizaje suele ser suave.
  • La mayoría de soluciones ofrecen hosting y su coste de mantenimiento es mínimo.
  • Permite que un usuario con conocimientos mínimos pueda editar su contenido.
  • Gran cantidad de profesionales disponibles para su contratación.

Desventajas:

  • Las funcionalidades que no están predefinidas pueden ser complejas de implementar.
  • Sistemas complejos son difíciles de desarrollar, escalar y mantener.
  • La integración con otros sistemas suele ser compleja.
  • Las acciones disponibles para optimizar su rendimiento son limitadas o inexistentes.

Ejemplos:

Algunos de los ejemplos más famosos son WebFlow para diseño web, Shopify para ecommerce y AppGyver o Glide para Apps.

CMS o gestores de contenido

Un CMS es un sistema de gestión de contenidos que ofrece funcionalidades predefinidas para permitir a usuarios crear y gestionar el contenido que se muestra en una web.

La mayoría de opciones en el mercado no solo ofrecen la interface para gestionar contenidos, sino que habilitan temas para mostrar al usuario final el contenido.

Ventajas:

  • La mayoría de opciones existentes son “Open Source” congregando a una gran comunidad de usuarios a su alrededor.
  • Gran cantidad de productos desarrollados (plugins) para añadir funcionalidades fácilmente.
  • Son una de las forma más eficientes y populares de gestionar el contenido de una web / app.
  • Ofrecen las principales funcionalidades necesarias para gestionar una web.
  • Una configuración básica se puede instalar sin apenas conocimiento técnicos.
  • Existen muchos profesionales en el mercado, pero el coste de contratación puede ser elevado para perfiles senior.

Desventajas:

  • Se necesitan conocimientos técnicos para su personalización.
  • Sistemas complejos pueden ser difíciles de escalar.
  • Se basan en estructuras rígidas que dificultan la optimización y personalización de funciones.

Ejemplos:

En esta categoría existen una gran variedad de opciones. Entre los más versátiles podemos incluir WordPress y Drupal.

WordPress sería el más extendido por su versatilidad y usabilidad, pero optimizar su rendimiento puede ser un reto.

Drupal es otra opción muy versátil que ofrece un rendimiento elevado, pero aumenta en gran medida su complejidad.

Dentro del Ecommerce destacan PrestaShop y Magento. Ambos ofrecen un gran rendimiento, pero Magento está más enfocado al sector enterprise.

Existen otras opciones como Strapi dentro de los CMS Javascript, pero no se podría comparar con el resto al no ofrecer una solución “full stack” (Front y Back End).

Framework de desarrollo

Los frameworks de desarrollo son esquemas de trabajo con normas y funciones predefinidas que te ayudan a programar más ágilmente y de un modo más estandarizado.

Se diferencia entre ellos por el lenguaje de programación y patrones de desarrollo que implementan, pero no ofrecen ninguna interface visual para su desarrollo.

Ventajas:

  • No existen ninguna barrera para crear cualquier tipo de solución.
  • Permite crear sistemas complejos y escalables.
  • Habilita la integración con cualquier sistema.
  • Posibilita optimizar su rendimiento de múltiples formas, permitiendo crear aplicaciones a cualquier nivel.

Desventajas:

  • Su curva de aprendizaje es muy pronunciada. Primero se debe dominar el lenguaje de programación, buenas prácticas de desarrollo y el framework en si mismo.
  • Profesionales en el mercado muy demandados, suponiendo un coste elevado.
  • No incluyen funcionalidades por defecto, exigiendo una elevada inversión en su desarrollo.

Ejemplos:

Dentro de esta categoría se pueden dividir entre frameworks frontend, backend y fullstack.

Como frameworks Frontend los más populares son React, Vue.js y Angular. Todos ellos Javascript.

Dentro de la categoría Backend existen más variedad, pero los más populares por tecnología son Node.js (Javascript), Ruby (Ruby), Laravel (PHP) y Django (Python).

Como frameworks que ofrecen una solución integral de desarrollo tenemos Laravel y Ruby on Rayls.

Soluciones híbridas

Como su nombre indica, en esta categoría se encuentran las soluciones que combinan tecnologías de distintas categorías. Creando opciones que se adapten a las necesidades de empresas que se encuentra en un punto intermedio.

Ventajas:

  • Aprovecha los beneficios de varias tecnologías permitiendo aumentar su valor.

Desventajas:

  • Combinar varias tecnologías aumenta su complejidad
  • Aunque muchas desventajas se anulen, otras se heredan de cada una de las tecnologías

Ejemplos:

Algunas de las combinaciones más frecuentes son:

  • WordPress + Laravel
  • React + WordPress
  • Express + Shopify

Conclusión

Como comentamos al inicio, la decisión es compleja. Dependiendo de las características de tu negocio y la ambición de tus objetivos saldrá la opción ganadora.

Todas las alternativas tienen sus ventajas y desventajas. Para sopesarlas te recomiendo que tomes una perspectiva a medio/largo plazo para elegir la solución que se adapte a lo que necesitas hoy, pero que te permita alcanzar tus objetivos futuros.

Puede ser igual de negativo invertir en una solución poco escalable y económica, que desarrollar un producto digital de alto rendimiento que limite tu agilidad por falta de presupuesto.

Juan Núñez Blaco

Diseñador y Desarrollador Web Full Stack