¿Quieres aprender #frontend y no sabes ni por donde empezar?
Ruta (2021) para aprender las bases del Front-end

#HTML #CSS #Javascript

🧵Abro hilo.
CUALQUIER web está construida con HTML. Un buen primer paso sería aprender todas las etiquetas HTML que existen (o al menos, la mayoría).

Esta tabla periódica explica las etiquetas que existen en español (ampliando información pulsando en cada una):

lenguajehtml.com/html/introducc…
Hay que elegir un buen editor de código. Existen muchos (Sublime Text, ATOM, etc...) o incluso IDEs más potentes (WebStorm, etc...), pero el editor más popular hoy en día para frontend es Visual Studio Code (VSCode):

Puedes descargarlo desde aquí:
💾code.visualstudio.com
VSCode es muy personalizable. Puedes añadir extensiones para añadir funcionalidades especificas. Aquí tienes las extensiones que más uso:
manz.dev/software/vscod…

Además, si quieres tunear la config de VSCode, crear snippets para ir más rápido, etc:
Una vez vas aprendiendo todas las etiquetas que hay en #HTML, una buena referencia de ayuda puede ser descargar mi HTML cheatsheet. Está en formato PDF (bajo donación opcional), pero se puede descargar de forma gratuita desde aquí:

lenguajehtml.com/cheatsheets/
Por cierto, si lo prefieres, y te gusta más consumir la información de la tabla periódica en formato video, aquí tienes un directo donde hablo de cada una de esas etiquetas:

Una vez conoces bien HTML, sería bueno profundizar en #CSS, para dar estilo a nuestras páginas y dotarlas de una buena apariencia visual.

Puedes apoyarte en la Guía «telefónica» de propiedades CSS:

lenguajecss.com/css/introducci…

¡También tenemos cheatsheet!
lenguajecss.com/cheatsheets/
Para empezar (ejercicios sencillos, demos o practicar) suelo recomendar la plataforma @Codepen:

codepen.io

Básicamente, es como Youtube, pero en lugar de subir videos, subes fragmentos de código, ejemplos, etc... que puedes guardar y compartir posteriormente.
Aunque mucha gente le suele tener miedo/respeto, creo que un buen frontend debe saber moverse bien en una terminal.

Muchas herramientas de front se usan desde una linea de comandos, por lo que es fundamental conocerla.

Aquí tienes unos primeros pasos:
terminaldelinux.com
Para que nuestra experiencia de desarrollador sea cómoda y agradable, necesitamos un servidor local de desarrollo (con reload).

¿Qué es esto? Básicamente, un sistema que vigila la carpeta que estás creando y cuando haces algún cambio, actualiza automáticamente (F5) el navegador.
Antes de comenzar con todo esto, debemos prepararnos para entrar en el mundo de #Javascript, por lo que un buen primer paso sería instalar NodeJS y NPM (su gestor de paquetes):

lenguajejs.com/npm/introducci…

De esta forma, será mucho más fácil gestionar e instalar paquetes.
Por cierto, si usas Windows 10+, te recomiendo fuertemente utilizar WSL (Windows Subsystem for Linux).

Con esto, puedes tener un subsistema de Linux dentro de Windows, que será muuuuuuuy cómodo para desarrollar.

Lo explico aquí:
terminaldelinux.com/terminal/wsl/i…
Volvamos al servidor local de desarrollo. Existen muchos:

1️⃣ live-server github.com/tapio/live-ser…
2️⃣ web dev server github.com/modernweb-dev/…

Pero uno de mis preferidos es servor:
3️⃣ servor github.com/lukejacksonn/s…

No tiene dependencias, es rápido, simple y tiene autoreload.
Sin embargo, en este mundo de Javascript de hoy en día, lo habitual suele ser utilizar un automatizador, empaquetador o «build tool».

lenguajejs.com/automatizadore…

Entre los más populares hoy en día: Webpack, Gulp y Parcel.

Mi preferido: Vite lenguajejs.com/automatizadore…
Sin embargo, si estás empezando en todo este mundo, el tema de los automatizadores comprendo que sea complejo y lioso.

