logoCoderhouse.png
By Coderhouse • julio 11, 2018

Programación: Términos y herramientas de Back End

Hoy decidimos traerles una sección más de ¿Qué es...?, esto les ayudará a entender un poco más el mundo del Back End. Si querés seguir aprendiendo más sobre Back End y Front End, podés ver el programa del curso de Desarrollo Full Stack.

¿Qué es express?

Es un framework web minimalista que nos simplifica muchas de las tareas que podemos llegar a realizar al momento de crear una aplicación web.

 

¿Qué es NodeJS

Es un runtime de JavaScript creado usando el motor de JavaScript de Chrome.
El modelo es orientado a eventos, asíncrono y no bloqueante. A diferencia de otros modelos no utiliza threads para cada petición. En su lugar usa algo llamado event loop. Aquí lo puedes decargar: https://nodejs.org/en/download/

 

¿Qué es un protocolo?

Un protocolo de red designa el conjunto de reglas que rigen el intercambio de información a través de una red de computadoras.

 

¿Qué es REST?

La Transferencia de Estado Representacional (en inglés Representational State Transfer) o REST es un estilo de arquitectura software para sistemas hipermedia distribuidos como la World Wide Web.

 

¿Qué es una base de datos?

Son programas que sirven para almacenar datos de la forma más óptima posible para luego ser consultados. Además nos brinda el lenguaje propio para comunicarnos con la misma.

En última instancia, una base de datos es una serie de archivos y una forma de manipular los datos desde y hacia estos archivos. Nos sirven para almacenar, acceder, manipular y analizar los datos.

Screenshot 2018-07-11 at 15.22.50-572488-edited

En esta imagen, Google nos explica qué es una base de datos.

¿Qué es SQL?

SQL es un lenguaje utilizado para comunicarse con una base de datos. Se pronuncia "ESQUIUEL" y es la abreviatura de Structured Query Language.

A diferencia de otros lenguajes como C, PHP, JavaScript, etc. SQL es un lenguaje declarativo lo cual significa que no le decimos cómo tiene que hacer las cosas sino cuáles son las cosas que queremos.

architecture

 

Es interesante que a pesar de ser creado hace más de 40 años sigue siendo el lenguaje por excelencia para la manipulación de datos. Es lenguaje se divide principalmente en dos:

  • DDL (Data Definition Language): desde el punto de vista de DDL, SQL nos provee una serie de comandos para crear las estructuras (mayormente tablas) necesarias para almacenar los datos.
  • DML (Data Manipulation Language): desde el punto de vista de manipulación de datos, SQL cuenta con una rica colección de comandos para la transformación de datos como INSERT, UPDATE, DELETE, etc

 

¿Qué es Sequelize?

Sequelize es una librería de nodejs para simplificar y abstraer el manejo de la base de datos. Si bien una entidad muchas veces puede ser almacenada dentro de una tabla, otras veces necesitamos varias. Esto termina por afectar la complejidad de las consultas que necesitamos ejecutar para obtener los datos que nuestra aplicación requiere.

sequelize libreria de nodejs

 

Para simplificar este proceso es que existen los denominados ORM (Object-relational mapping). Un ORM es una técnica de programación para mapear entre dos sistemas de datos incompatibles: en este caso entre la base de datos y objetos de javascript.

 

¿Qué es Heroku?

Heroku es una plataforma basada en la nube que nos permite hacer deploy de nuestras aplicaciones de forma muy sencilla. Existen otras plataformas que cumplen el mismo propósito como AWS, Windows Azure o Google Cloud. Todas ofrecen un servicio gratuito con ciertas limitaciones.

heroku

 

¿Qué es Firebase?

Firebase como Heroku es una plataforma que brinda servicios para poner nuestras aplicaciones en la nube. Uno de los paradigmas más interesantes que surgieron en estos últimos años es el de las aplicaciones serverless, es decir, aplicaciones que no requieren que nosotros programemos el backend.

firebase3

 

Ahora bien, si nosotros no lo hacemos, alguien lo tiene que hacer por nosotros. Firebase nos brinda una serie de herramientas para poder lograr esto como: un servicio de autenticación, base de datos realtime en la nube, funciones lambda, etc.

¿Te gustó? Dejanos tu comentario.

El mundo de la programación es muy amplio, si querés seguir aprendiendo más sobre el tema, te animamos a hacer algún curso presencial.

¡¡Quiero saber más!!