No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

No se trata de lo que quieres comprar, sino de quién quieres ser. Invierte en tu educación con el precio especial

Antes: $249

Currency
$209

Paga en 4 cuotas sin intereses

Paga en 4 cuotas sin intereses
Suscríbete

Termina en:

12 Días
6 Hrs
18 Min
9 Seg

Ecosistema de frameworks y librerías JavaScript

6/28
Recursos

Aportes 47

Preguntas 4

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

🤔 ¿A quién recomiendan seguir en Twitter para tener una buena dosis diaria de consejos sobre programación?

RESUMEN

Existen empaquetadores que nos ayudan a tener todos los archivos en produccion pero al momento de mandar al navegador sea lo mas ligero posible

  • Webpack: Requiere que configuremos un archivo para especificar como queremos nuestro archivo.
  • Parcel: Es evitarnos cualquier configuracion, trae todo listo para que construya toda su magia. No tenemos control de como empaqueta.
  • Rollup: Se especializa en tener todo optimizado con una tecnica especial donde elimina el codigo inutil

Se dice que usemos webpack para paginas web y aplicaciones y Rollup para librerias.

Compiladores que transforman codigo Javascript que no es exactamente JS que los navegadores si pueden entender:

  • Babel: Nos permite usar el codigo del futuro en proyectos que utilizan otra version, unificando todo en una version que entiendan los programadores
  • TypeScript: Es un lenguaje de programacion con sus nuevas reglas que nos permiten entender mas facil los errores en JavaScript

Las herramientas para UI son para encargarse de las vistas e interaccion con los usuarios, puede ser JS solito pero si trabajamos en Frameworks se suelen usar:

  • React
  • Vue
  • Svelt

Estan los estilos donde se pueden usar diferentes cosas, pero hay que tener en cuenta que a veces escribimos mas JS que CSS:

  • CSS
  • SASS
  • LESS
  • STYLUS

En CSS-in-JS normalmente el html, el css y el JS estaria en cada archivo individual pero esto nos permite desarrollar en los 3 lengaujes en un mismo componente, que necesariamente no es un mismo archivo.

  • Styled Components
  • Emotion

En los Routers son la forma en la que hacemos la navegacion de la aplicacion, muestra cierto contenido dependiendo de la URL

  • React Router
  • Vue Router
  • Svelte Router
  • LitElement Router
  • Whatever Router

Los frameworks son elementos todos en uno, que se encargan de todos los apartados ya que todo lo contiene. Trabajar con un Framework acelera tu desarrollo.

  • Angular: Es todo poderoso pero por ser tan grande es bastante dificil de integrar con otras herramientas que no sean especiales para ANGULAR.

Los entornos de desarrollo completos son un todo en uno, un grupo de librerias configuradas para trbajar con mas librerias. se llaman mas CLI y desde la consola podemos elegir lo que queremos y configurar todo por nuestro lado.

  • Create React App
  • Vue CLI
  • Svelte CLI
  • Polymer CLI
  • Whatever CLI

En el manejo de estado son las librerias que podremos definir un estandar de flujo de datos constante y predecible dentro de la aplicacion, en vez de que todos sean diferentes podremos definir un patron comun

  • Redux
  • XState
  • MobX

En la consulta de datos son formas o protocolos para comunicarnos con el backend para enviar y recibir informacion, hay herramientas para hacer peticiones que no hacen diferencia, pero estas herramientas si hacen diferencia:

  • API REST
  • GraphQL

Creo que la explicación de Juan DC sobre module bundlers (empaquetadores) es más entendible que el curso entero de webpack, aterriza muy bien los conceptos… ni siquiera lo entendí de la misma página oficial de webpack, creo que tiene el don de la pedagogía…algo que en un año de estudiar en platzi-desarrollo web lo he visto en contaditos profes, Freddy, De Granda, Juan DC y Jonathan Alvarez

#HaganLogosParaRoutersYCLIs

6-Ecosistema de frameworks y librerías JavaScript

Empaquetadores

Cuando trabajamos en un proyecto de verdad tenemos muchos archivos, pero no se los vamos a mandar todos al navegador por que cada ida y vuelta es muy demorado, en lugar de hacer una consulta para cada archivo podemos empaquetar todos los archivos en un solo y además vamos a optimizarlo para que el navegador se demore menos.

Para esto hay varias herramientas, las más populares siendo:

  • Webpack: Es la más popular, requiere que configuremos un archivo llamado webpack.config.js para especificarle como debe empaquetar los archivos.
  • Parcel: Nos hacen evitar cualquier tipo de configuración, ya tienen todo listo para que solo le digamos como ponerla.
  • Rollup: Se especializa en mantener muy pequeño el peso de los archivos, usa una técnica especial que se encarga de que no haya código de más, el único código que llega al archivo final es el que realmente estamos usando.

