Glosario Back-end
El desarrollo back-end es una de las etapas esenciales en la ingeniería de software. Si equiparamos la creación de la estructura de un programa a una cebolla, la parte backend englobaría las capas que envuelven el núcleo. El usuario no la ve, pero es fundamental para que el proyecto funcione correctamente.
Para entender esta fase del desarrollo, es necesario tener claros algunos conceptos básicos de la programación. Por ello, hemos creado este glosario back-end, un catálogo de palabras clave para asimilar sus fundamentos.
Arquitectura de software
La arquitectura de software es la disciplina que denota el conjunto de estructuras y fases fundamentales para el desarrollo de un programa. El término es una metáfora a la arquitectura propiamente dicha, esto es, el diseño y construcción de espacios y edificios. De acuerdo con esta analogía, la arquitectura de software engloba los elementos y abstracciones necesarias para construir el sistema formal de un programa informático. El desarrollo back-end es una de las capas que componen este proceso arquitectural.
API (Application programming interface)
Una API, o interfaz de programación de aplicaciones, es una herramienta del desarrollo que permite conectar ordenadores o programas entre sí para el intercambio de información. Se refiere tanto al estándar que posibilita la comunicación entre diferentes fragmentos de software como su implementación en un sistema informático. Existen varios tipos de APIs con diferentes utilidades como la librería de un software o las APIs que conectan las páginas a las bases de datos de la web. A menudo, son necesarios protocolos y especificaciones para su aplicación, como el uso del HTTP (Hypertext Transfer Protocol) en el caso del entorno web.
Desarrollador back-end
Un desarrollador back-end es aquel que tiene como objetivo desarrollar la capa back-end de una aplicación o sitio web, es decir, todo lo que el usuario no ve pero es necesario para el buen funcionamiento del programa. Su trabajo consiste en determinar la configuración y lógica del intercambio de datos de un software con el servidor.
Desarrollo back-end
El desarrollo back-end es la parte de la ingeniería de software que se ejecuta del lado del servidor, contrariamente al front-end que tiene lugar del lado del cliente. En esta capa de la arquitectura de software, se definen las estructuras y conexiones necesarias para que un programa funcione correctamente, incluyendo todo lo relativo al almacenamiento y administración de datos, la lógica funcional, el soporte…
Diseño de software
El diseño de software es el proceso de concepción y ejecución de un programa informático. Este suele estar compuesto por tres fases principales: la fase de concepción, en la que se definen las especificaciones y arquitectura; la fase de realización o desarrollo, en la se escribe y optimiza el código; y la fase de entrega al cliente final, que incluye la integración y validación de software así como su documentación y packaging.
OOP (Object-Oriented programming)
Las siglas OOP en inglés se refieren a la programación orientada a objetos, un paradigma de desarrollo que busca optimizar el proceso de trabajo de un proyecto. Para ello, convierte unidades de datos y código en objetos, que interactúan entre sí para el diseño de un programa informático. Python, JavaScript y C++ son algunos de los lenguajes de programación más conocidos que soportan este modelo.
Programación funcional
La programación funcional es un paradigma que hace uso de funciones matemáticas para el desarrollo de la estructura y elementos de un programa. Es un paradigma declarativo, es decir, pone de manifiesto la lógica formal del programa, en vez de describir explícitamente las estructuras de control como en la programación imperativa.
Script
El script o secuencia de comandos es el concepto que designa un programa informático sencillo. Estos suelen realizar tareas rutinarias y ejecutarse automáticamente, por lo que no necesitan compilarse habitualmente. Los lenguajes de programación con los que se desarrolla este tipo de código se denominan scripting languages.
Servidor web
Un servidor web es un programa, supeditado a un hardware, que intercambia información con una aplicación del lado del cliente. Haciendo uso de protocolos de red como el HTTP, el servidor recibe peticiones de datos por parte del agente de usuario y responde cediendo la información solicitada o, en su defecto, un mensaje de error.