← Especialidades formativas

Especialidad formativa

Creación y desarrollo de aplicaciones web

IFCD0008 605 h
Ver contenido del curso

Qué aprenderás

Crear aplicaciones web en sus componentes de cliente y de servidor.

Contenido del curso

01

Bases de Datos

  • OBJETIVO
  • Comprender las bases de datos relacionales manejando el lenguaje SQL, con el fin de efectuar consultas para recuperar información, así como realizar cambios en las mismas.
  • CONOCIMIENTOS / CAPACIDADES COGNITIVAS Y PRÁCTICAS
  • Conocimiento de las bases de datos relacionales.
  • Funcionamiento y relación de los datos distribuídos entre las tablas que conforman las bases de datos.
  • Tipos de bases de datos relacionales existentes.
  • Tratamiento de la información de una base de datos.
  • Comprensión del lenguaje de consultas estructuradas SQL para la búsqueda de información en bases de datos relacionales.
  • Definición del concepto SQL.
  • Administrar y recuperar información de sistemas de gestión de bases de datos.
  • Manipulación de las funciones y manejos de comandos básicos de selección de datos y otros.
  • Instrucción SELECT.
  • Instrucción DISTINCT.
  • Cláusula ORDER BY.
  • Cláusula LIMIT.
  • Dominio de las funciones y manejo de cláusulas para:
  • Filtrar la búsqueda,
  • Anidar clausulas y su aplicación.
  • Comprensión de la estructura básica de una tabla de datos, campos clave y su importancia.
  • Clave primaria.
  • Clave externa de una o varias columnas.
  • Conocimiento para:
  • Combinar datos de dos o más tablas utilizando diferentes uniones.
  • Control y manejo de los comandos: GROUP BY, MIN, MAX, COUNT, AVG, SUM.
  • HABILIDADES DE GESTIÓN, PERSONALES Y SOCIALES
  • Capacidad para analizar los elementos y estructuras que serán necesarios para manejar el lenguaje SQL en las bases de datos relacionales.
  • Autonomía para efectuar consultas, recuperar información y realizar cambios en bases de datos relacionales.
  • Proactividad para manejar datos y comandos
02

Core JavaScript: Las bases del lenguaje

  • OBJETIVO
  • Iniciarse en el lenguaje de programación JavaScript, su función e importancia para una experiencia de navegación web agradable y atractiva, en el manejo de librerías y su ejecución por parte del cliente y/o por parte del servidor.
  • CONOCIMIENTOS / CAPACIDADES COGNITIVAS Y PRÁCTICAS
  • Conocimiento de los tipos de variables, funcionalidades, y manejo de este lenguaje.
  • Definición de variable.
  • Distintos tipos de variables: cadenas de texto, binarias, números enteros y decimales.
  • Tipos de conversiones entre variables.
  • Palabras clave del lenguaje Javascript.
  • Comprensión de expresiones y sentencias en JavaScript.
  • Operaciones, diferencias y usos.
  • Expresiones primarias y compuestas: función y condicional.
  • Entendimiento de los tipos de operadores condicionales y su uso.
  • Tipos de condicionales.
  • Complejidad ciclomática.
  • Tipos de bucles: finitos e infinitos.
  • Saltos en bucles.
  • Introducción a las excepciones.
  • Dominio de una matriz de datos estructurada.
  • Acceso y tratamiento de datos.
  • Arrays: creación, uso y borrado.
  • Cómo recorrer un array.
  • Métodos de la clase array.
  • Dominio de objetos, clases y su uso.
  • Definición de conceptos.
  • Objetos: creación y uso de las propiedades.
  • Clases: creación y herencia.
  • Herencia frente a composición.
  • Conocimiento y aplicación del concepto función.
  • Qué es una función. Tipos y declaración.
  • Código limpio, principios básicos de programación (SOLID)
  • Funciones recursivas.
  • Argumentos en las funciones: opcionales e infinitos.
  • Alcance de variables en las funciones y en el código.
  • Distinción de Iteradores y generadores.
  • Definición.
  • Diferencia entre iterar y generar.
  • Gestión de excepciones.
  • Manipulación de funciones para que se ejecuten de forma asíncrona.
  • Ventajas del uso del asincronismo y cuando usarlo. .
  • Callbacks
  • Eventos.
  • Cuenta atrás
  • Objeto promesa.
  • Dominio de los elementos red con JavaScript.
  • Networking con JavaScript.
  • Ejecución de la transformación del contenido de una matriz de datos.
  • La función Maps.
  • Creaciones de colecciones de valores.
  • Comprensión de un test unitario y sus utilidades.
  • Que es un test unitario. Definición del concepto.
  • Distintos tipos de test: integración y funcionales.
  • Falsificación de código para testeo.
  • Acceder al porcentaje de código cubierto por los test.
  • HABILIDADES DE GESTIÓN, PERSONALES Y SOCIALES
  • Interés por conocer las variables, funcionalidades, y manejo de JavaScript.
  • Capacidad de síntesis de los elementos con JavaScript.
  • Implicación para transformar contenidos de matrices de datos y diseñar testeos.