“Usemos webpack para construir sitios o aplicaciones web y que usemos rollup para construir librerías de JS”.

Compiladores

Su función es transformar código JS que no es exactamente JS a un JS que los navegadores si puedan entender.

  • Babel: nos permite usar la sintaxis del futuro de JS.
  • Typescript: Parecido a JS pero con sus propias reglas, es un lenguaje tipado y es orientado a objetos.

Herramientas para UI

Se encargan de la parte de vistas e interacción con el usuario, puede ser JS solo pero se pueden usar frameworks. Transforman componentes en un render con el que puedan interactuar los usuarios.

CSS y Preprocesadores

Podemos escribir el CSS de manera nativa, o podemos usar preprocesadores como los vistos en los cursos anteriores que nos permiten escribirlos más cómodamente y ellos se encargan de convertir ese código en CSS que los navegadores puedan entender.

CSS-in-JS

Es la forma de escribir CSS con JS, si usamos componentes con CSS-in-JS entonces podemos desarrollar con los 3 lenguajes en un mismo componente, este componente no significa un mismo archivo. Las herramientas más populares para esto son: Styled Components y Emotion.

Routers

Son la forma de hacer la navegación de nuestra aplicación, en los proyectos más pequeños probablemente no es necesario, pero si crece la aplicación muy probablemente si. Algunos son: React Router, Vue Router, Svelte Router, LitElement Router, Whatever Router.

Frameworks (todo en uno)

Son un todo en uno, cuentan con todo de lo de arriba o casi todo. Trabajar con un framework acelera mucho el desarrollo. El problema es que por ser tan grandes, es algo difícil de integrar con otras herramientas que no sean angular o que no hayan sido construidas exclusivamente para angular.

Entornos de desarrollo (todo en uno)

Son un grupo de librerías ya configuradas para que podamos trabajar con un montón de librerías en conjunto, normalmente estas herramientas se llaman CLI y nos dejan elegir desde la consola como queremos el proyecto. Podemos crear nuestros propios entornos de desarrollo a la medida de lo que necesitamos.

Create React App, Vue CLI, Svelte CLI, Polymer CLI, Whatever CLI

Manejo del Estado

Son las librerías que nos ayudan a definir un estándar de flujo de datos constante y predecible dentro de la app, en vez de tener cada componente trabajando diferente desde sus propios datos o teniendo diferentes partes de nuestra app comunicándose entre si de manera enredada vamos a tener un patrón común, un lugar centralizado dónde este toda la información y nos permita darle un mismo orden a la comunicación entre los componentes.

Como: Redux, XState, MobX

Consulta de Datos

Son formas o protocolos con los que nos comunicamos con el backend para enviar y recibir información de nuestros usuarios. La forma correcta de trabajar es creando capas, en vez de tener todo el código en un solo lugar, lo que hacemos es crear una capa de UI y otra capa para la consulta de datos, de esta forma a la capa de UI no le importa de donde sale la información o como aparece, solo los recibe. Algunas veces las herramientas con las que hacemos peticiones de datos también nos permiten manejar el estado de la aplicación

API Rest, GraphQl

Gran clase, todo super bien sintetizado y ordenado!

ajajajaj que monton de cosas es JavaScript, si desean ver cuales son las mas populares hace poco hubo un live donde freddy habla de esto
justo aqui

Esta clase es TOP.

Wow!! gracias por resumir espectacularmente tantísima información en 15 minutos de video =D Esta clase acaba de entrar en mi top de favoritos!! De esas que veo más de 5 veces =D Gracias de nuevo crack!!

A veces me siento un poco abrumado por la cantidad de conocimiento que hay que tener para dedicarse a esto 😅 . Paso gran parte de mi día estudiando acá en Platzi, y luego en la universidad, y aún así siento que todavía no me alcanza lo que sé para poder encontrar trabajo de Frontend developer.

Clase donde muestran el panorama completo de todo lo que implica hacer Frontend.

El curso de Oscar sobre Webpack es buenísimo! Recomiendo que lo vean, yo estoy esperando el curso práctico

Este video vale oro

Me llamo la atencion que mencione tanto Angular como que es grande. Yo soy de la escuela React y Vue. Nunca use Angular. Que tiene de ventaja?

Babel es un transpilador, el cual ayuda a convertir nuestro codigo de jsx o ts para que el navegador lo pueda intepretar.

Que nos diga Nicobytes si es complejo añadir librerías a Angular…

