PDF de programación - Desarrollo de aplicaciones web

Imágen de pdf Desarrollo de aplicaciones web

Desarrollo de aplicaciones webgráfica de visualizaciones

Publicado el 4 de Octubre del 2018
787 visualizaciones desde el 4 de Octubre del 2018
2,4 MB
184 paginas
Creado hace 3a (09/09/2016)
Table of Contents

1. Introduction 1.1
2. Entorno de trabajo 1.2
1. Software 1.2.1
2. Configuración de Sublime Text 1.2.2

3.
4. Multimedia 2.1

1. Imagen 2.1.1
2. Video 2.1.2
3. Audio 2.1.3
4. Qué funciona en la web 2.1.4

5.
6. La Web actual 3.1

1. La Web actual 3.1.1
2. Proyecto Web básica 3.1.2
3. Tiempo de carga 3.1.3

7.
8. CSS avanzado 4.1

1. Lenguajes de preprocesado: Sass 4.1.1
2. Uso de Bootstrap 4.1.2

9.
10. JavaScript 5.1

1. Características generales 5.1.1
2. linters 5.1.2
3. jQuery 5.1.3

1. Efectos en jQuery 5.1.3.1
2. html y jQuery 5.1.3.2
3. Eventos 5.1.3.3
4. Ajax 5.1.3.4
5. ¿Adios jQuery? 5.1.3.5

11.
12. Node.js 6.1

1. Introducción a Node.js 6.1.1
2. Crear una librería en node.js 6.1.2
3. Arquitectura de una API REST 6.1.3
4. Creación de una API con node.js 6.1.4

13.
14. SPA 7.1

1. Arquitectura de un SPA 7.1.1
2. PhoneGap 7.1.2

15.
16. Web Components 8.1

1. Entorno de desarrollo mediante Webpack 8.1.1
2. Características de ES2015 8.1.2
3. Evolución del CSS 8.1.3
4. Reactjs 8.1.4
5. Real Time 8.1.5

17.
18. Proyectos solucionados 9.1

1. Proyecto Web básica 9.1.1

1

2. Web con bootstrap y gulp 9.1.2
3. React.js con material-ui 9.1.3

2

Introduction

Introduction
Introducción
Objetivos del curso

Configurar entornos reales de trabajo para desarrollo web

Editor de código
Control de versiones
Automatización de tareas

Desarrollo Web actual

Páginas adaptables
Criterio Mobile First
Frameworks de CSS: Bootstrap y Material Design
Frameworks de JavaScript: React.js

Conocer arquitecturas de desarrollo de software

MEAN stack
Real time
Aplicaciones híbridas para móviles
Web Components

Apreciar la evolución en el desarrollo del software

Tests: Mocha, Code coverage, Travis...
CSS -> Preprocesado de CSSS -> Frameworks de CSS -> CSS Modules...
Uso de transpilers y evolución actual de JavaScript

Conocimientos previos

html, css y js básico
Puedes seguir este tutorial para html y css básico
Empezaremos con un ejercicio práctico:

Nos familiarizamos con Sublime Text
Practicamos con Emmet
Repasamos Chrome Developer Tools
Repasamos etiquetas html5 y css

Relación con el currículo de DAW

Sistemas informáticos

Utilizaremos comandos de consola de Linux
Ejecución de servicios
Añadir repositorios e instalar paquetes

3

Introduction

Bases de datos

Utilizaremos una base documental MongoDB (la opción más extendida)

¡¡¡No aparece en el currículo!!!

Quizá algún ejercicio con MySql y phpMyAmin

Lenguaje de marcas

Crear y validar documentos en html

Programación

Utilizaremos elementos y estructuras propias de los lenguajes de programación, mediante
JavaScript

Entornos de desarrollo

Arquitectura de aplicaciones Web

Api REST
Aplicaciones para móviles

Instalación y uso de entornos de desarrollo
Configuración y uso de Sublime Text
Otras opciones
Entornos de optimización y automatización de tareas mediante con node.js

Pruebas mediante Mocha
Integración continua mediante Travis CI
Code Coverage con istanbul
Control de versiones con Git y GitHub

Despliegue y aplicaciones Web

Instalación de un servidor Web

Express y node.js

Control de versiones con Git y GitHub

Desarrollo Web en entorno Servidor

Arquitectura de aplicaciones Web
Api REST

Soluciones híbridas
Soluciones en tiempo real
¡Nada de etiquetas embebidas: asp, php...!

Desarrollo Web en entorno Cliente

Repaso general de todo el temario

Diseño de interfaces Web

Repaso general de todo el temario

Cómo trabajar

4

Introduction

Roles

¿Quién es el profesor?

Persona con conocimientos límitados
Tiempo de respuesta: ¿horas? ¿días?
Buen orientador

¿Quién es stackoverflow?

Multitud de personas con múltiples conocimientos (ver tags)
Tiempo de respuesta: ¿minutos?
La mejor herramienta junto con GitHub para ir haciendo curriculum

Trabajo por proyectos

Complicado con los módulos si los hacemos "estancos"
Fomenta la creatividad y el trabajo en equipo
Que trabajen los alumnos. Es más interactivo y menos cansado :-)
Los controlamos mediante GitHub o Bitbucket

Repositorios privados o públicos
PR en vez de copiarse del compañero
Tiene que estar claro como funciona desde 1º y no hay otra forma que haciendo código

Otras ideas

Servidor en la nube

So You Start con Vesta
Primer portfolio del alumno
Entorno real

Virtualiza con Docker

Más rápido
Se puede montar un servidor de imágenes Docker en el propio centro
Uso de gestores de contenidos (Wordpress, Joomla, Magento, Prestashop)...

Documentación

Generada con Gitbook