03

Networking: La frontera entre el frontend y el backend

  • OBJETIVO
  • Entender los conceptos de Frontend y Backend, su función, componentes, interacción entre ellos y el acceso por el usuario a ambos elementos.
  • CONOCIMIENTOS / CAPACIDADES COGNITIVAS Y PRÁCTICAS
  • Diferenciación de los protocolos de navegación web y sus requisitos.
  • Protocolo de navegación web HTTP
  • Protocolo de navegación web HTTPS
  • Manejo de herramientas para simular solicitudes APIs.
  • Comprensión y definición de las APIs.
  • Conocimiento de sus utilidades.
  • Modo de realizar pruebas de funcionamiento.
  • La aplicación para poder comunicar con APIs existentes.
  • Conocimiento y dominio de un servidor web para que se presenten las aplicaciones desarrolladas.
  • Definición de Nginx
  • Utilidades de Nginx.
  • Utilización del certificado digital y su importancia para la navegación web.
  • Definición de certificado digital.
  • Identificación de los diferentes tipos de certificado digital.
  • Solicitud de certificados y su integración en el servidor web.
  • HABILIDADES DE GESTIÓN, PERSONALES Y SOCIALES
  • Actitud creativa para realizar protocolos y diseñar pruebas de funcionamiento de interfaces.
  • Colaboración profesional y habilidades de comunicación para resolver situaciones y exponer conclusiones de Networking.
04

CoreNode: JavaScript para el servidor

  • OBJETIVO
  • Desarrollar aplicaciones ejecutables en servidor y su implementación.
  • CONOCIMIENTOS / CAPACIDADES COGNITIVAS Y PRÁCTICAS
  • Comprensión de Node como herramienta que pueda usarse en una terminal mediante una interfaz de comandas.
  • Qué es REPL.
  • Uso del autocompletado.
  • Explorar objetos Javascritp y Globales.
  • Detalles de Node REPL.
  • Cómo ejecutar REPL desde un archivo Javascritp.
  • Conocimiento de la guía de depuración, Debugging, para depurar los programas.
  • Habilitar el inspector.
  • Implicaciones de seguridad.
  • Clientes del inspector.
  • Opciones de la línea de comandos.
  • Habilitar depuración remota.
  • Comprensión del lenguaje Javascript.
  • Introducción.
  • Bloqueo del bucle de eventos.
  • Una pila de llamadas.
  • Una explicación simple del bucle de eventos.
  • Ejecución de la función de cola.
  • La cola de mensajes.
  • Cola de trabajos ES6.
  • Dominio de la administración de paquetes, usando el gestor de paquetes estándar de node.
  • Introducción.
  • Descargas.
  • Versionado.
  • Tareas de ejecución.
  • Manipulación de los emisores de eventos, abordando el núcleo y la arquitectura de node.
  • Uso de argumentos y contexto.
  • Repaso de asíncrono vs síncrono.
  • Manejo de eventos sólo una vez.
  • Eventos de error.
  • Captura rechazos de promesas.
  • Comprensión y manejo de un servidor web para presentar las aplicaciones desarrolladas.
  • Introducción.
  • Propiedades.
  • Eventos.
  • Señales.
  • Conocimiento de Streams (Flujos), interfaz abstracta para trabajar con el flujo de datos en node, como puedan ser imágenes, texto y videos.
  • Tipos de streams
  • API para consumir e implementar streams
  • Domino sobre las librerías que incluye Node.
  • Librerías existentes.
  • Utilidades y comprensión de archivos.
  • Módulos disponibles de Node.
  • HABILIDADES DE GESTIÓN, PERSONALES Y SOCIALES
  • Actitud creativa para realizar protocolos y diseñar pruebas de funcionamiento de
  • interfaces.
  • Colaboración profesional y habilidades de comunicación para resolver situaciones y exponer conclusiones de Networking.
05

