Conceptos fundamentales
Algoritmo
Un conjunto de pasos organizados y definidos que se utilizan para resolver un problema o realizar una tarea específica. Ejemplo: un algoritmo para ordenar números de menor a mayor.
Debug
El proceso de identificar y corregir errores o fallos en un programa. Herramientas como depuradores ayudan a encontrar dónde y por qué ocurre un problema.
Testing
Pruebas realizadas para asegurarse de que un programa funcione correctamente, cumpla con los requisitos y no tenga errores. Puede ser manual o automatizado.
Intérprete
Un programa que traduce y ejecuta código fuente línea por línea. Ejemplo: Python usa un intérprete para ejecutar sus scripts.
Compilador
Un programa que traduce código fuente a un lenguaje de máquina ejecutable por el ordenador. Ejemplo: el compilador de C convierte código C en un archivo ejecutable.
Refactorizar
El proceso de mejorar el código existente sin cambiar su funcionalidad. Esto ayuda a hacerlo más limpio, eficiente o fácil de entender.
Log
Registros generados por un programa para documentar eventos o errores. Se utilizan para diagnosticar problemas y entender el comportamiento del software.
Open Source
Software cuyo código fuente está disponible para que cualquiera lo estudie, modifique y distribuya libremente. Ejemplo: Linux.
No Code
Herramientas o plataformas que permiten crear aplicaciones sin escribir código, utilizando interfaces visuales. Ejemplo: Wix o Airtable.
Low Code
Plataformas que permiten desarrollar aplicaciones con poca escritura de código, combinando programación visual con componentes personalizables. Ejemplo: OutSystems.
Framework
Un conjunto de herramientas, bibliotecas y reglas que simplifican el desarrollo de software. Ejemplo: Django para Python.
Biblioteca
Un conjunto de funciones o recursos reutilizables que los desarrolladores pueden usar para resolver problemas comunes. Ejemplo: NumPy en Python.
SDK (Software Development Kit)
Un conjunto de herramientas, bibliotecas y documentación que facilita el desarrollo de software para una plataforma específica. Ejemplo: el SDK de Android para crear aplicaciones móviles.
API (Interfaz de Programación de Aplicaciones)
Un conjunto de reglas y definiciones que permiten que diferentes programas se comuniquen entre sí. Ejemplo: una API de mapas para integrar mapas en una app.
IoT (Internet de las Cosas)
Un sistema de dispositivos interconectados a través de internet que pueden recopilar, compartir y analizar datos. Ejemplo: termostatos inteligentes o relojes inteligentes.
Edge Computing
Procesamiento de datos realizado cerca del lugar donde se generan, en lugar de depender de un servidor central. Esto reduce la latencia. Ejemplo: cámaras de seguridad inteligentes que procesan datos localmente.
Herramientas
IDE (Integrated Development Environment)
Un entorno de desarrollo que incluye herramientas como un editor de código, un depurador y un compilador para facilitar la programación. Ejemplo: Visual Studio Code.
Editor de texto
Un programa simple que permite escribir y editar texto, usado frecuentemente para escribir código. Ejemplo: Notepad++ o Sublime Text.
Terminal
Una interfaz que permite interactuar con el sistema operativo mediante comandos de texto.
Consola
Otra forma de referirse a la terminal, utilizada para ejecutar comandos o programas.
CLI (Command Line Interface)
Interfaz basada en texto donde los usuarios escriben comandos para interactuar con el sistema o aplicaciones.
Linters
Herramientas que analizan el código para detectar errores de sintaxis, estilo o convenciones. Ejemplo: ESLint para JavaScript.
Debugger
Una herramienta que permite examinar y corregir el funcionamiento del código paso a paso durante su ejecución.
Sintaxis
Variable
Un espacio en memoria que almacena datos con un nombre asignado. Ejemplo: x = 10
.
Constante
Un valor que no cambia durante la ejecución del programa. Ejemplo: PI = 3.14
.
Función
Un bloque de código reutilizable que realiza una tarea específica. Se puede “llamar” para ejecutar esa tarea. Ejemplo: def sumar(a, b): return a + b
.
Procedimiento
Similar a una función, pero generalmente no devuelve un valor, solo realiza acciones.
Modularidad
Dividir un programa en partes más pequeñas y manejables llamadas módulos, que facilitan la organización y el mantenimiento del código.
Tipos de datos
Categorías de datos que un programa puede manejar, como enteros (int), cadenas de texto (str) o valores booleanos (bool).
Operadores
Símbolos que realizan operaciones sobre datos. Ejemplo: +
(suma), -
(resta), *
(multiplicación).
Expresiones
Combinaciones de variables, constantes y operadores que producen un valor. Ejemplo: x + 5
.
Condicional
Estructuras que permiten tomar decisiones en el código según una condición. Ejemplo: if (x > 10): print("Mayor que 10")
.
Bucle
Una estructura que repite una secuencia de instrucciones mientras una condición es verdadera. Ejemplo: for i in range(5): print(i)
.
Recursividad
Cuando una función se llama a sí misma para resolver un problema dividiéndolo en subproblemas más pequeños. Ejemplo: calcular factorial con recursividad.
Memoria
Referencia
Un vínculo o dirección que apunta a la ubicación de un objeto o dato en la memoria. Las referencias se usan para acceder o modificar valores almacenados sin duplicarlos.
Puntero
Una variable que almacena la dirección de memoria de otro valor o variable. Muy utilizado en lenguajes como C y C++ para trabajar con estructuras dinámicas.
Heap
Una región de memoria utilizada para almacenar datos dinámicos. Es más flexible que el stack, pero requiere una gestión explícita (o automática en algunos lenguajes).
Stack
Una región de memoria utilizada para almacenar variables locales y llamadas de funciones. Sigue un modelo LIFO (último en entrar, primero en salir).
Buffer
Una zona temporal de memoria que almacena datos mientras se procesan o transfieren entre sistemas. Ejemplo: un buffer para datos de red.
Garbage Collection
Un proceso automático que libera memoria no utilizada eliminando objetos que ya no tienen referencias activas. Ejemplo: el recolector de basura de Java.
Concurrencia
Paralelismo
Ejecución simultánea de múltiples tareas en diferentes núcleos o procesadores. Se enfoca en dividir tareas grandes para que se ejecuten al mismo tiempo.
Concurrencia
Ejecución de múltiples tareas que avanzan en paralelo pero pueden no ejecutarse literalmente al mismo tiempo. Se enfoca en manejar múltiples procesos o hilos.
Thread
Un hilo de ejecución dentro de un programa. Permite realizar múltiples tareas concurrentemente dentro de un mismo proceso.
Mutex (Mutual Exclusion)
Una herramienta para garantizar que solo un hilo acceda a un recurso compartido a la vez, evitando conflictos.
Semaphore
Un mecanismo que controla el acceso a múltiples recursos compartidos mediante contadores. Permite definir cuántos hilos pueden acceder simultáneamente a un recurso.
Colecciones
Array
Una estructura de datos que almacena un conjunto de elementos del mismo tipo en posiciones contiguas de memoria. Ejemplo: [1, 2, 3, 4]
.
Linkedlist
Una estructura de datos donde cada elemento (nodo) contiene un valor y un enlace al siguiente nodo. Permite inserciones y eliminaciones dinámicas.
Cola
Una estructura de datos que sigue un modelo FIFO (primero en entrar, primero en salir). Ejemplo: una fila de clientes.
Pila
Una estructura de datos que sigue un modelo LIFO (último en entrar, primero en salir). Ejemplo: apilar platos.
Diccionario
Una colección que almacena pares clave-valor, lo que permite acceder a un valor dado su clave. Ejemplo: {"nombre": "Ana", "edad": 25}
.
Grafo
Una estructura de datos que representa relaciones entre nodos mediante aristas. Puede ser dirigido o no dirigido. Ejemplo: un mapa de rutas.
Árbol
Un tipo de grafo donde los nodos están organizados jerárquicamente con un nodo raíz y ramas hacia nodos hijos. Ejemplo: un sistema de archivos.
DevOps
DevOps
Una práctica que combina desarrollo de software (Dev) y operaciones (Ops) para acelerar la entrega de aplicaciones mediante integración continua y automatización.
Continuous Integration (CI)
Un proceso donde los desarrolladores integran código frecuentemente en un repositorio compartido, asegurando pruebas automáticas para detectar errores rápidamente.
Continuous Deployment (CD)
El paso siguiente a la integración continua, donde los cambios aprobados se despliegan automáticamente en producción.
Pipeline
Un flujo automatizado de tareas que transforman código en un producto final, incluyendo compilación, pruebas y despliegue.
Alta disponibilidad
La capacidad de un sistema para mantenerse operativo con interrupciones mínimas, lograda mediante redundancia y tolerancia a fallos.
Escalabilidad
La habilidad de un sistema para manejar una carga creciente al añadir recursos (escalado horizontal o vertical).
Contenedor
Un entorno aislado que empaqueta una aplicación y sus dependencias para ejecutarla de manera consistente en diferentes sistemas. Ejemplo: Docker.
Máquina virtual
Un software que emula un ordenador físico, permitiendo ejecutar múltiples sistemas operativos en un mismo hardware.
POO (Programación Orientada a Objetos)
Objeto
Una instancia de una clase que combina datos (atributos) y comportamientos (métodos). Ejemplo: un coche como objeto de la clase Vehículo.
Clase
Un modelo o plantilla que define las propiedades y comportamientos comunes de un tipo de objetos. Ejemplo: class Coche
.
Método
Una función definida dentro de una clase que describe un comportamiento del objeto. Ejemplo: coche.arrancar()
.
Atributo
Una propiedad o dato asociado a un objeto. Ejemplo: coche.color = "rojo"
.
Herencia
Un mecanismo para crear nuevas clases basadas en una clase existente, reutilizando su funcionalidad. Ejemplo: Coche
puede heredar de Vehículo
.
Polimorfismo
La capacidad de usar un mismo método en diferentes clases, adaptando su comportamiento. Ejemplo: animal.hacer_sonido()
puede emitir un “ladrido” o un “maullido”.
Abstracción
El proceso de ocultar detalles complejos y mostrar solo lo esencial. Ejemplo: interactuar con un coche sin saber cómo funciona el motor.
Encapsulación
La práctica de restringir el acceso directo a los datos de un objeto y manipularlos solo a través de métodos definidos.
Desarrollo Web
Frontend
La parte visible de un sitio o aplicación web con la que interactúa el usuario. Incluye diseño, estructura y comportamiento en el navegador, utilizando tecnologías como HTML, CSS y JavaScript.
Backend
La parte del servidor de una aplicación web, responsable de procesar datos, manejar la lógica de negocio y comunicarse con bases de datos y APIs. Usualmente utiliza lenguajes como Python, Java o Node.js.
Full Stack
Un desarrollador o enfoque que abarca tanto el frontend como el backend de una aplicación web.
SPA (Single Page Application)
Una aplicación web que carga una sola página HTML y actualiza su contenido dinámicamente sin recargar la página completa. Ejemplo: Gmail.
DOM (Document Object Model)
Una representación estructurada en forma de árbol de una página web que permite a los lenguajes de programación interactuar y manipular su contenido y diseño.
WebAssembly
Un formato de código binario que permite ejecutar aplicaciones de alto rendimiento en el navegador, complementando JavaScript. Ejemplo: videojuegos en navegador.
Middleware
Software que actúa como un puente entre diferentes aplicaciones o servicios para facilitar su comunicación. Ejemplo: autenticación de usuarios.
Webhooks
Mecanismos que permiten que un servicio notifique automáticamente a otro cuando ocurre un evento. Ejemplo: recibir un mensaje de Slack cuando se actualiza un repositorio.
API Rest
Un estilo de arquitectura para construir APIs que utiliza HTTP para acceder a recursos representados en formato JSON o XML. Ejemplo: API de Twitter para enviar tweets.
MVC (Model-View-Controller)
Un patrón de diseño que divide una aplicación en tres componentes:
- Modelo (gestiona datos y lógica),
- Vista (interfaz de usuario),
- Controlador (intermediario entre modelo y vista).
MVVM (Model-View-ViewModel)
Una evolución del patrón MVC donde el ViewModel actúa como intermediario entre la Vista y el Modelo, facilitando el enlace de datos.
Responsive Design
Un enfoque de diseño web que asegura que las páginas se vean bien en dispositivos de diferentes tamaños ajustando automáticamente el diseño.
SSR (Server-Side Rendering)
Una técnica donde el contenido de una página web se genera en el servidor y se envía completamente renderizado al navegador. Mejora el SEO y reduce el tiempo de carga inicial.
Control de Código Fuente
Control de código fuente
El proceso de gestionar cambios en el código a lo largo del tiempo, permitiendo rastrear, revertir y colaborar en proyectos.
Gestión de versiones
La práctica de mantener un historial de cambios en el código y permitir la colaboración mediante sistemas como Git.
Branch
Una rama en un repositorio que permite trabajar en características o correcciones de manera aislada del código principal.
Merge
El proceso de combinar cambios de una rama en otra. Ejemplo: fusionar una rama de desarrollo con la rama principal.
Pull Request
Una solicitud para que los cambios realizados en una rama se revisen e integren en otra rama.
Repositorio
Un espacio donde se almacena todo el código y su historial de cambios. Puede ser local o remoto (en plataformas como GitHub).
Git
Un sistema de control de versiones distribuido que permite a los desarrolladores rastrear y colaborar en cambios de código.
Bases de Datos
SQL
Un lenguaje estándar para gestionar y consultar bases de datos relacionales. Ejemplo: MySQL o PostgreSQL.
NoSQL
Bases de datos que no usan tablas relacionales. Son ideales para manejar grandes volúmenes de datos no estructurados. Ejemplo: MongoDB.
Consultas
Comandos utilizados para interactuar con una base de datos. Ejemplo: SELECT * FROM usuarios
.
Normalización
Un proceso para organizar una base de datos y reducir la redundancia de datos, dividiéndolos en tablas relacionadas.
Índices
Estructuras que aceleran las consultas en bases de datos al permitir búsquedas rápidas. Similar a un índice en un libro.
Joins
Operaciones en SQL que combinan datos de múltiples tablas basándose en una relación común. Ejemplo: combinar una tabla de clientes con sus pedidos.
ORM (Object Relational Mapping)
Una técnica que conecta bases de datos con el código usando objetos, eliminando la necesidad de escribir consultas SQL manualmente. Ejemplo: SQLAlchemy.
DBA (Database Administrator)
El responsable de gestionar, optimizar y mantener las bases de datos en una organización.
Redes y Hosting
Servidor web
Un software o hardware que sirve contenido web en respuesta a solicitudes HTTP. Ejemplo: Apache o Nginx.
Hosting
El servicio que proporciona almacenamiento y recursos para alojar sitios o aplicaciones web en internet.
VPN (Virtual Private Network)
Una red privada virtual que cifra la conexión a internet, protegiendo la privacidad y permitiendo acceso remoto seguro.
VPS (Servidor Virtual Privado)
Un servidor virtualizado que ofrece un entorno dedicado dentro de un servidor físico. Ideal para proyectos medianos.
DNS (Domain Name System)
Un sistema que traduce nombres de dominio legibles (como example.com
) en direcciones IP.
HTTP (Hypertext Transfer Protocol)
El protocolo que permite la transferencia de datos en la web. Es usado para cargar páginas web.
HTTPS
Una versión segura de HTTP que cifra la información transmitida usando SSL/TLS.
FTP (File Transfer Protocol)
Un protocolo para transferir archivos entre computadoras a través de internet.
SSH (Secure Shell)
Un protocolo que permite acceder de forma segura a servidores remotos mediante una conexión cifrada.
IP (Internet Protocol)
Una dirección única asignada a cada dispositivo conectado a una red. Ejemplo: 192.168.1.1
.
Protocolo
Un conjunto de reglas que define cómo los dispositivos se comunican en una red. Ejemplo: TCP/IP.
Socket
Un punto final de comunicación entre dos dispositivos en una red.
Firewall
Un sistema de seguridad que controla el tráfico entrante y saliente de una red para protegerla de amenazas.
Balanceador de carga
Un dispositivo o software que distribuye el tráfico entre múltiples servidores para optimizar el rendimiento y evitar sobrecargas.
CDN (Content Delivery Network)
Una red de servidores distribuidos geográficamente para entregar contenido web rápidamente a usuarios de diferentes ubicaciones.
Cloud Computing
El uso de servidores remotos en internet para almacenar, procesar y administrar datos y aplicaciones. Ejemplo: AWS o Azure.
Websocket
Un protocolo que permite comunicación bidireccional en tiempo real entre un cliente y un servidor.
SSE (Server-Sent Events)
Un protocolo que permite que un servidor envíe actualizaciones automáticas al cliente mediante HTTP.
Comet
Una técnica para mantener una conexión abierta entre cliente y servidor, permitiendo actualizaciones en tiempo real sin requerir múltiples solicitudes.
Paradigmas de Programación
Programación estructurada
Un paradigma que organiza el código en bloques o módulos jerárquicos como funciones y estructuras de control (if, while), promoviendo un flujo lógico y lineal.
Programación orientada a objetos (OOP)
Un paradigma basado en la organización del código en objetos, que encapsulan datos (atributos) y comportamientos (métodos). Promueve conceptos como herencia, polimorfismo y encapsulación.
Programación funcional
Un paradigma que trata las computaciones como evaluaciones de funciones matemáticas, evitando cambios de estado y datos mutables. Ejemplo: funciones puras y composición de funciones.
Programación lógica
Un paradigma que utiliza reglas lógicas y relaciones para resolver problemas declarando lo que debe cumplirse. Ejemplo: Prolog.
Programación declarativa
Un paradigma donde se especifica qué se quiere lograr sin detallar cómo lograrlo. Ejemplo: SQL o HTML.
Programación reactiva
Un paradigma basado en flujos de datos y propagación de cambios, donde las actualizaciones automáticas ocurren al modificar datos subyacentes. Ejemplo: RxJS.
Programación imperativa
Un paradigma que detalla cómo realizar una tarea, definiendo una serie de instrucciones para cambiar el estado del programa.
Programación concurrente
Un paradigma que permite que múltiples tareas se ejecuten de forma aparentemente simultánea, compartiendo recursos. Ejemplo: manejo de hilos.
Programación paralela
Un paradigma donde múltiples tareas se ejecutan realmente al mismo tiempo en diferentes núcleos de un procesador.
Programación distribuida
Un paradigma que divide una tarea entre múltiples nodos o máquinas conectadas en red, trabajando en conjunto. Ejemplo: sistemas basados en microservicios.
Seguridad
Criptografía
El arte y la ciencia de codificar información para protegerla de accesos no autorizados. Ejemplo: cifrado RSA.
Encriptación
El proceso de convertir datos en un formato codificado que solo puede ser leído con una clave adecuada. Ejemplo: cifrado AES.
Autenticación
El proceso de verificar la identidad de un usuario o sistema. Ejemplo: contraseñas o autenticación biométrica.
Autorización
El proceso de determinar qué acciones o recursos tiene permitido acceder un usuario autenticado. Ejemplo: permisos en una aplicación.
Certificados digitales
Documentos electrónicos que autentican la identidad de una entidad y cifran comunicaciones mediante tecnología SSL/TLS. Ejemplo: certificados HTTPS.
Hash
Una función que transforma datos en una representación única y de tamaño fijo, utilizada para verificar integridad. Ejemplo: SHA-256.
Metodologías y Conceptos Avanzados
Programación extrema (XP)
Una metodología ágil que enfatiza la entrega rápida de software funcional con iteraciones cortas, retroalimentación continua y prácticas como programación en pareja.
DDD (Diseño Dirigido por Dominios)
Un enfoque para modelar software centrado en el dominio del negocio, alineando el diseño técnico con las necesidades específicas de los usuarios.
TDD (Desarrollo Dirigido por Pruebas)
Una técnica donde las pruebas se escriben antes del código funcional, asegurando que cada funcionalidad sea probada desde el principio.
BDD (Desarrollo Basado en Comportamiento)
Un enfoque de pruebas donde se describe el comportamiento esperado de una aplicación usando un lenguaje natural que todos los involucrados puedan entender.
Clean Code
Un conjunto de principios y prácticas para escribir código legible, mantenible y eficiente, promoviendo claridad y simplicidad.
Microservicios
Un estilo arquitectónico donde las aplicaciones se dividen en pequeños servicios independientes que se comunican entre sí, facilitando el escalado y la resiliencia.
Gestión de Proyectos
Scrum
Un marco ágil que organiza el desarrollo de software en ciclos llamados sprints, con roles definidos como Scrum Master y Product Owner.
Kanban
Un método visual para gestionar tareas mediante tableros que muestran el estado de las tareas (pendientes, en progreso, completadas).
Agile
Un enfoque de desarrollo que prioriza entregas rápidas, flexibilidad ante cambios y colaboración cercana con los clientes.
MVP (Producto Mínimo Viable)
La versión más básica de un producto con las funcionalidades esenciales para validar su valor en el mercado y obtener retroalimentación inicial.
Sprint
Un período de tiempo definido (usualmente 1-4 semanas) en el que el equipo Scrum desarrolla y entrega un incremento funcional del producto.
Historias de usuario
Descripciones breves de una funcionalidad desde la perspectiva del usuario final. Ejemplo: “Como usuario, quiero poder registrar mi cuenta”.
QA (Quality Assurance)
Un proceso para garantizar la calidad del software mediante pruebas y validación, asegurando que cumple con los requisitos definidos.
Lenguajes
HTML (HyperText Markup Language)
El lenguaje estándar para estructurar el contenido de páginas web. Utiliza etiquetas para definir elementos como títulos, párrafos, imágenes y enlaces.
Markdown
Un lenguaje de marcado ligero que permite formatear texto de manera simple y legible, usado en documentación, blogs y sistemas como GitHub.
CSS (Cascading Style Sheets)
Un lenguaje que define el diseño y presentación de páginas web, controlando aspectos como colores, fuentes y diseño de elementos.
JavaScript
Un lenguaje de programación esencial para el desarrollo web que permite agregar interactividad a las páginas, como animaciones y validación de formularios.
Python
Un lenguaje de propósito general conocido por su simplicidad y versatilidad. Ideal para aplicaciones web, análisis de datos, IA y automatización.
Java
Un lenguaje orientado a objetos ampliamente usado en aplicaciones empresariales, móviles (Android) y sistemas de backend.
C
Un lenguaje de bajo nivel y alto rendimiento, fundamental en el desarrollo de sistemas operativos, hardware y aplicaciones críticas.
C++
Una extensión de C que añade características de programación orientada a objetos y es usado en sistemas complejos como videojuegos y motores gráficos.
C#
Un lenguaje orientado a objetos desarrollado por Microsoft, popular en desarrollo de aplicaciones de escritorio, videojuegos (Unity) y aplicaciones web.
Go (Golang)
Un lenguaje moderno diseñado por Google, conocido por su eficiencia, concurrencia y uso en aplicaciones web, redes y servicios en la nube.
Rust
Un lenguaje enfocado en la seguridad y el rendimiento, ideal para sistemas de bajo nivel, evitando errores comunes de memoria.
PHP
Un lenguaje de programación usado principalmente en desarrollo web para crear sitios dinámicos y aplicaciones del lado del servidor.
Ruby
Un lenguaje conocido por su simplicidad y enfoque en la productividad. Es la base del popular framework web Ruby on Rails.
Kotlin
Un lenguaje interoperable con Java, ampliamente adoptado en el desarrollo de aplicaciones Android por su sintaxis moderna y concisa.
Swift
Un lenguaje creado por Apple para desarrollar aplicaciones en sus plataformas (iOS, macOS), conocido por su velocidad y seguridad.
TypeScript
Una extensión de JavaScript que añade tipado estático, lo que mejora la escalabilidad y mantenibilidad de proyectos grandes.
Scala
Un lenguaje que combina paradigmas funcionales y orientados a objetos, usado en sistemas distribuidos y procesamiento de datos masivos.
R
Un lenguaje especializado en análisis de datos y estadísticas, ampliamente usado en investigación y ciencia de datos.
Perl
Un lenguaje flexible y potente, utilizado históricamente en tareas de administración de sistemas, manipulación de texto y desarrollo web.
Lua
Un lenguaje ligero y embebible, popular en motores de videojuegos y aplicaciones donde el rendimiento es clave.
Dart
Un lenguaje diseñado por Google para desarrollo web y móvil, utilizado principalmente con el framework Flutter.
MATLAB
Un lenguaje y entorno para cálculos matemáticos y simulaciones, usado en ingeniería y análisis científico.
Tecnologías
WSL (Windows Subsystem for Linux)
Una característica de Windows que permite ejecutar un entorno Linux completo, incluyendo comandos, herramientas y aplicaciones, directamente en Windows sin necesidad de usar una máquina virtual. Es especialmente útil para desarrolladores que necesitan un entorno Linux para sus proyectos.
PowerShell
Un lenguaje de scripting y shell de línea de comandos desarrollado por Microsoft. Combina características de un shell tradicional con la potencia de un lenguaje de programación orientado a objetos, permitiendo gestionar sistemas Windows y recursos en la nube como Azure.
Bash (Bourne Again Shell)
Un intérprete de comandos ampliamente utilizado en sistemas Unix y Linux. Es el shell por defecto en muchas distribuciones de Linux y permite ejecutar scripts, gestionar archivos y automatizar tareas de forma eficiente.
ASP.NET
Un marco de desarrollo web de Microsoft que permite construir aplicaciones web dinámicas, servicios API y aplicaciones en tiempo real utilizando C#.
Entity Framework
Un ORM (Object Relational Mapper) de Microsoft para .NET, que simplifica el acceso y manipulación de bases de datos al trabajar directamente con objetos en lugar de sentencias SQL.
JSON (JavaScript Object Notation)
Un formato ligero y legible para el intercambio de datos estructurados. Es ampliamente utilizado en APIs y almacenamiento de datos.
YAML (YAML Ain’t Markup Language)
Un lenguaje de serialización de datos legible para humanos, comúnmente usado en configuración de aplicaciones y sistemas como Kubernetes.
React
Una biblioteca de JavaScript creada por Meta para construir interfaces de usuario basadas en componentes reutilizables y un flujo de datos unidireccional.
Node.js
Un entorno de ejecución de JavaScript en el lado del servidor, conocido por su capacidad para manejar múltiples conexiones concurrentes de forma eficiente.
NPM (Node Package Manager)
El gestor de paquetes para Node.js, que permite instalar, compartir y gestionar dependencias y scripts de desarrollo.
Angular
Un framework de JavaScript desarrollado por Google para crear aplicaciones web dinámicas y de una sola página, con herramientas robustas para desarrollo frontend.
Vue.js
Un framework progresivo de JavaScript que facilita la construcción de interfaces de usuario reactivas con una curva de aprendizaje suave.
Bootstrap
Un framework CSS diseñado para agilizar el diseño de sitios web responsivos, ofreciendo una amplia gama de componentes predefinidos.
Tailwind
Un framework CSS de utilidad que permite construir diseños personalizados directamente en el HTML, eliminando la necesidad de clases predefinidas extensas.
Sass (Syntactically Awesome Stylesheets)
Un preprocesador CSS que añade características como variables, anidación y mixins, mejorando la modularidad y reutilización de estilos.
LESS (Leaner Style Sheets)
Otro preprocesador CSS que ofrece características como variables y funciones para facilitar el mantenimiento y diseño de hojas de estilo.
Webpack
Un empaquetador de módulos para JavaScript que optimiza y organiza el código y recursos del proyecto para el despliegue.
Babel
Un transpilador de JavaScript que convierte código moderno (ES6+) en una versión compatible con navegadores más antiguos.
Flask
Un microframework de Python para el desarrollo de aplicaciones web. Es minimalista, flexible y ampliamente usado para APIs y aplicaciones ligeras.
Laravel
Un framework de PHP diseñado para facilitar el desarrollo de aplicaciones web con características como enrutamiento, migraciones y una potente capa ORM (Eloquent).
WordPress
Un sistema de gestión de contenidos (CMS) basado en PHP y MySQL, ampliamente utilizado para crear blogs y sitios web.
Django
Un framework de Python que simplifica el desarrollo web al proporcionar herramientas para la creación rápida de aplicaciones robustas y seguras.
Express.js
Un marco de Node.js minimalista y flexible, usado para construir aplicaciones web y APIs de manera rápida.
Kubernetes
Una plataforma de orquestación de contenedores que automatiza la implementación, escalado y administración de aplicaciones en contenedores.
Docker
Una tecnología de contenedores que permite empaquetar aplicaciones y sus dependencias en entornos portátiles y consistentes.
Spring
Un framework de Java para el desarrollo de aplicaciones empresariales, conocido por su robustez y capacidades de inyección de dependencias.
Redis
Un sistema de almacenamiento en memoria clave-valor, usado para caché, almacenamiento temporal y análisis en tiempo real.
GraphQL
Un lenguaje de consulta para APIs que permite a los clientes pedir exactamente los datos que necesitan, desarrollado por Meta.
JQuery
Una biblioteca de JavaScript que simplifica la manipulación del DOM y eventos en el navegador, aunque su popularidad ha disminuido en favor de frameworks modernos.
Terraform
Una herramienta de infraestructura como código (IaC) para automatizar la provisión de infraestructura en la nube y on-premise.
Electron
Un framework que permite desarrollar aplicaciones de escritorio multiplataforma utilizando tecnologías web como HTML, CSS y JavaScript.
WebRTC (Web Real-Time Communication)
Una tecnología que habilita comunicaciones en tiempo real como videollamadas directamente en navegadores sin necesidad de plugins.
Svelte
Un framework de frontend moderno que compila componentes en código puro de JavaScript, eliminando la necesidad de un runtime.
Vite
Un empaquetador y servidor de desarrollo de última generación para aplicaciones web modernas. Es conocido por su velocidad, gracias a la carga de módulos ES en desarrollo y una compilación eficiente para producción. Ideal para proyectos con frameworks como Vue, React o Svelte.
Astro
Un framework de frontend diseñado para crear sitios web estáticos rápidos y optimizados, con soporte para múltiples frameworks (React, Vue, Svelte, etc.). Reduce el JavaScript enviado al cliente mediante una estrategia llamada “islas de contenido”.
Next.js
Un framework basado en React que facilita la creación de aplicaciones web con renderizado del lado del servidor (SSR) y generación de sitios estáticos (SSG). Muy usado para aplicaciones de alto rendimiento y SEO optimizado.
Nuxt.js
Un framework basado en Vue.js similar a Next.js, que soporta SSR y SSG, y simplifica el desarrollo de aplicaciones web robustas.
Webpack Dev Server
Una herramienta que complementa Webpack, proporcionando un servidor de desarrollo para previsualizar aplicaciones y actualizaciones en tiempo real.
Parcel
Un empaquetador web fácil de configurar, que detecta automáticamente dependencias y optimiza la construcción de aplicaciones.
Preact
Una alternativa ligera a React, que mantiene una API compatible pero con un tamaño mucho más reducido, ideal para proyectos donde el rendimiento es crucial.
Tailwind CLI
Aunque forma parte de Tailwind CSS, su CLI permite generar estilos personalizados sin necesidad de configurar un entorno de desarrollo complejo.
Gatsby
Un framework para construir sitios estáticos y aplicaciones modernas basado en React, con una fuerte integración de GraphQL para gestionar datos.
Hugo
Un generador de sitios estáticos escrito en Go, conocido por su velocidad y simplicidad, usado para blogs y documentación.
Jekyll
Otro generador de sitios estáticos, basado en Ruby, ideal para blogs y sitios simples. Es el motor detrás de GitHub Pages.
Eleventy (11ty)
Un generador de sitios estáticos minimalista y flexible que permite usar múltiples lenguajes templados como Markdown, Liquid y Nunjucks.
Rollup
Un empaquetador de módulos que sobresale en la construcción de bibliotecas y aplicaciones JavaScript, con un enfoque en la salida optimizada y modular.
Firebase
Una plataforma de Google que proporciona herramientas para desarrollo web y móvil, incluyendo bases de datos en tiempo real, autenticación y hosting.
Supabase
Una alternativa a Firebase que ofrece bases de datos SQL, autenticación y almacenamiento, enfocada en desarrolladores que buscan una solución open source.
Capacitor
Un framework desarrollado por Ionic para construir aplicaciones móviles y de escritorio multiplataforma utilizando tecnologías web.
Expo
Una plataforma para desarrollar aplicaciones móviles con React Native, que simplifica la configuración y despliegue con herramientas listas para usar.
Deno
Un entorno de ejecución de JavaScript y TypeScript desarrollado por el creador de Node.js, diseñado para ser seguro y moderno.
Strapi
Un CMS headless que facilita la creación y gestión de contenido para aplicaciones frontend, compatible con múltiples bases de datos.
Sanity
Una plataforma headless CMS que permite la gestión de contenido estructurado y su integración con aplicaciones modernas.
Zustand
Una biblioteca para la gestión de estados en aplicaciones de React, ligera y fácil de usar, ideal para proyectos que no necesitan la complejidad de Redux.
Redux
Una biblioteca de gestión de estados ampliamente usada en aplicaciones React para manejar estados globales complejos.