Inicio » 2025 » septiembre

Archivos mensuales: septiembre 2025

¿Tus algoritmos no encajan? FastAPI y Python pueden ser la solución

Por Jesús María Díez Gómez

En el mundo actual, gran cantidad de servicios web utilizan algoritmos para algo, como recomendaciones de series nuevas o una persona en común en Instagram. Estos algoritmos pueden volverse muy complejos y, a veces, tienen que adaptarse al lenguaje de la plataforma. ¿Pueden integrarse, actualizarse y mantenerse sin afectar a lo demás? Aquí entran en juego Python y FastAPI, dos herramientas para diseñar algoritmos basados en modularidad. Con esto se logran algoritmos más eficientes y veloces, pero… ¿cómo funciona esto?

¿Qué es exactamente la “modularidad”?

Para entender esto, vamos a utilizar un juguete que todos hemos tenido: los LEGO. La modularidad o funcionalidad modular en programación es como dividir un algoritmo en diferentes piezas, llamadas módulos, que pueden hacer diferentes tareas.

Si nuestro algoritmo es para una aplicación del tiempo, una pieza puede calcular la temperatura media, otra limpiar los datos y otra predecir si es mejor que cojas un paraguas mañana.

Al estar todo separado, podemos cambiar esa pieza, actualizar la otra, añadir una nueva y más sin que sea necesario tocar todo el algoritmo. ¿Imaginas tener que tirar toda una pared de ladrillos porque la ventana está mal colocada? Exacto.

Pero no nos desviemos del tema. ¿Cómo ayuda Python y FastAPI a esto? Vamos a verlo.

FastAPI: Conectar tus módulos con el mundo

FastAPI es similar a un sistema de correos. Tu aplicación o web envía una petición a otra aplicación o web para pedir información (datos del clima, por ejemplo). FastAPI envía esa petición y, cuando la aceptan, recibe la respuesta y la pasa a tu estructura de módulos para que sea usada.

Ahora, esto es lo que generalmente hacen las APIs, pero FastAPI, como puede deducirse del nombre, es más rápida que otras gracias a como está configurada para esperar estos pares petición/respuesta.

Así no es necesario que tu algoritmo esté en ambas aplicaciones, lo cual implicaría hacer muchos cambios, ajustes, mantenimiento, etc. ¡Además habría que cambiar dos veces lo mismo cada vez!

A estas alturas quizás te preguntes, ¿pero tener más piezas no implica más trabajo?

Comprobar que las piezas cumplen con su función

Efectivamente, separar todo en diferentes piezas significa más a lo que prestar atención. Si todo está en una pieza y se rompe, puede ser algo muy grave. Sí, que pase con varias piezas sigue siendo grave, pero tener varias también tiene su ventaja. Si todo está separado, también significa que es más fácil aislar y detectar errores. Además, se pueden probar las partes por separado, para ver que funcionan antes de añadirlas: ver que el módulo de cálculo realiza operaciones correctamente, que las predicciones son acertadas, que los datos se reciben y almacenan correctamente…

Entonces, ya hemos visto que FastAPI y la modularidad son de gran ayuda para los algoritmos, pero hay que asegurarse que todos los módulos puedan comunicarse entre sí.

El idioma común de los módulos: las interfaces

Las interfaces sirven como las reglas que permiten a los diferentes módulos comunicarse entre sí e intercambiar información para que el algoritmo funcione, aunque aquí un C1 en inglés no va a servir de mucho.

Lo importante es que todos los módulos se mantengan conectados bajo una sola interfaz común, de forma que, si se cambia algo del módulo o se actualiza, pueda seguir “hablando” con el resto sin que todo el algoritmo falle.

Esto es de gran utilidad si, por ejemplo, se trabaja en un equipo. Mientras tú editas el módulo de predicción, tu compañero puede hacer lo mismo con el de cálculo sin miedo a que todo el sistema de desmorone.

Veamos ahora cómo se aplican estos algoritmos en Python.

De la teoría al mundo real

Muchos de los algoritmos, como hemos dicho al comienzo, pueden ser extremadamente complejos y, aunque Python puede trabajar con ello facilmente, puede consumir mucho tiempo del desarrollo de la aplicación o web. Es mejor comenzar en alguna plataforma para desarrollo matemático, como MATLAB.

Con la estructura bien organizada y perfeccionada, podemos pasarlo a Python para su implementación e introducirlo en el módulo de FastAPI para conectarlo a otros dispositivos. Python y FastAPI transforman los cálculos de MATLAB en herramientas reales a las que puede acceder cualquier dispositivo con conexión.

Conclusiones: divide y vencerás

Muchas veces, los algoritmos se escriben con código directamente en la aplicación, haciéndola mucho más pesada y más tediosa de actualizar y mantener (volvemos al tener que actualizartodo). Al separar algoritmo y plataforma la actualización y mantenimiento son mucho más cómodos y simples.

Para esto, Python y FastAPI ofrecen un método no solo práctico, sino sencillo y accesible desde cualquier dispositivo. Puede parece algo de utilidad para web y aplicaciones grandes o de empresas, pero cualquiera que trabaje con algún tipo de algoritmo puede beneficiarse. Con Python y FastAPI puedes lograr más orden, más control y menos problemas.

¿Te interesaría hacerlo incluso más eficiente? Pues no te pierdas nuestro artículo sobre Docker y contenedores.

Fuentes consultadas

Definición de interfaz registrada en la RAE: https://dle.rae.es/interfaz

