Documentos de Académico
Documentos de Profesional
Documentos de Cultura
FRONTEND (CLASE 2)
Perfiles de un Web Developer
Frameworks de CSS
Bootstarp
Materialize
Foundation
Los front-end también trabajan con algo que se llama frameworks ya que estos
traen ciertos fragmentos de css ya construidos y nos ahorra tiempo en
construcción de nuestro producto.
Frameworks y librerias de JS
Al momento de que un front-end maneje perfectamente javascript puede
escoger un framework o librería para construir productos que puedan escalar
más rápido y poder tener una interacción mucho mayor depende de producto o
página que queramos construir.
React
Angular
Vue
Preprocesadores de CSS
Es una forma diferente de hacer css tiene reglas distintas, hay desarrolladores
que dicen que es manejar css con poderes, aunque css evoluciona y trae
ciertas características al estándar sin tener que utilizar preprocesadores,
algunas vacantes requieren saber de estos para trabajar de manera diferente
con css.
Sass
Stylus
{less
Backend (clase 3)
Un backend trabaja del lado del servidor, quiere decir que va a manejar toda la
lógica al momento del que navegador hace una petición.
No tiene un estándar y tiene más tecnologías. Ej:
-Python
-PHP
-NodeJS
-Ruby
-Java
-Go
-.Net
Google Cloud
AWS
Digital Ocean
Heroku
Pero un backend también tiene que entender cómo funciona, y cómo conectan
lo que están haciendo y su base de datos para poder hacer un deploy de su
aplicación conectados con la parte del Front.
Fullstack (clase 4)
En el head van todos los archivos importantes para que nuestro proyecto
funcione correctamente, algunos como: Estilos, fuentes, descripciones,
librerías… Es la parte no visible de nuestra página.
<!DOCTYPE html>
<!--Le decimos al navegador que este archivo es del tipo html:5-->
<htmllang="es">
<!--Es la etiqueta "padre" donde vivirá nuestro proyecto. El
atributo lang establece el idioma del sitio web. Debemos usarlo para
que el navegador pueda traducir nuestra página-->
<head>
<metacharset="UTF-8" />
<!--Este atributo nos ayuda a la hora de incluir caracteres
especiales y emojis en nuestro proyecto-->
<metaname="robots"content="index,follow" />
<!--Le dice a los robots de los navegadores que rastreen nuestra
página y la muestran en las búsquedas-->
<title>Mi página</title>
<!--Título de nuestra página, no confundir con los H1-H6. Este
titulo es el que ves en la pestaña del navegador-->
<metaname="viewport"content="width=device-width, initial-
scale=1.0" />
<!--Nos ayuda a trabajar en proyectos reponsive-->
<linkrel="stylesheet"href="./css/style.css">
<!--Linkea/Enlaza archivos de estilos u otros archivos que
necesitemos en nuestro proyecto-->
</head>
<body>
</header>
<section>
<!--Nuestro website puede estar divido por secciones, por
ejemplo platzi tiene 3: El navegador de cursos y rutas, el feed y
nuestras rutas de aprendizaje-->
<article>
<!--Contenido independiente de la página. Es reutilizable-->
</article>
</section>
</ul>
</main>
</footer>
<h1>Soy un titulo</h1>
<!--Títulos, muestran el texto más grande y con negrilla. Existen
desde el h1 al h6-->
<ahref="#">Soy un link</a>
<!--Enlaces/links que nos permitirán movernos entre páginas.-->
</body>
Tipos de imágenes
Optimización de imágenes
Tamaño máximo recomendado para una imagen:
70kb
.
Herramientas para optimizar imágenes:
En promedio una imagen debe de pesar alrededor de 70 kb a 100 kb, no puede pasar
más de 1 Mb. Tienes dos opciones para cumplir esto:
• Mejora el tamaño de tus imágenes: Tiny PNG, con esta página tú puedes agarrar una
imagen, puedes ponerla en la pagina y la pagina se va a encargar de comprimirla y
regresarte ya con un tamaño mucho más óptimo. Es mucho más funcional con
imágenes JPG.
• Retira metadatos de tus imágenes: Verexif: cuando tu tomas una fotografía con tu
celular, el celular le agrega ciertos datos que se llama metadatos a esta imagen, esta
fotografía va llevar como metadatos la hora en la que se tomó, el lugar en donde se
tomó y otro tipo de información que tu celular le va a agregar a esta imagen, lo que
tenemos que hacer es quitarle esos datos. Así que en esta pagina cuando tu tomes
una fotografía con el celular o te pasen una fotografía que viene de alguna cámara tu
puedes limpiar esos metadatos para quitar ese peso extra que en tu proyecto no lo vas
a necesitar.
Etiqueta Figure
Es importante considerar que la etiqueta FIGURE no es únicamente para imágenes:
<figure>
<img
src="./pics/tinified/small.jpg"
alt="Es una imagen de un perrito"
/>
<figcaption>Es una imagen de un perrito</figcaption>
</figure>
<figcaption><figcaption/>
Esta etiqueta nos ayuda a darle una descripción a la imagen (autor, tipo, año,
etc…) y sera visible en la parte de abajo de la imagen
Etiqueta de Video
<body>
<main>
<section>
<video controls preload="auto">
<sourcesrc="./miVideo.mp4#t=10,60" />
<sourcesrc="./miVideo.mpv#t=10,60" />
</video>
</section>
</main>
</body>
Dentro de estas etiquetas indicaremos los elementos del Formulario como lo son…
<label></label> que sera como nuestro “Contenedor” en esta ocasión. Dentro de el
pondremos la etiqueta <span></span> (No es necesario) para colocar un texto
haciendo alusión al contenido esperado (nombre, contraseña, fecha etc…) y viene una
de las etiquetas importantes la cual es <input> aquí es importante aclarar que hay
muchos tipos de Input, los que verán en este ejemplo son text, password, date,
time pero hay muchos más…
<form action="">
<labelfor="calendario">
<span>calendario</span>
<inputtype="datetime-local" id="calendario"
name="calendario">
</label>
<inputtype="submit">
</form>
<main>
<formaction="">
<labelfor="nombre">
<span>Cual es tu nombre?</span>
<inputtype="text"id="nombre"name="nombre"autocomplete="name
"required>
</label>
<labelfor="correo">
<span>Cual es tu correo?</span>
<inputtype="email"id="correo"name="correo"autocomplete="ema
il"required>
</label>
<labelfor="pais">
<span>De que país nos escribes?</span>
<inputtype="text"id="pais"name="pais"autocomplete="country"
required>
</label>
<labelfor="cp">
<span>Codigo Postal</span>
<inputtype="text"id="cp"name="cp"autocomplete="postal-
code"required>
</label>
<inputtype="submit">
</form>
</main>
Select (CLASE 19)
Para crear inputs con una lista de varias opciones, se puede desarrollar de dos maneras
diferentes:
.
1. Etiqueta <select>: Esta permite crear la lista, con las etiquetas <option>:
Una pseudoclase CSS es una palabra clave que se añade a los selectores y que
especifica un estado especial del elemento seleccionado. Por ejemplo, :hover aplicará
un estilo cuando el usuario haga hover sobre el elemento especificado por el selector.
:root{}
Representa elemento HTML, con la especificidad de clase
usado para anidar variables CSS
:active
Se activa al hacer clic down
:visited
Cambio visual cuando se visita un enlace
:hover
Permite cambiar el estado de un elemento cuando el mause se
sobrepone sobre él
:empty
Ayuda a detectar cuando un elemento esta vacío. -
ejemplo .class:empty{background:yellow;} //resaltar
:nth-child()
tag:nth-child(2){} - afectara al segundo elemento
p::first-letter {
color: red;
font-size: 20px;
}
Toma solo la primera letra de un elemento, no todo su
contenido. Solo la primera letra.
Medida absoluta: el valor de este no cambia y siempre será el mismo así la página
cambie su tamaño, las medidas absolutas son:
.
mm = milímetros
cm = centímetros
in = pulgada
pc = picas
px = pixel
.
las medidas relativas: estas medidas heredan el tamaño o se basan en algún tamaño que
se allá seleccionado y el valor ira cambiando según si la página cambia de tamaño, las
medidas relativas son :
.
%
em
rem
Medidas em EM (CLASE 34)
.container {
font-size: 20px
}
.container div {
Font-size: 2em;
}
Aquí los el tamaño del div que está dentro de la clase container tendrá un
tamaño de 40px, ya que
1em = 20px
.container {
font-size: 20px
}
.container div {
Font-size: 2em;
}
.container div p {
font-size: 1.5em
}
REM : funciona igual que el em, con la diferencia que es relativo al valor de la
fuente del elemento html, y no tiene en cuenta el valor heredado o del elemento
que lo contiene.
Por defecto el html viene con un tamaño de fuente de 16px así que siempre
.
1 REM = 16PX
Si queremos aplicar rem de una forma más sencilla para no tener que hacer
tantos cálculos asemos lo siguiente.
html {
font-size: 62.5%;
}
Esto lo que hará es darle a el html un valor de 10px ya que 16px - 62.5% =
10px
Ahora si por ejemplo a una etiqueta le asignamos 2rem este hará referencia a
20px, o si por ejemplo le damos un valor de 1.5rem su valor será de 15px
Valores de position
Flexbox
Este display es muy útil/usado, este se lo asignamos a un contenedor display:flex; y
todos sus hijos directos se volverán flex items es decir estarán listos para usarlos en flex.
Direction
El flex direction indica hacia donde se irán colocando los elementos, puede ser
row(derecha), column(abajo) o row/column + (-reverse) que son sus opuestos, todos
tienen un start y un end que es su dirección con sentido.
Default
flex-basis es auto.
flex-wrap es nowrap.
Wrap
Esta propiedad define si uno puede usarse otra dimensión ya que si no hay los objetos se
saldrán del flexbox porque solo siguen una dirección. Si le añadimos los objetos se
moverán a la línea siguiente, si es rojo se irá a la línea de abajo, si es columna se irá a
una “columna” a un lado. No usar esta opción es nowrap activarla es wrap
Flex-flow
La propiedad flex flow junta la dirección y el wrap colocando primero la dirección y
luego el wrap.