Yo tengo presente que Angular ofrece su buena documentación para añadir Libs: https://angular.io/guide/creating-libraries desde hace un buen tiempo, constantemente lo están actualizando.

Para entender mejor que son los empaquetadores. Les dejo este video 👉 Module Bundlers Explained… Webpack, Rollup, Parcel, and Snowpack donde explica por qué utilizar empaquetadores y una introducción breve de cómo usar Webpack

El profesor de por si habla rápido, no le pongan el X2 porque no entenderán nada

A quién más le dio ansiedad?

Asumecha

que son los frameworks

Que buena clase!

Hola! 💚 Estas son mis notas, puedes encontrar el documento completo en mi GitHub

Ecosistema de frameworks y librerías

Empaquetadores

En vez de hacer una consulta para cad archivo se empaquetan todos los archivos en uno solo, este proceso se optimiza para que el navegador demore lo menos posible. WebPack es una de las herramientas más populares. Parcel simplifica el proceso sin tener que hacer archivos de configuración, el proceso es automático.

Webpack para construir sitios y aplicaciones web, rollup para librerías en JS.

Compiladores

(no son exactamente compiladores pero cumplen la función de transformación de código)

  • Babel: Es un transpirador, permite utilizar ECMA Script, por meio de plugins permite programar de otras formas que JS no permite.

  • TypeScript: Es otro lenguaje de programación (subset), tipado y orientado a objetos, una de sus mayores ventajas es la inyección de dependencias.

Herramientas para UI

Vistas e interacción con los usuarios, puede ser sólo JS peero, un framework es una mejor herramienta. Transforman componentes en un render on el que puede interactuar el usuario.

Css y preprocesadores

Permiten mayor comodidad para la escritura de los estilos.

  • Css-in-JS: En un mismo componente se usan css, html y JS. Unas de las herramientas son estyled components, radium, afrodit, etc.

Routers

Son la forma en la que hacemos la navegación de nuestra aplicación.

Frameworks

Son hel todo en uno, se encargan de administrar casi todos los elementos mencionados anteriormente.

Manejo de estado

(Redux, XState o MobX)

Organización de comunicación entre componentes, cuando se cambia algo en el estado de la aplicación estas herramientas facilitan la administración de nuesvas características.

Consulta de datos

(API Rest o GraphQL)

Protocolos para comnicarse con el packet para enviar y recibir información de los usuarios.

La mejor forma de organizar una aplicación es organizarla por capas, esto es bueno en medida de que se puede trabajar en cada parte sin tener problemas con afectar las otras.

Fuentes de información

Que buen paseo por todas las herramientas (frameworks y librerias) que tenemos a disposicion cuando se desarrolla con js, obvio son muchas mas pero estas son las mas usadas

3:50 jajaajjajaja xD

¿Cuando usar Webpack o Rollup? Recomendación: - webpack para desarrollar sitios y aplicaciones web - Rollup para construir librerías de javascript

Qué opinan de Vite ?
Les dejo un video de óscar Barajasm hablando de éste tema. https://www.youtube.com/watch?v=pAJLR4W0190&t=29s

typescript es un “superset” de js

Tremenda la clase!

Clase bastante cargada de contenido pero a la vez interesante ya quiero aprender como utilizar estas herramientas.

TypeScript es un subset de JavaScript, es otro lenguaje pero con tipos y Orientado a Objetos

!