Artículo científico “Investigación sobre modelos algorítmicos en Python Fast API”, Junqiao Chen: https://bcpublication.org/index.php/FSE/article/view/5591/5434

Low-Code-No-Code: El futuro de la programación sin escribir código

Por Alma Estefanía Merino

¿Te imaginas desarrollar soluciones tecnológicas complejas o implementar algoritmos avanzados sin escribir una sola línea de código, usando simplemente interfaces visuales e intuitivas? Esta es la propuesta de Low-Code-No-Code (LCNC), una tendencia que está acercando la programación a quienes nunca pensaron que podrían programar. En esta entrada, exploraremos qué es exactamente esta revolución y cómo está permitiendo a investigadores, profesionales y cualquier persona con una idea aprovechar el poder de los algoritmos y la inteligencia artificial para transformar ideas en soluciones funcionales de manera rápida y visual, sin necesidad de escribir código manualmente.

¿El fin de la programación tradicional? Cómo está cambiando el juego

Al principio, programar era algo complejo, había que hablar a la máquina en su propio idioma. Era como construir una casa desde cero, ladrillo a ladrillo. Solo un pequeño grupo de expertos podía hacerlo. Con el tiempo, la cosa se fue simplificando. Empezamos a usar lenguajes que se parecían un poco más a cómo hablamos nosotros, pero aun así hacía falta aprender ese “nuevo idioma”.

Hoy en día, estamos presenciando una transformación impulsada por las plataformas LCNC, que permiten crear aplicaciones sin escribir una sola línea de código. ¿Cómo? A través de interfaces visuales fáciles de usar, donde basta con arrastrar y soltar bloques para crear aplicaciones. Es como montar un mueble de Ikea: tienes las piezas listas y solo necesitas seguir las instrucciones para montarlo, sin necesidad de ser un experto.

El CEO de GitHub, en 2017, predijo que “el futuro de la codificación es no codificar”. Esa visión se ha hecho realidad gracias a estas plataformas, que permiten crear soluciones digitales sin escribir código, abriendo el desarrollo de software a un público mucho más amplio.

El poder del “arrastrar y soltar”. ¿Qué es Exactamente LCNC?

El término LCNC, que significa Poco Código/Sin Código, hace referencia a la creación de soluciones tecnológicas con la mínima cantidad de código manual posible, o incluso sin escribir una sola línea. La clave de esta revolución es el “arrastrar y soltar” o “drag and drop”.

Imagina que deseas crear una aplicación o automatizar una tarea. En lugar de escribir instrucciones complejas en un lenguaje que solo entiende la máquina, LCNC te ofrece una interfaz visual en la que trabajas con bloques o piezas preconstruidas. Es como jugar al Lego digital: las piezas están listas para unirse y crear lo que quieras.

Esto significa que ya no es necesario ser un programador experto para hacer realidad tus ideas. LCNC permite que cualquier persona, con solo entender el proceso o problema que quiere resolver, pueda diseñar y crear aplicaciones o flujos de trabajo. Ha hecho que la creación de tecnología sea más rápida, accesible y con una inversión inicial mucho menor en comparación con los métodos tradicionales.

El otro lado de la moneda: desafíos y limitaciones del LCNC

A pesar de sus múltiples beneficios, las plataformas LCNC también presentan algunos desafíos y limitaciones que deben considerarse. Una de las principales es la dependencia del proveedor (“Vendor Lock-In”); si decides cambiar de plataforma, tendrás que rehacer todo el trabajo, ya que no se integran fácilmente entre sí. También falta flexibilidad, ya que los usuarios están limitados por lo que la plataforma permite hacer, y no pueden crear aplicaciones más personalizadas o móviles.

La mayoría de estas plataformas funcionan en la nube, lo que las hace inapropiadas para sistemas que necesitan trabajar con datos muy sensibles o que requieren funcionar sin conexión. Además, las aplicaciones que necesitan un rendimiento alto, como las que usan empresas grandes o sistemas críticos, pueden ser demasiado caras en estas plataformas. Por último, las suscripciones continuas pueden ser un gasto que algunas organizaciones no pueden permitirse.

¿Reemplazará el LCNC a los programadores?

A pesar de que LCNC está cambiando la forma en que creamos software, es poco probable que reemplace a los programadores. Las plataformas LCNC son ideales para proyectos más simples o específicos, pero las aplicaciones complejas, escalables o altamente personalizadas aún requieren el conocimiento y la experiencia de un programador. LCNC complementa el trabajo de los desarrolladores, permitiéndoles enfocarse en tareas más complejas, mientras que otros usuarios, con menos conocimientos técnicos, pueden crear soluciones funcionales por sí mismos. En lugar de reemplazar a los programadores, estas plataformas los hacen más eficientes y amplían las posibilidades de colaboración.

Ahora ya sabes que, si tienes una idea y quieres hacerla realidad sin escribir una sola línea de código, el futuro está a tu alcance. ¿Te animas a probarlo? ¡Explora estas plataformas y lleva tus ideas al siguiente nivel! Si ya has utilizado alguna, nos encantaría saber tu opinión.

¡Deja tu comentario y comparte tus experiencias!

Fuentes bibliográficas y referencias

Algorithms in Low-Code-No-Code for Research Applications: A Practical Review. Algorithms 2023, 16(2), 108; https://doi.org/10.3390/a16020108

Everything You Need to Know About Low-code VS No-code. Artem Arkhipov 2022; https://www.techmagic.co/blog/low-code-vs-no-code