En mis directos de Twitch he creado un script que lo hace más sencillo (usa Vite), y la curva de aprendizaje no resulta tan dura:
manz.dev/software/mkweb/
Una vez llegamos aquí, toca meterse en el complejo mundo de #Javascript. Antes de empezar, descárgate la cheatsheet de Javascript:
lenguajejs.com/cheatsheets/

Luego, echa un ojo a mi documentación donde puedes aprender desde lo básico a más avanzado:
lenguajejs.com/javascript/
Tienes desde conceptos básicos de aprendizaje (comentarios, estructuras, bucles, condicionales, etc...) hasta cosas más avanzadas (DOM, asincronía, promesas, peticiones, etc...)

lenguajejs.com/javascript/dom…
Ahora que sabemos un poco de Javascript y automatizadores, creo que podría ser un buen momento para aprender preprocesadores o automatizadores de CSS.

Hoy en día, el más utilizado es Sass. Sin embargo, yo suelo optar por PostCSS:
lenguajecss.com/postcss/introd…
Ya dominamos todo lo anterior. ¿Por donde seguimos?

¿Mi recomendación? Aprender WebComponents.
lenguajejs.com/webcomponents/…

WebComponents es una forma estándar de crear estructuras de código formadas por HTML, CSS y Javascript, utilizando el modelo de componentes.
No recomiendo empezar con WebComponents si no dominas Javascript vanilla antes.

También tienes una cheatsheet donde tienes los detalles importantes de WebComponents y como funciona el núcleo de Lit:

lenguajejs.com/cheatsheets/we…
Una vez aprendes los conceptos agnósticos de los componentes, llega el momento de entrar en el mundo de los frameworks de #Javascript, donde hay 4 caminos (entre otros):

1️⃣ React
2️⃣ Angular
3️⃣ Vue
4️⃣ Svelte
Puedes elegir cualquiera, pero aconsejo echar un vistazo a cada uno antes.

Mi consejo:

- Empieza por Vue (curva de aprendizaje sencilla)
- Luego, ojo a React (más demanda de empleo)
- Angular (más complicado, muy usado en empresas)
- Svelte (nuevo aún, pero prometedor)
Si empiezas por Vue, tengo otra ayuda más en la chistera:

Documentación sobre Vue:
lenguajejs.com/vuejs/

Y otra cheatsheet más:
lenguajejs.com/cheatsheets/vu…
Obviamente, esto no es todo lo que hay que aprender, pero es una buena ruta para empezar.

Si te interesa este mundo, ¡vente a mis directos de Twitch ( twitch.tv/ManzDev )!

¡Hacemos cosas entretenidas mientras aprendemos!
manz.dev/streams
🔴 EN DIRECTO 🔴

De hecho, si tienes ganas de curiosear, pasártelo bien y aprender... Esta tarde estamos en Twitch, intentando hacer una NES sólo con código (sin imágenes)...

¡Vente y participa! ➡ twitch.tv/ManzDev

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with Manz 🇮🇨⚡👾

Manz 🇮🇨⚡👾 Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @Manz

8 Nov
JAJAJAJA
#Javascript es raro

(Pues no tan raro como crees, lo explico)

🧵Abro hilo.
Me encuentro muchos tweets similares. En general, gente que no ha pensado demasiado lo que está ocurriendo (o no profundiza), o simplemente es hater de Javascript (y lo usan como excusa).

Un claro ejemplo es este popular meme, que expliqué en otro hilo:
«Pero a ver, Manz... ¿Qué estás diciendo? Javascript dice ahí que un array vacío no es lo mismo que un array vacío, obviamente está roto...»

Varias cosas:
1️⃣ Asumimos incorrectamente
2️⃣ Tipos primitivos / objetos complejos
3️⃣ Conceptos "valor" y "referencia"
Read 11 tweets
7 Nov
¡Ojo! ¡Una caja Funko Pop! dibujada en 3D con #CSS!
ManzDev (Twitch Code Streamer) ¡en edición limitada!