me rompieron la cabeza en esta clase,con todo lo que no sabia que no sabia
Ya termine el tutorial (primeros 40 cursos), ahora sigue lo bueno!!!!
Les comparto mis apuntes. 😁 # Empaquetadores Existen empaquetadores que nos ayudan a tener todos los archivos en producción lo más ligero posible, vamos a empaquetar todos nuestros archivos en uno solo, minificándolo y optimizándolo. Los más famosos son: * Webpack. * Parcel. * Rollup ## Webpack Requiere que configuremos un archivo para especificar como queremos empaquetar nuestros archivos desde HTML, CSS, JS, fuentes, imágenes, etc. Nos permite hacer code spliting, técnica que nos permite separar código para tenerlo en una archivo aparte y usarlo cuando se requiera. ## Parcel Evitarnos que tengamos cualquier configuración, trae todo listo para que construya el proyecto. No tenemos control de como empaqueta las cosas. ## Rollup Utiliza una técnica llamada tree shaking para filtrar el código que se usa del que no. Se especializa en tener todo optimizado con una técnica especial donde elimina el código inútil. > Rich Harris: “Use Webpack for apps, and Rollup for libreries” # Compiladores Tanto los compiladores como transpiladores nos permite transformar JavaScript (que no es JavaScript del todo) a un JavaScript que los navegadores sí entienden. ## Babel Es un transpilador que nos permite utilizar la sintaxis del futuro de JavaScript. Por medio de plugins podemos trabajar de forma más sensilla. ## TypeScript Es un superset de JavaScript, es un JavaScript pero con tipos. Es un lenguaje de programación, con sus propias reglas, que nos permiten evitar y corregir los errores que solemos tener con JavaScript. # Las herramientas para UI Se encargan de las vistas e interacción con los usuarios, puede ser solamente JavaScript, pero si trabajamos con Frameworks se suelen usar: * React. * Vue. * Svelte. Son herramientas que utilizan el estado que nos permiten hacer aplicaciones reactivas. Se encargan de transformar un componente en un render con el que el usuario pueda interactuar. # CSS y preprocesadores Tenemos los estilos, los preprocesadores se encargan que podamos escribir CSS de una forma más fácil y rápida, luego son procesados para tener al final uno o varios archivos de CSS puro. * CSS. * Sass. * Less. * Stylus. * PostCSS. # CSS in JS En CSS-in-JS, normalmente el HTML, el CSS y el JavaScript estaría en cada archivo individual, pero esto CSS-in-JS nos permite desarrollar en los 3 lenguajes en un mismo componente, que necesariamente no es un mismo archivo y/o carpata. * Styled Components. * Emotion. # Routers En los Routers son la forma en la que hacemos la navegación de la aplicación, muestra cierto contenido dependiendo de la URL. * React Router. * Vue Router. * Svelte Router. * LitElement Router. * Whatever Router. # Frameworks Los frameworks son un conjunto de librerías. Los frameworks son herramientas completas, son un todo en uno, que se encargan de todos los apartados, contiene todo para poder desarrollar. Trabajar con un framework acelera el desarrollo. Es un poco más complicado integrar nuevas librerías a los frameworks, mientras que integrar librerías en librerías es mucho más sencillo. ## Angular Angular es una plataforma, un conjunto de frameworks. Este es poderoso, pero por ser tan grande y tener tanta infraestructura lista es bastante difícil de integrar con otras herramientas que no sean especiales para Angular. # Los entornos de desarrollo completos Son un todo en uno, un grupo de librerías configuradas para trabajar con más librerías en conjunto. Se llaman CLI (Command Line Interface) y desde la consola podemos configurar el proyecto a nuestro gusto. * Create React App. * Vue CLI. * Svelte CLI. * Polymer CLI. * Whatever CLI. # Manejo del estado Son las librerías que podremos definir un estándar, un flujo de datos constante y predecible dentro de la aplicación, en vez de que todos los componentes trabajen de diferente forma podremos definir un patrón en común. Cada framework tiene su propia forma de manejar el estado, funciona bien al inicio, pero a largo plazo se vuelve muy complejo mantenerlo o escalarlo. Al usar las librerías de manejo de estado es difícil al inicio implementar, pero a largo plazo se vuelve más sencillo escalarlo y mantenerlo. * Redux. * XState. * MobX. # Consulta de datos Son formas o protocolos para comunicarnos con el backend para enviar y recibir información, por encima de estos hay herramientas para hacer peticiones que no hacen tanto la diferencia, pero estas herramientas sí hacen la diferencia: * API REST. * GraphQL. Las herramientas para la consulta de datos, a veces también, nos permiten manejar el estado de nuestra aplicación. * Apollo GraphQL. # Forma de trabajar La mejor forma de trabajar es por medio de capas, teniendo una capa para la UI y otra para la consulta de datos. De esta forma, la capa de UI solo recibe la información, sin importarle como se hace esa petición.

Quen diria que dany lux enseñaria JavaScript

Mensaje del futuro: Create React App ha servido valientemente pero ya no está entre nosotros

Ay Diositooo me dio amsiedad

ola juan ya que te veo por aca y que toco el tema de webpack yo soy nuevo en esto estoy aprendiendo poco a poco pero quería aprender sobre test which react y los cursos que muestra platzi son muy desactualizados hay unos cursos de hace 3 años y en este momento ya a cambiado muchas cosas bueno que actualizaran estos cursos y que usted fuera el profesor sería genial.

¿Ahora que builders además de Vite se están usando? Detesto vite y me gustaba mucho Webpack, pero he visto que Webpack no ha hecho más que caer en desuso… (Reite que destesto Vite)

Wasm sería un compilador?

Me parece a mi o ese cuadro de atrás esta medio degenerado? Puede que sea yo el mal pensado pero no se entiende bien🤣

Me encanta como entre las herramientas UI no está Angular lol