Servicios web con Express: Librería para el backend

  • OBJETIVO
  • Familiarizarse con Express (funcionalidades, componentes y su encaje con Node), para la construcción de una aplicación del lado del servidor.
  • CONOCIMIENTOS / CAPACIDADES COGNITIVAS Y PRÁCTICAS
  • Dominio para generar la infraestructura web mínima mediante Express.
  • Qué es Express y para qué sirve.
  • Cómo trabajar con Express.
  • Manipulación para añadir funciones Middleware a la infraestructura levantada con Express.
  • Tipos de funciones existentes.
  • Middleware de aplicación.
  • Middlewares de terceros.
  • Middlewares incorporados.
  • Middleware de manejo de errores.
  • Conocimiento del middleware de enrutado con Express.
  • Verbos HTTP.
  • Definición de rutas.
  • Utilización del funcionamiento del direccionamiento de Express.
  • Como establecer respuestas a los distintos tipos de solicitudes.
  • Uso del direccionamiento Express.
  • Dominio de los conceptos de sesión de Usuario, token y cookies, su función para la autenticación de usuarios y aplicaciones, como trabajar con ellas y su implementación.
  • Qué son y cómo trabajar con cookies.
  • Qué son y cómo trabajar con sesiones.
  • Qué es y cómo trabajar con JWT.
  • HABILIDADES DE GESTIÓN, PERSONALES Y SOCIALES
  • Interés por identificar, analizar y diseñar servidores y APIs robustos, de forma rápida y sencilla.
  • Implicación para trasmitir el valor añadido de un proyecto en forma de presentación al resto de compañeros.
06

Client-Side JavaScript: Frontend sin librerías

  • OBJETIVO
  • Crear programas en lenguaje Javascript que se ejecutarán en el navegador del cliente, de forma independiente y sin recurrir al servidor.
  • CONOCIMIENTOS / CAPACIDADES COGNITIVAS Y PRÁCTICAS
  • Comprensión de los “Browsers APls” sus funcionalidades y el modo de uso mediante Javascript.
  • Qué son y qué funciones tienen.
  • Aplicaciones de “Browsers api”.
  • Dominio de los diferentes métodos de selección de elementos de la página web según las circunstancias.
  • getElementById.
  • getElementsByTagName.
  • getElementsByClassName.
  • getElementsByName.
  • querySelector.
  • querySelectorAll.
  • Manejo de los atributos de un elemento para modificar cómo se representa en la página web.
  • Los atributos de un elemento web.
  • Propiedades y funcionalidades de los elementos web.
  • Aplicar los atributos de un elemento.
  • Manejo de los elementos que conforman la página web para modificar dinámicamente su visualización en el navegador del cliente.
  • Las propiedades de los elementos.
  • HABILIDADES DE GESTIÓN, PERSONALES Y SOCIALES
  • Capacidad de análisis y síntesis para crear programas en lenguaje Javascript que se ejecutarán en el navegador del cliente.
  • Rigor en el diseño de programas independientes del servidor.
07

HTML y CSS: Marcas y estilos

  • OBJETIVO
  • Aprender el manejo del lenguaje HTML, su función en la navegación web y el uso de marcas que realiza, así como el manejo del lenguaje CSS para definir la apariencia y presentación de una web.
  • CONOCIMIENTOS / CAPACIDADES COGNITIVAS Y PRÁCTICAS
  • Conocimiento del lenguaje HTML para crear páginas web.
  • De dónde surge y con qué objetivo.
  • HTML un lenguaje universal.
  • Dominio de HTML y aplicación del lenguaje CSS.
  • Las reglas de estilos, cómo son interpretadas por el navegador y cómo generarlas.
  • Qué es un selector y como aplicarlo.
  • Las consultas de medios para aplicar una regla de estilos según las características específicas del navegador del cliente.
  • Unidades de longitud porcentual para adecuar el contenido al tamaño de ventana del navegador del cliente.
  • Manejo de herencias de propiedades cuando se usan reglas de estilos.
  • Concepto de cascada a la hora de aplicar reglas de estilo.
  • Caja en CSS:
  • Su comportamiento de bloque.
  • Modelos de cajas.
  • Componentes y atributos.
  • Concepto de flujo y su función en la presentación de los elementos que conforman la web.
  • El atributo de posicionamiento de un estilo:
  • Cómo establecerlo de forma absoluta y relativa.
  • Cuándo usar uno u otro método.
  • Concepto de caja flexible y cómo trabajar con ello.
  • Concepto de rejilla y su uso a la hora de diseño web.
  • Concepto de diseño web responsivo y su importancia para que se acomoden al dispositivo y tamaño de visualización del navegador cliente.
  • Manejo de uso de fuentes e imágenes.
  • Manejo de transiciones y animaciones.
  • HABILIDADES DE GESTIÓN, PERSONALES Y SOCIALES
  • Orientación a servicio y nivel de calidad, en el manejo del lenguaje HTML y CSS en la navegación, apariencia y presentación de una web.
  • Actitud creativa para mostrar un proyecto de creación web.
08