Por aquí links:
🐈Repo: github.com/ManzDev/twitch…
👀Demo @CodePen codepen.io/manz/pen/Yzxav…
🎬Video del making-of:

#html #css #javascript #webcomponents
Como curiosidades, hemos diseñado todo sin utilizar imágenes, sólo usamos #CSS para diseñar, y #WebComponents (nativos) para encapsular y reutilizar.

- 11 WebComponents
- 515 líneas totales de Javascript
- 449 líneas totales de CSS
Utilizamos la tipografía «Heroes Legend» para el logo, y la tipografía Bebas Neue para el resto de textos. Nuestra versión se llama «Punko FOP!» (gracias a pbl78 por la idea).
Read 11 tweets
3 Oct
En mis directos de Twitch suelo usar una característica muy interesante: un sistema que reduce el volumen de la música (sólo) cuando estoy hablando.

Uso OBS Studio, un software libre muy potente y popular tanto para hacer grabaciones como para streaming en @TwitchES o similares.
Lo primero, sería localizar el Mezclador de audio, donde aparecen todas las entradas de sonido que obtiene el OBS Studio.

En mi caso, tengo el "Audio del escritorio" (donde suena la música) y "Mic/Aux" donde tengo mi Blue Yeti (micrófono).
Vamos al "Audio del escritorio" (o a la entrada de audio donde capturas la música) y accedemos a los «Filtros».

En esta sección podremos añadir filtros para modificar el comportamiento de esta entrada de audio, así que añadiremos un filtro de tipo «Compresor».
Read 12 tweets
25 Jul
Developah: ¿Poner una imagen en HTML? ¡Claro que sé hacerlo! ¡Eso lo sabe hacer todo el mundo!

🧵Abro hilo.
A ver, maticemos un poco antes de que me caigan encima, que puede sonar prepotente.

En HTML suelen pasar dos cosas:

✅Es MUY FÁCIL hacer algo.
✅Es DIFÍCIL hacerlo correctamente.

¿Cómo pondrías una imagen?
— Fácil. Uso etiqueta `<img>` y en el atributo `src` pongo la imagen.
✅¿Funciona? Sí
❌¿Es correcto? No

En HTML, TODAS las etiquetas `<img>` deben tener el atributo `alt`, donde se debe especificar un «texto alternativo» de reemplazo por si, por alguna razón, las imágenes no están disponibles, se muestre dicho texto.
Read 21 tweets
23 Jul
Hace unos días hice una cortinilla para los cambios de escena en Twitch (sin After Effects o programas similares).

Los pasos que seguí:

1. Crear animación con HTML/CSS (JS opcional)
2. Establecer color #00ff00 para fondo a ignorar
3. Grabar en video la animación (ej: con OBS)
Una vez hecho esto, desde una terminal con ffmpeg convertimos el fondo verde (color #00ff00) en transparente:

`ffmpeg -i animation.mkv -filter_complex colorkey=0x00ff00:0.7:0.2 -vb 6000K chroma.webm

El `0.7` es un 70% de semejanza
El `0.2` es usar un 20% de transparencia
Por último, en OBS creamos una transición de tipo `Stinger` y seleccionamos el video que acabamos de crear.

En mi caso la animación es de 3 segundos, por lo que en "Tiempo de tipo de punto de transición" ponemos: `1500` (1,5 segundos). Image
Read 5 tweets
18 Jun
En #CSS, esencialmente, hay tres formas de hacer gradientes o degradados con múltiples colores (2 o más):

1️⃣ Gradiente lineal (en una dirección)
2️⃣ Gradiente radial (forma circular)
3️⃣ Gradiente cónico (cono visto desde arriba)

🧵Abro hilo.
A cada uno de ellos se les puede aplicar ciertas modificaciones...

1️⃣ Dirección (palabra clave o grados)
2️⃣ Forma (círculo por defecto, o elipse)
3️⃣ Desde donde parte (en grados)
Con los porcentajes (o tamaños) tras los colores, puedes indicar un punto de control donde comienza a cambiar el color (hacia el siguiente).
Read 13 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal

Thank you for your support!

Follow Us on Twitter!

:(