Este concepto hace referencia a una especialización en la programación y como su nombre lo indica, back-end trae la idea del “detrás de escena” de las solicituides en una aplicación.
Debido a su complejidad, los sistemas fueron divididos en partes específicas en una aplicación. Por un lado, el front-end actúa con los elementos gráficos de un sitio o aplicación para la interacción del usuario (lado del cliente). Por otro lado, el desarrollo back-end, orientado por datos, opera del lado del servidor con funciones de la solución de software que los usuarios no ven.
Personas desarrolladoras de back-end manejan estructuras y algoritmos para implementación y exhibición de datos. En general, actúan como un puente entre el navegador y la base de datos. Ellas reciben los datos del front-end, procesan, aplican las reglas de negocio y persisten para la base de datos u otra API - servicios externos, además de garantizar un buen desempeño de la aplicación.
En el área de desarrollo, sobre todo cuando estamos iniciando en la programación, es común encontrarnos con múltiples conceptos interconectados, pero que aún causan desorden. Algunas veces confundimos lenguajes, frameworks, bibliotecas, entre otros. Para una mejor comprensión básica de los procesos, sigue una lista de los principales conceptos utilizados en el mundo back-end:
Término | Explicación |
---|---|
MVC | Patrón de arquitectura de software que sugiere una división de responsabilidades dentro de una aplicación. Model o Modelo: objeto de modelo de negocio responsable de la gestión de los datos por medio de las funciones, lógica y reglas de negocio establecidas. View o Visión: responsable de la comunicación con el usuario, muestra en la interfaz la información del modelo. Controller o Controlador: camada que intermedia las peticiones enviadas por la view con las respuestas provistas por la plantilla. |
API | Application Programming Interface o Interfaz de Programación de Aplicaciones. Las APIs son mecanismos que permiten la comunicación entre dos componentes de software a través de un conjunto de definiciones y protocolos (cliente - servidor). Su clasificación varía según su arquitectura y su alcance de uso: API privada, API pública, API de socios y API compuesta. Hay cuatro formas de funcionamiento: APIs SOAP, APIs RPC, APIs WebSocket e APIs REST. |
Base de Datos Relacionales | Almacenamiento de datos basado en tablas con filas horizontales y columnas verticales. Su principal característica es la necesidad de estructurar esquemas para la inserción de datos. Actúa con el lenguaje de programación estandarizado - Structured Query Language (SQL) para la manipulación y ejecución de consultas de datos. |
Base de Datos No-Relacionales | Almacenamiento de datos representados por colecciones de pares de valores clave (key-values). También conocidos como arrays asociativos formateados en colas. Se trata de un esquema dinámico de base de datos - NoSQL optimizado para los requisitos específicos del tipo de datos que se almacena. |
Frameworks | Estructura que involucra un conjunto de bibliotecas o componentes usados para crear una base donde la aplicación será construida. Proporciona reusabilidad y conexiones de líneas de código y provee funcionalidades que se adecuan a diversas aplicaciones. |
Bibliotecas | Colección de subprogramas con diversos propósitos para reducir el uso de código en el desarrollo de software. Permite compartir, cambiar código y datos de forma modular. |
Existen varios lenguajes de programación y desde el 2000 han surgido muchos otros, de hecho, es interesante conocer y comparar cada tecnología. Para una visión general, veamos a continuación los principales lenguajes de programación de back-end y sus características:
Término | Explicación |
---|---|
Java | Características: orientado a objetos, multiplataforma, portabilidad, mecanografía dinámica y estática. Herramientas adicionales: Spring, Grails, Blade, Dropwizard. Aplicaciones famosas: LinkedIn, Jenkins, Yahoo, NASA WorldWind. |
C# | Características: soporte multiplataforma, programación asíncrona, inyección de dependencia, protección CSRF. Herramientas adicionales: .NET, Xamarin. Aplicaciones famosas: GoDaddy, Marketwatch, Visual Studio. |
JavaScript | Características: scripts ligeros, escritura dinámica, programación orientada a objetos, amplio soporte de la comunidad. Herramientas adicionales: Node.js, Express, MeteorJS. Aplicaciones famosas: Facebook, Google, eBay, Netflix. |
PHP | Características: compatibilidad entre plataformas, informes de errores y excepciones, monitoreo de acceso en tiempo real. Herramientas adicionales: Laravel, Cake PHP, Symfony, CodeIgniter. Aplicaciones famosas: WordPress, Yahoo, MailChimp, Wikipedia. |
Python | Características: orientado a objetos, sintaxis simple, variedad de bibliotecas, alto nivel de seguridad. Herramientas adicionales: Django, Pyramid y Flask .Aplicaciones famosas: Google, Instagram, Dropbox. |
Rubi | Características: orientado a objetos, flexibilidad, función expresiva, escritura dinámica, escritura de pato (Duck Typing). Herramientas adicionales: Ruby on Rails, Sinatra, Grape, Padrino. Aplicaciones famosas: Airbnb, Shopify, GitHub, Basecamp. |
C++ | Características: orientado a objetos, independiente de plataforma y máquina, basado en compilador, asignación de memoria dinámica. Herramientas adicionales: Boost, Qt. Aplicaciones famosas: YouTube, Adobe, Windows OS, Mozilla. |
GoLang | Características: orientado a objetos, compilada de código abierto, estáticamente tipada, posee recolección de basura y soporte a pruebas. Herramientas adicionales: Gin, Beego, Eco, Kit. Aplicaciones famosas: Twitter, Google, Netflix, Microsoft, Riot Games. |
Rust | Características: gestión y seguridad de memoria, integrada de compilación y gestión de paquetes, sistemas embebidos. Herramientas adicionales: Azul, Biela, Actix, Foguete, Níquel. Aplicaciones famosas: Firefox, Dropbox, Cloudflare. |
Elixir | Características: lenguaje funcional (inmutabilidad, funciones y código declarativo), tolerancia de errores, acciones simultáneas, velocidad.Herramientas adicionales: Phoenix, Nerves, Plug, Sugar.Aplicaciones famosas: Discord, Moz, Adobe, Whatsapp. |
Dart | Características: orientado a objetos y multi-paradigma, código abierto fuertemente tipado, comporta análisis estáticos.Herramientas adicionales: FlutterAplicaciones famosas: Nubank |
Las tecnologías de Programación Back-end y sus estructuras son equivalentes a diversos proyectos como:
Este artículo contextualiza algunos conceptos más comunes de la programación back-end. Para que puedas sumergirte en este mundo, te invito a conocer la Escuela de Programación de Alura Latam, sus cursos y contenido pensado para facilitar tus estudios.
Adriana Oliveira
Scuba Back-End, estudiante de Sistemas de computacion, apasionada por la tecnología. Me encanta aprender y desarrollar habilidades para servir a la comunidad. Me encanta los códigos, la música, las artes y el deporte.
Cursos de Programación, Front End, Data Science, Innovación y Gestión.
Luri es nuestra inteligencia artificial que resuelve dudas, da ejemplos prácticos y ayuda a profundizar aún más durante las clases. Puedes conversar con Luri hasta 100 mensajes por semana
Paga en moneda local en los siguientes países
Cursos de Programación, Front End, Data Science, Innovación y Gestión.
Luri es nuestra inteligencia artificial que resuelve dudas, da ejemplos prácticos y ayuda a profundizar aún más durante las clases. Puedes conversar con Luri hasta 100 mensajes por semana
Paga en moneda local en los siguientes países
Puedes realizar el pago de tus planes en moneda local en los siguientes países:
País | |||||||
---|---|---|---|---|---|---|---|
Plan Semestral |
487.37
BOB |
69289.36
CLP |
307472.10
COP |
65.90
USD |
264.35
PEN |
1435.53
MXN |
2978.57
UYU |
Plan Anual |
738.82
BOB |
105038.04
CLP |
466107.17
COP |
99.90
USD |
400.74
PEN |
2176.17
MXN |
4515.32
UYU |
Acceso a todos
los cursos
Estudia las 24 horas,
dónde y cuándo quieras
Nuevos cursos
cada semana