React: Frontend con librerías

  • Crear interfaces web en el frontend mediante el software React.
  • CONOCIMIENTOS / CAPACIDADES COGNITIVAS Y PRÁCTICAS
  • Dominio de React.
  • Cómo facilita la creación de interfaces.
  • Qué es un componente en React.
  • Tipos existentes y cómo trabajar con ellos
  • DOM: Modelo de Objetos de Documento.
  • Uso de JSX.
  • Componentes simples.
  • Componentes con estado.
  • Utilización de Props.
  • Su función para el traspaso de datos entre componentes.
  • Props con valores por defecto.
  • Comunicando componentes mediante Props.
  • Estado de un componente y su función para mantener la información actualizada.
  • Comprensión de conceptos de historial y enrutado en React.
  • Función y manejo para mejorar la navegación del cliente.
  • Historial de React Router.
  • Historial de React Router para redireccionamientos.
  • History.push() en React Router.
  • Dominio de la herramienta Webpack para el desarrollo de aplicación React.
  • Cómo instalar webpack.
  • Configurar webpack para React.
  • Aplicación de la fase de pruebas para comprobar el funcionamiento correcto.
  • Qué es Jest: marco de prueba de JavaScript.
  • Configurar Jest.
  • Realización de depuración de código y formas de mostrar los errores de ejecución de la aplicación.
  • Depuración por consola.
  • Depuración con plugins de navegador
  • HABILIDADES DE GESTIÓN, PERSONALES Y SOCIALES
  • Interés por la utilización eficiente de software React para la creación de interfaces web.
  • Demostración de rigurosidad en el manejo de herramientas, realización de pruebas de funcionamiento y depuración de código en la ejecución de una aplicación.
09

Amazon Web Services: Infraestructura Virtual

  • OBJETIVOS
  • Familiarizarse con la nube como proveedor de servicios de Amazon y sus servicios más habituales.
  • CONOCIMIENTOS / CAPACIDADES COGNITIVAS Y PRÁCTICAS
  • Comprensión del concepto de nube privada (Virtual private Cloud).
  • La red privada virtual en la nube de Amazon.
  • La gestión del networking en Amazon.
  • Dominio de los Grupos de Seguridad (Security Groups) para controlar los permisos de entrada y salida web.
  • Concepto de grupos de seguridad.
  • Su función para asegurar el adecuado acceso de las instancias de máquinas virtuales que están en la nube.
  • Generación de bases de datos relacionales y su uso.
  • Las bases de datos relacionales como servicio en la nube de Amazon.
  • Aplicaciones de bases de datos en la nube.
  • Aplicación y manejo de instancias de máquinas virtuales en la nube de Amazon.
  • Elastic Compute Cloud y sus aplicaciones.
  • Conocimiento de otros servicios que ofrece Amazon web services.
  • Route 53 para la gestión de nombres de dominios.
  • S· para el almacenamiento en la nube.
  • HABILIDADES DE GESTIÓN, PERSONALES Y SOCIALES
  • Concienciación de la importancia de la gestión de sistemas en la nube y aplicación de mecanismos de control para su gestión.
  • Toma de conciencia de la importancia de las técnicas de seguridad en entornos cloud para la protección de las aplicaciones y los datos.
  • Autonomía y actitud activa en el manejo de instancias de máquinas virtuales en la nube.
10

Agile: Buenas prácticas

  • Entender la forma de trabajar Agile, su funcionamiento y aplicación a la gestión y desarrollo de proyectos para realizar el trabajo de forma eficiente.
  • CONOCIMIENTOS / CAPACIDADES COGNITIVAS Y PRÁCTICAS
  • Conocimiento del “Manifiesto Ágil”, implicaciones, pilares de la metodología y su aplicación.
  • Personas versus herramientas.
  • Importancia de la colaboración con el cliente.
  • Flexibilidad frente a posibles cambios de escenario.
  • Conocimiento de la metodología SCRUM.
  • Definición del concepto.
  • Ventajas de su aplicación.
  • Trabajo en equipo en el desarrollo de proyectos.
  • Conocimiento de Testing, patrones de diseño de software para test.
  • Definición del concepto.
  • Tipos de test.
  • Cómo, cuál y cuándo aplicar cada tipo de test.
  • HABILIDADES DE GESTIÓN, PERSONALES Y SOCIALES
  • Desarrollo de competencias clave en el diseño de software para servicios web:
  • Trabajo en equipo y colaborativo.
  • Capacidad para liderar y ser liderado.
  • Curiosidad y autoaprendizaje.
  • Autogestión y organización.
  • Creatividad.
  • Resolución de problemas.

Especialidad formativa

¿Quieres esta formación para tu organización?