Para generar las slides, pdf, epub o mobi

Es necesario tener instalado calibre

git clone git@github.com:juanda99/curso-webapps.git

5

Introduction

cd curso-webapps
gitbook install
npm install -g gitbook-cli
npm install
npm run slides
npm run pdf
npm run epub
npm run mobi

Libro online con generación de pdf, epub y mobi

6

Entorno de trabajo

Entorno de trabajo
Entorno de trabajo

Los objetivos de este capítulo son los siguientes:

Tener una lista de software necesario y su procedimiento de instalación, de modo que se pueda
replicar de forma rápida.
Tener anotados todos los ajustes, configuraciones y plugins que nos van a hacer falta en los
distintos programas (especialmente en Sublime Text) que utilizaremos a lo largo de todo el
curso.

7

Software

Software
Instalación y configuración del software
nvm

Instalaremos y utilizaremos node vía nvm (node virtual manager)

Esto nos permitirá:

Poder cambiar de versión de node de forma transparente
Evitar tener que hacer sudo cuando instalemos paquetes de forma global

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.31.1/install.sh | bash

Instalar una versión de node:

nvm install 5.0

Ver las versiones que hay instaladas:

nvm ls

Usar una versión en particular:

nvm use 5.0

Usar una versión en particular siempre que abrimos un shell:

nvm alias default 5.0

node

La otra opción sería instalar directamente node:

curl -sL https://deb.nodesource.com/setup_5.x | sudo -E bash -
sudo apt-get install -y nodejs
sudo apt-get install build-essential

Comprobamos que esté instalado:

npm -v
node -v

Instalación de git:

sudo apt-get update
sudo apt-get install git

git

8

Software

Configuración necesaria para cada commit que haga:

git config --global user.name "Your Name"
git config --global user.email "youremail@domain.com"

Opcionalmente el editor (si no me gusta el que hay por defecto):

git config --global core.editor vi

Configuración de git

Git tiene 3 niveles de configuración, cada nivel sobreescribe el anterior:

Para todos los usuarios: /etc/gitconfig
Para un usuario: ~/.gitconfig (opción --global)
Para un repositorio: .git/config

Para ver los parámetros configurados:

git config --list

Viene bien tener una chuleta de comandos de Git

Configuración de GitHub

Nos registramos en Github
Accedemos a nuestra cuenta

Vamos a los settings y asociamos una ssh-key

Evitaremos introducir usuario/contraseña en cada git push

Como creamos nuestra ssh-key:

ssh-keygen

Copiaremos el contenido de ~/.ssh/id_rsa.pub a una nueva clave ssh en GitHub

Instalación de zsh

Algunos prefieren fish

Otros son fieles a bash

sudo apt-get install zsh
chsh -s $(which zsh)

Instalo oh-my-zsh

Añado el plugin para nvm y git

Instalación de Sublime Text 3

Lo veremos en el siguiente punto.

9

Software

La elección de un IDE o un editor de código no es trivial y la configuración del mismo para explotar
todas sus posibilidades tampoco.

Instalación de Google Chrome

Desde la web

Instalación de Adobe Brackets

Web de referencia
Es un editor exclusivamente para web (js, html, css)
Más información

Instalación de Gnome Shell

Como instalarlo y configurarlo
Instalaremos también un terminal: Guake

Instalación de MongoDB

Instalaremos primero mongodb:

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv EA312927
echo "deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list
sudo apt-get update
sudo apt-get install -y mongodb-org

El servicio se levanta como otros servicios de Linux:

sudo service mongod start

Y para entrar a su consola, mediante mongo, o mediante algún gui como por ejemplo
Robomongo, que también podemos instalar desde su web.

Instalación de Android Studio

Lo podemos instalar de forma manual:

Descargar software
Instalar dependencias como Java y librerías varias

Mediante ubuntu-make (antes Ubuntu developer tool center)

cli para descargar e instalar la última versión de las herramientas más populares de
desarrollo
Gestiona las dependencias

ubuntu-make

Instalación de umake:

sudo add-apt-repository ppa:ubuntu-desktop/ubuntu-make
sudo apt-get update
sudo apt-get install ubuntu-make

10

Software

Uso de umake (ver lista de software)

umake -h
# por ejemplo en IDES
umake ide -h

Instalación de Android Studio:

umake android # umake android android-studio

Una vez instalado ejecutamos studio.sh que nos instalará el SDK.

Variables de Shell

Fichero $HOME/.zshrc para el shell zsh:

export ANDROID_HOME='/home/usuario/Android/Sdk'
path+=('/home/usuario/Android/Sdk/tools' '/home/usuario/Android/Sdk/platform-tools')

Añado también el repositorio de los binarios de npm (lo utiliza Sublime Text y al usar zsh hay
que dárselo). Fichero $HOME/.zshenv:

path+=('/home/usuario/.nvm/versions/node/v5.0.0/bin/')

Test de funcionamiento

Cierra y vuelve a abrir el shell
Ejecuta un comando como android avd

11

Configuración de Sublime Text

Configuración de Sublime Text
Configuración de Sublime Text
Editores de código

Sublime Text, Atom, Brackets

IDE: Integrated Desktop Environment (

WebStorm
NetBeans, Eclipse, Android Studio
¿Visual Studio Code?

Un IDE tiene muchas cosas "out of the box":

Terminal
VCS (Version Control System)
Task Runner (Grunt, gulp...)
Debug, testing...

Un editor de código tiene:

Ventajas:

Más ligero
Lo configuras a tu manera (plugins)

Desventajas:

Trabajo de configuración
No está integrado

Instalación de Sublime T
  • Links de descarga
http://lwp-l.com/pdf13732

Comentarios de: Desarrollo de aplicaciones web (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad