logo

midudev


Transcribed podcasts: 146
Time transcribed: 5d 9h 42m 56s

This graph shows how many times the word ______ has been mentioned throughout the history of the program.

Muy buenas, buenas tardes a todos y a todas. ¿Cómo estáis? Espero que muy bien, que estéis con muchísimas ganas porque hoy vamos a estar charlando con el bueno de Fernando Herrera.
Fernando Herrera, bueno, yo creo que no hace falta presentación para este pedazo de profesor y docente.
Tiene un montón de cursos con su plataforma DevTages, también en Udemy, contenido en YouTube, también en redes sociales como Twitter.
De hecho, si estás en Twitch, que sepas que tienes un comando que es exclamación Fernando y ¡pum! Ahí te salen todas.
Pero que si estás en YouTube, pues ya busca directamente el buscador Fernando Herrera y te va a salir el primero arriba porque es que es único e inimitable, así de claro.
Y seguro que te aparece ese contenido de lo primerísimo. Antes de que empecemos con el bueno de Fernando, os voy a recordar una cosa porque sé que mucha gente me está preguntando y con razón.
Y es el hecho de que ya sabéis que estamos haciendo los retos de programación los de Codenberg, ¿vale?
¿Qué pasa? Pues que cuando hoy terminemos, mira, lo voy a compartir por aquí para lo que tengáis, cuando hoy terminemos el directo, justo cuando terminemos el directo, vais a tener un nuevo reto de programación.
Vais a tener nuevos secretos, nuevos retos de programación y un nuevo mail porque veis que hay un comando que pone mail.
Que hay mucha gente que todavía no lo había visto este comando, pero bueno, hay un comando que pone mail, está oculto entre el changelog, los helps y todo esto.
Y que sepáis, ah, que se está utilizando otro mic, ¿en serio? No, pero se escucha bien, ¿no? O no se escucha bien, si no me lo hubierais dicho.
No, se está escuchando, se está utilizando el bueno. Me estáis engañando, me estáis engañando.
Se escucha raro, bueno, no sé. Ahora lo miraré cuando metemos a Fernando.
El tema, el tema, que vamos a tener nuevo reto de programación y nuevos secretos en cuanto terminemos este stream, ¿vale?
Al final de este stream lo vais a tener. Codenberg.dev, así que no se lo pierdan.
Y dicho esto, pasamos a darle la bienvenida al bueno de Fernando Herrera.
Hola, Fernando, ¿cómo estás?
Saludos, Miguel. Escucha, qué tremenda introducción. Siempre me dan, no sé, preguntar quién es ese tipo que estás introduciendo, porque no creo que sea yo.
Eres tú, eres tú, lo sabes.
Muchas gracias por la presentación y por las palabras y obviamente por el espacio y siempre me sorprende que, no sé, la capacidad que tienes de crear contenido, porque, o sea, yo, desde que estoy suscrito a tu canal, cada vez que me siento a ver tele, así, pongo YouTube, ahí están videos tuyos de no sé cómo haces, honestamente no sé cómo haces.
Estoy viendo que acaba de suceder lo de OpenAI, de lo de Microsoft y todo lo demás, ya el video tuyo de eso, no sé cómo haces para generar tanto, tan rápido.
Bueno, a ver, la verdad es que somos tres personas, soy Miguel Ángel, Midu y yo. Son tres personas que nos vemos igual y que uno tiene la camiseta lila, otro la negra.
No, hombre. Lo que pasa es que, lo que sí que es verdad es que hago un directo y a lo mejor de eso saco un vídeo de YouTube, que tengo un editor que me lo saca, eh, si no, no me daría la vida, Fernando.
Que tú también tienes un equipo en detalle porque me imagino que si no, no te daría la vida de todo el contenido que tú creas.
Porque yo, tú dices, tú hablas de mí, Fernando, pero yo también alucino de ti, de que cada vez que miro tienes un curso nuevo.
O sea, eso también me dice la gente, de los que trabajan conmigo aquí en Detalles, de que cómo hago para grabar contenido tan rápido.
La verdad es que si lo subieras todo a YouTube sería estar subiendo contenido todos los días, un montón de vídeos.
Pero ahí vamos, ahí vamos.
Mirad, mirad, amigos. Es que tiene Detalles, que es este hombre que tiene aquí un montón de cursos, y veis que tiene un nuevo cupón que pone NoGS23.
Y es porque acaba de sacar un nuevo curso de NoGS23. NoGS desde ser experto, nuevo curso, donde ahora tiene, bueno, tiene cursos en acceso anticipado, en los que estás trabajando, que estás a punto de sacar también.
O sea, esto es un no parar.
Sí, de no parar. Ahorita estamos con, tenemos varias metodologías. Estamos en Detalles, tenemos un montón de contenido gratuito también para, porque hay muchas razones por las cuales las personas no pueden adquirir los cursos o los materiales.
Entonces, tenemos, todos los cursos tienen bastantes secciones que son totalmente gratuitas. Ustedes simplemente se conectan, nos ven y no pagan nada.
Todos los que son los cursos con acceso anticipado, esos sí están protegidos, por decirlo así. Es parte de lo que puede ver con la suscripción.
Pero estamos trabajando en el curso, en la regrabación completa del curso de Next, que ya estoy en la parte del e-commerce que se hace, se hace un e-commerce completo.
Y estamos también en la parte de React Native, se está regrabando completamente también para usar básicamente el estilo nuevo de Material 3.
Y también muchas personas habían mencionado de problemas que habían tenido con el router.
Entonces, estamos cambiando todo eso para tratar de aplicar principios de arquitectura, clean code, que sea un desarrollo más amigable, más moderno.
Entonces, hay muchas, muchas cosas que están por ahí.
Mira, justamente que hablaba de los cursos gratuitos, pues aquí tenéis.
Esos son otros cursos totalmente gratuitos.
100% gratuitos. Quick, Real Query, RiverPod y Visual Studio Code. Ahí los tenéis. ¿Vale?
¿Y el de Zustan no era gratuito? ¿O lo llegué a ver?
El de Zustan está en YouTube. Es lo mismo que habíamos mencionado.
Ahí casi todas las secciones, casi todas las secciones están en YouTube, ¿verdad?
Sí.
Claro, es que me sonaba haberlo visto en YouTube y digo, bueno, para que lo sepáis que también lo tenéis en YouTube.
Oye, pues, nada, increíble el trabajo que haces con detalles y además que sepáis que en la portada tenéis cupones de descuento justamente celebrando el curso de Node.js.
Pero que me ha estado comentando, Fernando, que este viernes es el Black Friday.
No se escapa el Black Friday tampoco, obviamente, a la escuela del bono de Fernando.
Y me ha dicho que va a haber unas ofertas bastante poderosas, ¿vale?
Sí, ahí tenemos el equipo de marketing de detalles. Está pendiente de eso.
Es bien bonito. Después vamos a ver si puedo compartir un par de fotos.
Porque hay unas personas que pasan, bueno, la diseñadora gráfica del equipo se llama Nazaret.
Entonces Nazaret pasa toda feliz haciendo dibujitos de Debbie, que es la mascota.
Y las pasa poniendo por todo lado y ahí les voy a compartir unas fotos después.
Pues es bien bonito ver el equipo trabajando en eso.
Y la verdad que así como todo esto, muchas personas me dicen, me has cambiado la vida con tus cursos o tu material.
La verdad es que ustedes no tienen idea cómo esa suscripción o que sea gratuita, ese like,
cómo cambia la vida de muchas otras personas que trabajan directamente en detalles.
Y obviamente la mía, ¿no?
Y esto nos permite poder seguir creando material para ustedes, seguir poniendo contenido gratuito,
seguir creando contenido así de poder dedicar 10, 12 horas al día para crear material para ustedes.
Esto es fenomenal y quiero seguir haciendo esto.
Y ustedes son los que permiten hacer eso, la verdad.
Exacto. No, no, yo digo lo mismo, que hay muchas veces que hay gente que dice,
ay, pero ¿cómo puedo ayudarte? ¿Cómo puedo? Y es que no tengo dinero y tal.
Y es lo que decían, ¿no? Que hay veces que un like, un retweet, el compartirlo,
el ayudar a que llegue más gente, que este tipo de cosas a veces, pues que es lo que ayuda, ¿no?
Que haya una masa suficiente de gente para seguir creando este contenido.
Y que si no puedes con dinero, pues al final hay anuncios que sí que te ayuda.
El llegar a más gente, pues al final hay un boca a boca que sí que habrá una persona que sí que pueda pagar.
Y este tipo de cosas, oye, de verdad, ayudan un montón.
Así que si tengo un creador de contenido que les gusta, como el caso de Fernando,
aquí, el caso de Fernando, pues oye, like, retweet, compartir y todo esto,
que estas cosas marcan un montón, pero un montón.
Sí, ayudan muchísimo, muchísimo, muchísimo.
Mira, tengo ya preguntas aquí.
Ok, dale, dale.
Un montón. Vamos a ir a saco, vamos a ir a saco.
Venga, porque ya me preguntan que si hablaremos de Svel 5.
A ver, ¿vale la pena que hablemos de Svel 5 o no, Fernando?
A ti te da realmente, o sea, ¿tienes algún tipo de interés, curiosidad?
¿Cómo te diría?
¿Algún tipo de posibilidad de que veas que en el futuro Svel 5 va a ser relevante?
De hecho, cuando estamos hablando de Svelte en general,
yo le recomiendo que, creo que hay un sitio web por ahí donde,
pero lo voy a buscar, no sé exactamente dónde hacer una comparativa entre
cómo se hace algo en React, cómo se hace en Angular,
cómo se hace en Svelte, cómo se hace en Vue, cómo se hace en Quick,
cómo se hacen todas las tecnologías, un ToDo.
No me acuerdo, lo voy a buscar por ahí,
pero ustedes van a ver que Svelte es el que tiene la sintaxis más fácil de todos.
Muchas veces, y esto lo mencioné ayer también en otra charla que tuve,
pero yo cada vez entiendo menos por qué, bueno, y a la vez también sé por qué,
pero entiendo menos por qué React es tan popular si uno tiene código como el de Svelte,
que siento que Svelte hace trampa porque es como que tú haces un código,
pero termina compilando un código de JavaScript súper eficiente.
Entonces, eso te hace tener variables que son reactivas,
pero se manejan como variables normales.
O sea, trabajar Svelte es la forma más, digamos que sencilla,
es el más sencillo, honestamente, para aprender.
Pero yo creo que está en el camino correcto para que Svelte sea una explosión
en los próximos años.
Total.
Sí, solo es cuestión de esperar, la verdad, porque siento,
vamos a ver cómo está el estado de JavaScript del 2022 cuando,
creo que pronto lo liberan, no sé, cuando lo liberen,
porque siento que Svelte va a ser uno de los que va a empezar a crecer este,
ah, sí, exactamente esa página.
Me ha pasado alguno de Feralp, que el tío está en todas, mi moderador,
que es que lo quiero con locura porque estaba yo buscando
y no sé si es que me lee la mente o algo,
es mejor que echar GPT Feralp, es una cosa loca, es increíble.
Tal vez está usando chat GPT L.
Pero sí, miren, miren, hay ejemplos que por ahí también tienen un ejemplo
de un todo, pero si no, si no puedes dejarlo por ahí.
Sí, no sé si el routing, render app, no, este render app,
bueno, el fetching de data, por ejemplo.
Fetching de data se puede ver claramente, pero, o sea,
comparen el código que hace Svelte con lo que hacen los demás,
es ridículo, es ridículo.
O sea, técnicamente Svelte sería el más sencillo de aprender de todos.
Y React es uno de los que se ve más complejos porque hay que saber
cómo maneja el render del navegador web, bueno,
cómo hace el render propiamente para el virtual DOM,
ver cuándo cambia el estado,
mandar a llamar funciones dispatchers.
Mira, hay el ejemplo de React que tienes ahí.
Actualizar el estado, por ejemplo.
O sea, comparar la diferencia es absurda, es absurda.
Y podríamos ir al de Vue, este sería el de Vue,
que, bueno, es más simple que el de React,
pero todavía es más complicado que el de Svelte.
Es que el de Svelte es como absurdamente sencillo,
es tan sencillo que da miedo porque tiene cero,
cero voids de play.
No tienes ningún import, no tienes, o sea,
de hecho, una cosa que me gusta mucho de Svelte,
para que la gente se dé cuenta de qué es lo interesante de Svelte,
es que si tú no tuvieses ninguna extensión de Svelte en tu editor,
en Visual Studio Code,
podrías activar la sintaxis de HTML
y lo verías todo perfectamente indicado, ¿sabes?
Eso, menos, menos esta evolución.
Pero me parece, evaluación,
pero me parece muy brutal, ¿sabes?
Porque al final...
Sí, lo que está haciendo ese código ahí,
solo para la gente que tal vez no lo ve muy claro,
lo que está haciendo ahí es,
tenemos una variable, le cambiamos el valor
y técnicamente en el HTML estaríamos viendo hello,
primero John y luego cambia Jane.
Y en el ejemplo de React,
se mira de que tenemos nuestro estado,
mediante Luis State,
que por defecto es John,
y tan pronto el componente se monta,
cambia el nombre de John a Jane.
Pero, o sea...
Que es una comparación ridícula.
Que a lo mejor hay...
Exacto, es una comparación ridícula,
que la gente si no se...
Oh, pero esto no tiene sentido.
Claro, es solo porque están viendo...
Mira, aquí tenemos el ejemplo de Angular también.
Es que básicamente...
Angular tampoco se ve muy bonito,
que digamos,
pero técnicamente no es complicado.
Y Lit, que Lit también...
Este es el problema.
El problema no es un tema de complejidad,
sino de cómo al final tienes que estar escribiendo
más código constantemente.
O sea, el sentido del boilerplate,
que mucha gente dice,
oye, ¿qué son los boilerplate?
Boilerplate básicamente es el código repetitivo
que tienes que hacer para generar algo
que necesitas constantemente.
O sea, para crear, por ejemplo,
un componente en React,
siempre vas a tener que hacer
import, useState, from React,
exportDefault, function,
nombre del componente.
Eso es constante.
Entonces, si tú ves...
Activate el Solid también, por favor,
ahí para que se miren.
¿Perdón?
Activate el SolidJS también.
Sí, que también al final es algo parecido.
Es muy parecido,
solo que es más sencillo todavía.
Sí, un poquito más sencillo.
Sí, sí.
En este caso no necesitamos...
No sé si has visto el tema de las runas,
que hay gente ya que lo está comentando por aquí
que dicen, ah, la ruta...
Todavía no me he metido mucho
a ese rollo de Solid con las runas,
pero actualmente vamos a ver.
Es que el problema de Solid
es que todavía están pañales,
todavía es igual que Quick.
Los dos están naciendo
y ocupan tracción para la gente
para que nos movamos a esos rumbos.
Pero sí vamos a hacer contenido
sobre esas tecnologías también.
Bueno, dicen por aquí,
Panamidu y Fernando,
vamos con otra preguntita.
Al salir de la uni,
¿considera innecesario formarte con cursos
para tener mejores opciones laborales?
Pues, la verdad es que el conocimiento,
el conocimiento...
Cuando tú sales de la universidad,
que depende de la universidad,
pero cuando sales de la universidad
no esperes de que lo que tú sepas de la universidad
te va a servir directamente laboralmente.
Probablemente las empresas a donde vayas
usen un set de tecnologías
que jamás escuchaste en la universidad.
Principalmente, puedes...
Bueno, digamos que puede ser
que tengas la suerte
de que lo que ves en la U
sí lo uses a empresa,
pero lo que realmente vale la pena
sacar de la universidad
es la responsabilidad,
los conceptos.
Hay muchas cosas
que uno a veces dice en la universidad,
pero ¿por qué me están enseñando
un lenguaje tan viejo?
O algún programa que ya no se usa,
pero eso te empieza a generar
la capacidad tuya
para evolucionar
y estudiar nuevas tecnologías.
No necesariamente es un curso,
o sea, uno...
Uno se va a dar cuenta,
uno empieza...
Sale de la universidad,
empieza su primera entrevista laboral,
que en algunos casos te contratan,
pero en esa entrevista laboral
te vas a dar cuenta
de lo que no sabes.
O cuando estás aplicando
a un trabajo,
vas a ver los requisitos
y te vas a dar cuenta
de todo lo que no sabes.
Una forma rápida
de poder por lo menos
atrapar las nociones
de lo que se está hablando
y todavía aprenderlo
es obviamente un curso,
pero YouTube
es un mar de información.
Entonces, idealmente,
si tú dices,
ok, no sé nada
de esta tecnología
y me la están pidiendo
para este puesto que quiero,
lo mejor es estudiarla,
¿no?
Y prepararte para eso.
Exacto.
Lo está comentando mucha gente
en el chat, ¿no?
Que al final,
pues te dan muchas capacidades
en la universidad.
Hay cosas que sí que te pueden servir
porque hay lenguaje de programación
que aunque sea muy antiguo,
a veces sí que se usan, ¿no?
Y que, mira,
por ejemplo,
aquí dice Cadri,
no, yo estoy en una buena universidad
y todo lo que aprendí
me sirvió para conseguir trabajo.
Qué bueno, sí, sí.
Hay casos así, sí.
Suerte tuviste.
Porque, a ver,
no es una cosa negativa,
no pasa nada por decir,
oye,
no todo lo que aprendí
me sirvió,
no pasa nada,
es que es normal.
Son muchos años
no es un estudio en la universidad
y es normal que te den cosas
que a mí, por ejemplo,
me enseñaron hasta economía,
estadística.
Y sí que te sirve
de una forma indirecta,
obviamente,
en la que desarrollas
el espíritu crítico,
pensamiento analítico,
un montón de cosas,
pero el contenido,
como sí,
obviamente,
pues puede ser que no te sirva.
Y al final,
sean cursos,
pues, oye,
pues no pasa nada.
Al final,
lo interesante
y un poco hacia lo que iba Fernando,
yo creo que lo interesante
es que una vez que vas a la universidad,
eso vas a acelerar
los aprendizajes futuros.
Toda la base
que has conseguido en la universidad,
cuando vayas a un curso de Fernando,
hay cosas que ya te vendrán
aprendidas y dirá,
bueno,
esto ya lo sé,
pues me lo voy a pasar
porque esto ya lo llevo
bastante bien,
¿no?
O sea,
por ahí van un poco los tiros,
¿no?
Exactamente.
Sí,
qué bueno que tuviste esa suerte.
Digamos,
cuando yo salí de la universidad
en el 2009,
yo no vi nada
de programación móvil
porque en ese momento
no era tan,
o sea,
sí,
ya estaba en el 2007
que salieron los primeros teléfonos
Smart,
pero,
pero no estamos,
pero ya habían celulares
que tenían capacidad
de crear aplicaciones,
pero yo no vi nada de eso.
Entonces,
me tocó ver
cómo aprendía toda la parte
cuando empezaron a salir clientes
que crean sus aplicaciones móviles,
¿no?
Pero cada quien tiene
una experiencia diferente.
Exacto.
Mira,
tenemos por aquí,
en la carrera me enseñaron
la base de programación con Java
hace mil años
y eso me sirvió
para adentrarme
en la programación web.
Claro,
es que te sirve,
aprendiste Java
y a lo mejor hay gente
que consigue trabajo en Java,
¿no?
Pero al final
hay otra gente que no
y es la base de la programación
que ya sabes
que es una variable,
que es un bucle,
un montón de cosas
que ya no tienes que volver a hacer.
Y Java es fuertemente
orientado a objetos,
entonces la programación
orientada a objetos
se sigue utilizando.
Esto suele pasar,
¿no?
Dicen,
el problema de los profesores
de universidad
es que no tienen experiencia laboral
como programadores,
solo como docentes,
entonces tienen muchas carencias.
Pero esto es complicado,
¿no?
Porque si...
También eso es subjetivo
porque hay profesores,
profesores,
yo tuve profesores
que eran profesores
y programadores.
Yo vine aquí a estudiar a Canadá
y también tenía profesores
que eran obviamente profesores
y después de salir
de la universidad
pues ellos iban a trabajar.
Entonces es subjetivo.
También hay profesores
que solo se dedican a enseñar
pero sí es subjetivo,
pero eso es subjetivo.
Claro,
y hay de todo,
¿no?
Porque como todo en esta vida
hay una parte muy teórica
que es muy interesante también,
¿no?
Y una parte que puede ser
más práctica.
Yo no creo que esté mal,
o sea,
no creo que haya un profesor perfecto
que te lo vaya a...
Porque hay profesores
que te pueden llevar
una parte muy bien
que es la parte muy teórica
y a lo mejor
no necesitan tanto
que hayan tenido una práctica
de 20 años programando.
Pero hay otra que a lo mejor sí,
¿no?
De, oye,
vamos a crear un proyecto práctico
y saber de escalabilidad
cómo impacta
a esta milla de usuarios
pues seguramente sea interesante
que tenga una experiencia.
Yo creo que depende
un poco del profesor
y justamente lo que te están enseñando.
Mira,
Fernando,
¿qué estudiaste en Canadá?
Te dicen por aquí.
Estudié una carrera
que se llama
Internet Applications
and Web Development.
Es básicamente
desarrollo de aplicaciones web
y...
O aplicaciones web
y desarrollo de aplicaciones web.
Lo que viene a sacar aquí
un diplomado de dos años.
Estudié en Canadá.
Suena súper potente
con ese nombre.
Sí,
cualquier nombre en inglés
suena así.
¡Wow!
Sí,
suena increíble.
Mira,
dice,
¿qué hábitos de estudios
tienen para hacer
todo lo bueno
que has logrado?
Fernando,
tú que eres docente,
que eres profesor y tal,
¿eres buen estudiante?
Pues,
mira,
yo cuando estaba en la universidad,
todo lo que era
carrera de programación,
es que yo desde chiquito
siempre estaba como
metido en la programación,
con computadoras,
desde que tengo uso de razón,
porque mis papás tenían
una empresa de desarrollo
de software
y reparación de computadoras.
Entonces,
siempre ha habido
una computadora en mi casa.
Entonces,
siempre,
siempre he estado como
metido en la programación.
Entonces,
eso para mí
me facilitó mucho
mis estudios,
porque todo lo que era computación
yo lo sentía como,
me sentía como pez en el agua.
Claro.
Pero todo lo que no era
programación,
ahí sí era estudios sociales,
ciencias,
química,
ay Dios.
La química,
la química,
yo estuve tantas veces
tan cerca de que decía,
si no saco un 85,
me toca venir a recuperación
o regresar a enero
y me costó.
Es que,
de nuevo,
si no te gusta algo,
ni aunque venga Jesucristo
y te lo cuente,
tampoco lo vas a escuchar.
Totalmente.
Qué difícil es,
¿eh?
La diferencia entre
devoción y obligación.
Sí,
cuando algo,
somos devotos de algo,
algo que nos gusta,
como,
y por eso,
justamente,
teníamos una pregunta al principio
y luego volvemos a esta de los hábitos,
pero justamente al principio
algo nos decía,
¿qué hacemos?
¿Nos adaptamos a los requerimientos
del mercado laboral?
De,
voy a aprender,
por ejemplo,
RIA,
me da asco RIA,
pero me voy a adaptar,
voy a aprender RIA,
o me especializo
sin que me importe
el mercado laboral
y voy a por lo mío.
Sí,
eso es una lástima
que no tenemos la pregunta por ahí
para saber el nombre
de la persona que lo dijo,
pero es,
la verdad es que mi recomendación
es que estudies
y sepas algo
que es demandado
en tu ámbito laboral.
A menos de que tú quieras ser freelance
y ahí sí te vale madre
lo que quieras hacer
porque ya es tu vida,
pero digamos que quieras trabajar
en alguna empresa
o quieres mejorar tus habilidades
para poder,
ya sea,
subir o escalar perdaños
en la empresa,
sería bueno que domines bien
las tecnologías que usa la empresa,
¿no?
Pero a la vez
no dejes de aprender
tecnologías nuevas.
Esto es una analogía
que también se mencionó hace,
bueno,
que he mencionado antes,
es como cuando salió Java,
digamos que,
imagínense,
hace,
¿qué sé?
30,
40 años atrás,
no sé,
Java no era nada
y todo el mundo estaba trabajando,
qué sé yo,
en COBOL,
digamosle,
todo el mundo estaba trabajando en COBOL
y salió Java
y decían,
hey,
mira,
viene este nuevo lenguaje de programación,
se mira muy prometedor,
con este código
vas a poder correrlo
de todas las máquinas,
tenés este virtual machine,
lo ejecuta ahí
y parece magia
y si la gente en ese momento
hubiera dicho,
ay,
no,
no voy a aprender Java,
no vale la pena,
voy a seguir con lo que sé
y me quedo con eso,
las personas que estudiaron Java
en ese momento
y decidieron entrar en Java,
ahorita tienen como 30 años
de experiencia en Java,
¿no?
Porque todavía se sigue utilizando,
es muy demandado,
etcétera,
pero hubo un momento
donde la tecnología no era nada
y había que hacer un salto de fe
para dedicar un poco de tiempo
para estudiarlo
y a ver si vale la pena o no
y eso siempre es importante
que lo tengamos.
Van a haber tecnologías
que te van a llamar la atención,
aprovecha eso,
aprovecha ese impulso
que te llama la atención
para que tu misma motivación
te ayude a aprenderla fácilmente.
Exacto.
Yo es que creo que también
hay tiempo para todo,
¿no?
Es que muchas veces
parece que tomamos decisiones
que son blanco-negro,
que tienen que ser como
me adapto a los requerimientos
o me especializo
y al final
el conocimiento es muy elástico,
que una cosa no te quita la otra.
Puedes adaptarte
a los requerimientos del mercado,
como dice Fernando,
oye,
me están pidiendo React,
oye,
pues aprende React
porque al final
eso te va a abrir
un montón de puertas,
pero estate abierto
a la posibilidad
de que si te llama la atención
Svelte,
que no tengas miedo
a aprender,
a practicar con Svelte,
justamente,
e incluso en especializarte
porque yo creo que es interesante
el hecho de que
en esos sitios
que hay muy poca competencia,
aunque hay muy pocas ofertas
de trabajo,
es en las que puedes conseguir
bastante dinero
y algo muy interesante
que comenta Fernando
para que os hagáis una idea,
yo cuando empecé
a utilizar React
no apostaba
ni un duro nadie
por ello.
¿Por qué?
Porque era una tecnología
de Facebook
que tenía una licencia
muy restrictiva.
ya había mejores soluciones,
bueno,
mejores soluciones
que decía la gente
como por ejemplo
Backbone,
había mucho jQuery,
el tema de los componentes
la gente no lo veía claro,
la gente pensaba
que era mucho mejor
renderizar directamente
desde el servidor
con otro lenguaje
y que no hacerlo
con JavaScript,
o sea,
a Capitán Posteriori
cuando ya ha pasado la historia
ahora lo vemos
como muy claro,
¿no?
Como decir,
ah, no sé qué.
Pero hay que tener
una curiosidad constante
que yo creo que también
es súper importante
de decir,
oye,
pues esto me gusta,
lo voy a probar,
yo confío en esto
justamente porque eso
ya aunque no encuentres trabajo
te va a abrir un montón
la cabeza,
¿sabes?
El conocimiento
de estar abierto
a ver nuevas perspectivas,
cómo enfrentarte a ello
y cómo puede ser el futuro.
Así que tenlo en cuenta
porque es muy interesante
que no cerréis
a voy a hacer los requerimientos
y de aquí no salgo
porque es un error muy común
que además veo a gente
que va al mercado
que no sé si lo verás
un poco en tu estudiante,
Fernando,
que es,
oye,
es que este es el stack,
yo no quiero aprender nada más.
Hazme el stack nerd,
solo quiero el stack nerd,
no quiero aprender nada más.
Sí, sí,
o a veces pasa lo contrario
de que,
ay, no,
¿por qué en este curso
no metiste Mongo?
¿Por qué en este curso
no metiste Postgres
o una base de datos relacional?
Porque muchas veces
eso no sé si es productivo
que se hagan cursos
donde se haga todo en general
porque eso queda
como muy amarrado
a la tecnología
y no da paso
a la investigación
y la investigación
es muy importante.
Por eso es que
en,
bueno,
ahí tengo cursos
que son excepciones.
Por ejemplo,
de Nexus
se está haciendo
un e-commerce completo,
pero en general
yo trato de encaminarlos
para que ustedes sepan
lo que hace falta
para que ustedes
sigan avanzando
sus proyectos.
Porque hacer,
digamos,
si nosotros ponemos,
ok,
este curso te va a enseñar
a hacer un punto de venta,
una aplicación de punto de venta,
vas a tener
tu manejo de inventario
y lo demás,
ok,
aprendiste a hacer
una aplicación
de inventario
o por lo menos
saber recrearla,
pero no aprendimos
qué es lo que necesito,
para qué funciona.
Entonces,
es como muy subjetivo.
Yo trato de tener
un balance
entre teoría y práctica,
pero muchas veces
las necesidades
son muy especializadas
de las personas.
A veces la gente quiere,
ah, no,
pero yo necesito esto
en particular.
Y no vas a encontrar
un curso
que se haga exactamente
lo que tú necesitas.
Mira,
me hace gracia
este comentario,
me hace mucha gracia
comentarios así
porque hay gente
que pone comentarios
que se cree
que no lo voy a poner
por lo que sea,
pero yo me enfrento
aquí a todo
y Fernando está ayer
también a hablar de esto.
Mira,
y me ha hecho mucha gracia
porque dice,
uno está pagando,
tienen que explicar todo
y no puede ser,
no puede ser porque básicamente,
uno,
es mejor enfocarse
en un curso
en algo en concreto
que no en algo general.
Si tú quieres aprender
Node.js,
hay infinitas bibliotecas,
infinitas posibilidades
de bases de datos,
de no solo de bases de datos,
dentro de cada base de datos
podrías tener
Psychoalizer,
podrías tener
diferentes clientes,
es imposible
que te lo expliquen todo.
Incluso,
es lo que dice Fernando,
que hay veces
que los requerimientos específicos
que tiene una persona
para un e-commerce.
Un e-commerce se puede hacer
de tantas formas distintas
que es imposible,
es imposible
que te lo expliquen todo.
No,
pero yo entiendo
el comentario
que hace César,
o sea,
tiene hasta cierto punto razón,
pero imaginemos,
estamos en el curso
de,
o enseñando PostgreSQL,
solo la parte de extensiones
de PostgreSQL
es grandísima,
o sea,
ahí se va a pasar,
qué sé yo,
quién sabe cuántas secciones
y se va a sentir aburrido,
tedioso
y lo más probable
es que el 99%
de las extensiones
que se hablarían
en esos videos
no las vayas a utilizar.
Entonces,
hasta que,
o sea,
pero lo importante sería,
ok,
¿cómo hago para instalar
una extensión?
¿Cómo uso la extensión?
Y ahí sí ya es donde
ese conocimiento
te va a servir
para aplicarlo
en otras tecnologías
o usar otras extensiones.
Claro,
claro,
muchas veces además
hay que tener en cuenta
que hay gente,
o sea,
creo que es mucho más interesante
hacer más cursos
más específicos
que un poco este comentario
porque dice,
100%
si agarras un curso,
espero que sea concreto,
sin tantas adhesiones
de contenido
porque pensad que
si hacemos un curso
de Node.js,
por ejemplo,
y empezamos a hacerlo
muy general,
muy general
y además ya no de Node.js
sino de dependencias
que la gente entiende
que es de Node.js
y esto a mí me pasa a veces
con los cursos de React
que me dicen,
pero ¿por qué no añade Redux?
Que a lo mejor
no puedo añadir,
pero que es como decir,
pero es que Redux
no es un curso de React,
es una dependencia
que puede ser interesante
añadirlo,
pero que hay que...
Claro,
pero hay que entender
que a lo mejor
no lo usas con React
porque no es algo de React,
es un anexo
que puede ser interesante
que tenga su propio curso,
pero que es mucho más interesante
porque hay gente
que a lo mejor dice,
bueno,
es que a mí solo me interesaba
directamente React
y me has metido aquí
una sección de Redux
de dos horas
que no me aporta
porque no es lo que
estaba buscando,
¿no?
Y a lo mejor
es mucho más interesante
tenerlo separado,
es un curso de Redux
y que es así de interesante.
Exactamente,
sí,
yo estoy totalmente
de acuerdo con eso
y es mejor
encontrar algo especializado,
es que depende
porque los alumnos
pueden llegar
de diferentes puntos,
pueden llegar
con cero conocimiento,
entonces necesitan
un camino un poco más,
digamos,
que escalonado,
que esto se mezcla
de esta manera
y se van añadiendo
así como bloques de Lego
y vas a llegar
a un punto donde,
ok,
yo ya sé todo esto,
pero necesito
este conocimiento
en particular
para lograr mi objetivo,
entonces ahí
ya buscas
otro tipo de contenido.
Efectivamente,
te voy a enseñar una cosa,
Fernando,
a ver si te vuela
la cabeza
y a ver
lo que opina
la gente
del chat,
no sé si lo has visto,
pero ha salido
una cosita nueva
que se llama
Screenshot to Code,
que justamente
hoy he hecho
un reel en Instagram
sobre esto,
que ya había gente
que se estaba quejando,
ay,
es que por qué
publicas estas cosas,
no,
para qué tal trabajo,
como si que yo no lo publique
va a hacer que desaparezca
o algo,
¿sabes?
La gente,
bueno,
ojo con la demo,
son 8 segundos,
hace una captura de pantalla,
sube la captura de pantalla
y empieza a generar
con la captura de pantalla
el código,
¿la habías visto?
Sí,
había visto cosas similares,
pero esto en general
no es algo,
bueno,
no es algo del cual,
o sea,
es tan nuevo
que uno le mande
el screenshot
y todo lo demás,
pero esto es algo
que nosotros ya hacemos,
hay muchos sitios web
que,
por ejemplo,
yo uso mucho
que uno que es como
Tailwind Components,
que uno,
necesito un componente
para hacer esta cosa,
entonces me voy a ese
Tailwind Components,
copio el HTML que necesito,
lo pego,
técnicamente estoy haciendo
lo mismo,
solo que ahora
que con estas herramientas
pues nos ahorramos
el trabajo
de hacer ese diseño,
porque técnicamente
la mayor parte
de los que estamos aquí
viendo este live
somos programadores,
no somos diseñadores gráficos
y hacer ese diseño
puede que nos demore
más tiempo
que hacer la programación,
claro,
si ya tenemos
la estructura HTML
o tenemos bases
de código
para hacerlo,
es mucho más fácil
ser productivos,
exacto,
sí,
es que me sorprende
que mucha gente decía
no,
nos va a quitar el trabajo
y yo pensando
pero si justamente
esto es lo que seguramente
odias más
de tu trabajo
yo he visto
otros videos
no lo tengo en la mano
pero vi un TikTok
en el cual se mira
que está en un examen
de programación
varias personas
y les toca hacer
un Tetris
el juego de Tetris
una persona llega
toma el código
la fotografía
de lo que quiere hacer
se lo pone a un
OpenAI
o a saber
qué herramienta
de la inteligencia artificial
y le da el código
para hacer eso
aquí hay un
aquí hay un tema
bien delicado
porque
me pone a pensar
a mí
el momento
cuando me decían
a mí en la escuela
pero ustedes
nunca van a tener
una calculadora
en todo momento
en su bolsillo
pero ahora sí
tenemos una calculadora
en su bolsillo
y antes
me tenía que memorizar
los números
de teléfono
de la gente
porque mi celular
solo agarraba
qué sé yo
10 o 20 contactos
y ahora ya no
ahora solo me sé
el número de teléfono
de mi esposa
y tal vez otro
y hasta ahí ya
ya ves
entonces me pone a pensar
está como un balance
entre
qué tanta
inteligencia artificial
estoy dispuesto
a sacrificar
de mi conocimiento
o sea como
hacerme perezoso
en ese lado
pero para mejorar
en otro
entonces hay que encontrar
como un balance
está bien
yo puedo tomar
el diseño
y que rápidamente
me lo haga
y simplemente
enfocarme
en hacer mi trabajo
o simplemente
voy a hacerme
alguien que
solo copia y pega
sin comprender
qué es lo que está pasando
y muchas veces
va a crear un código
bastante difícil de leer
porque
bueno
esto mejorará
con el tiempo
pero uno tiene que saber
qué es lo que está copiando
y pegando
no todo el código
que sale ahí
va a ser
sin problemas
de dependencia
sin inseguridades
o puede que
en uno de esos códigos
que tú copiaste
y pegaste
haya algún tipo
de minería
de cookies
o te saquen
la información
de lo que tienes ahí
de tus sesiones
claro
justamente
mira
tenemos aquí
a Héctor de León
que dice
no vayan a venir
a decirles
que son enemigos
de la IA
bueno Héctor
también
la controversia
que pasó ahí
con eso de la cookie
ya me metí
en camisa de 11 barras
hablando de galletas
yo aquí
tú hablando
pero de galletas
de comer
y ya está
no hay contador
yo creo que
este tipo de cosas
un poco lo que dice
Fernando
que es súper interesante
nos va a volver
perezosos
este tipo de cosas
y yo creo
que lo importante
es que este tipo
de cosas
de inteligencia artificial
que ya nos están
acompañando
como el hackopilot
al final son herramientas
que nos aceleren
y que nos permitan
hacer mejores soluciones
en menor tiempo
pero esto lo que va a hacer
es desbloquear
que nos enfrentemos
a otro tipo de retos
que nos hubieran
costado más
por ejemplo esto
yo esto del screenshot to code
que he visto
que mucha gente
ya estaba
dios esto
ahora sí
me encanta
porque cada vez que sale algo
es ahora sí
ahora sí
y fíjate que al final
tanto rollo
de que van a quitarle
el trabajo
a los programadores
a los programadores
y al final
el primero
que la inteligencia artificial
le ha quitado definitivamente
su trabajo
ha sido al propio CEO
de OpenAI
sí, sí, verdad
qué cosas, ¿no?
no, pero ya Microsoft
le dio chamba
entonces
sí, pero he estado viendo
que todavía
quería
volver como CEO
de OpenAI
sí, eso es toda
una odisea
la verdad es que
no sé
yo preferiría
que él se quedara
en OpenAI
lo mejor que le puede pasar
es que se quede
en OpenAI
si se va para Microsoft
y se lleva a su equipo
de programadores
a Microsoft
o sea, sí
Microsoft va a ser
el líder
de inteligencia artificial
por
por gran
cantidad
o sea, por un gran margen
y no sé si queremos
no sé si queremos eso
¿no?
o sea, por lo menos
siento que lo que es
OpenAI
ha hecho tantas cosas
que podemos utilizar
nosotros como desarrolladores
a muy bajo costo
y si se va para Microsoft
quién sabe
si nos obliguen a
no sé
a otras condiciones
como dice el dicho
vale más malo conocido
que malo por conocer
Fíjate
lo último que han dicho
Satya Nadella
salió en la tele
y dijo
que
que nadie
que sobre la vuelta
de Sam Allman
si podría volver
a OpenAI
decía que eso
lo debería decidir
el board de OpenAI
y que lo tenía que
Sí, el board de OpenAI
está
o sea, los
son
yo leí
si no estoy mal
son 770 empleados
los de OpenAI
y 700 ya firmaron
sus
su acta
o su documento
pidiendo la renuncia
de la junta directiva
Hostia
hostia
estoy viendo esto
tremendo
dice
que deben elegir
si quieren ser partners
con OpenAI
o sea, si vamos a seguir
siendo partners
con OpenAI
y obviamente
depende de la gente
de OpenAI
si se quieren quedar ahí
o si quieren venir
a Microsoft
Sí, porque Microsoft
les mandó
les dijo que tenían
las puertas abiertas
en Microsoft
a 700
a las personas
que sirvan
a 700 personas
Sí, sí, brutal
y dice por aquí
que le preguntaron
si Microsoft
necesita tener
un asiento
en el board
de OpenAI
lo cual a mí
la verdad es que me ha sorprendido
que no lo tuviese ya
dice que está claro
que algo tiene que cambiar
en cuanto al gobierno
que tenemos que tener
un buen diálogo
con el board
y ver cómo evoluciona
la cosa
Sí, no, eso está caliente
porque cuando
o sea, es que
vas a despedir
a prácticamente
quien levantó
todo lo que es OpenAI
quien hizo una empresa
que valiera
cero dólares
a no sé cuántos
90 mil millones de dólares
no sé cuánto
es lo que vale ahorita
OpenAI
pero que se vaya
a esa persona
obviamente
eso va a afectar
la credibilidad
de la empresa
los desarrolladores
que lo usen
no se va a ver
como laboralmente
no se va a ver estable
no sé
no sé qué estaban pensando
con el despido
de este tipo
Bueno, a ver
ayer estuvimos aquí
unas cuantas horas
y cada vez
va saliendo más detalles
y parece ser
que sí que puede ser
que tenga que ver
con el tema
de que en el board
hay una persona
que es el CEO de Quora
que tiene un producto
que es competencia
de hecha GPT
y de las stores
que habían sacado
de hecha GPT
y todo esto
la verdad es que
no sé
tiene pinta
oye
vamos a hablar
de Angular
Fernando
Angular
Angular 17
a ver
Angular 17
el renacimiento
de Angular
que dicen
el renacimiento
de Angular
y que básicamente
ha salido
tal que así
la página
que tal
bien
me gusta más
en modo light
pero sí está bonito
ahí se puede cambiar
abajo
tiene el solcito
me gusta más
como se ve así
en light
yo también
que deseo
la primera vez
pero no
me gusta
lo que mencioné
también
ayer
en otra charla
es que
Angular
está en un punto
donde no puede
dar el paso
a un nuevo
breaking change
si me pido
breaking change
en Angular
fuerte
todo el mundo
está estigmatizado
por los breaking changes
que ha tenido Angular
que no han sido muchos
pero han sido fuertes
del 1 al 2
obviamente
vamos a empezar
a 0
pero eso digamos
que medio se entiende
del 2 al 4

que tuvimos
ajustes con RxJS
y luego
cambios
en
algunas importaciones
y obviamente
nosotros como desarrolladores
no queremos estar
tocando código
que funciona
claro
pero esto no es
un breaking change
o sea
esto es
técnicamente
les permite a ustedes
hacer una evolución
sutilmente
a la nueva sintaxis
pueden usar
la vieja sintaxis
no es que sea vieja o nueva
va a ser
Angular
ya se llegó al punto
como es React
como es Vue
en el cual hay dos sintaxis
ustedes pueden programar
de una manera
o programar de la otra
obviamente la nueva sintaxis
tiene ciertas mejoras
que no teníamos antes
pero la sintaxis anterior
sigue siendo vigente
es como que
en React tenemos
class-based components
y luego también tenemos
hooks
en Vue
que tenemos el options API
y luego tenemos
el composition API
y luego tenemos
el script setup
que es básicamente
el composition API
también
pero no
es algo que es chistoso
porque siempre hago
la referencia a dos caras
de la película de Batman
que dice
uno nace siendo superhéroe
o vive lo suficiente
para transformarse
en un villano
tal cual
entonces
las tecnologías nacen
estos frameworks nacen
diciendo que yo puedo
hacer esto mejor
y luego empiezan a crecer
a crecer
a crecer
a crecer
y se hacen el villano
que juraron destruir
lo mismo le pasó a React
ok yo puedo hacer esto
más fácil
empecé a crecer
crecer
crecer
y ahora tenemos
dos soportes
de syntaxis
class based components
y functional components
y eso hace que la teoría
sea muy pesada
sea más grande
y luego viene
Solid
que dice
hey yo puedo hacer
lo que hace esta gente
yo soy en un K
y pues esperemos
que no le pase lo mismo
de que crezca crezca crezca
y se haga otro villano
pero Angular 17
tiene muchas mejoras
interesantes
el nuevo control flow
está super genial
la parte de
pregunta
pregunta sobre eso
pregunta polémica
porque a mí me ha llegado
una de hate por esto
¿qué te gustan más?
¿las directivas anteriores
o la nueva sintaxis?
no
la nueva sintaxis
tiene uno que ser
un switch mental
porque se siente diferente
se siente como que
¿y esto qué es?
y todavía el preview
no lo arregla muy bien
entonces cuando uno
formatea el código
se pone más extraño aún
pero
la nueva
es que hay un
hay un problema
que no se puede hacer
con las directivas anteriores
tú tienes un
un ciclo
un ng4
y estás barriendo
una serie de elementos
si tú quieres
poner un mensaje
cuando no hay elementos
tú tienes que mezclar
ahí una serie de directivas
que vamos
o evaluar esto
dos o tres veces
para poder
hey no hay elementos
en la lista
o ya hay un elemento
entonces
no podemos mezclar
un ng4 con un ngif
pero ahora se puede
porque literalmente
están desligados
entre sí
antes no se podía
y más de una vez
llegó el punto
donde ocupabas un case
hacer un ng case
o un ng switch
perdón
un ng switch en angular
es horrible
o sea es horrible
uno tiene que saber
dónde están los elementos
qué es este template
y dónde está la condición
y las referencias locales
es horrible
es horrible
los demás
ni siquiera lo intentan
o sea por eso
Viac no tiene eso
y otras tecnologías
no tienen ese switch
pero hangover decidió hacerlo
y creó un código
que es feo
pero ahora tenemos
el nuevo
arroba switch
con sus case
con sus default
con sus empty
con sus
montón de otras directivas
o flujos de control
ahí está el código anterior
del if
por ahí
buscarte un switch

y el switch
es mucho más fácil
de
ahí está un switch
y eso solo son
tres condiciones
pero si tuvieras
más condiciones
se siente
se siente
mucho más complicado
claro
la nueva sintaxis
toca hacer un cambio mental
porque se puede sentir diferente
pero la verdad
es que a la larga
era un cambio necesario
para poder hacer
esa mejora
también el for
también ha habido
mejoras de rendimiento
porque también
esto es un cambio
que viene dado
a quitar una dependencia
que están utilizando
internamente
todavía la dependencia
está
claro
no lo pueden cortar
de la noche a la mañana
pero yo siento
de que
Angular
como en la versión
18
19
digamos
cuando venga
va a venir
Soundless
que es sin
Sound.js
y se va a enfocar
basado en
los nuevos
en puras señales
para hacer los cambios
de actualizaciones
en el DOM
y en los componentes
y luego uno va a tener
que optar
para poner la opción
quiero trabajar
anteriormente
entonces
vamos a ver qué pasa
ahorita no creo que Angular
vaya a hacer alguna jugada
así como que
ustedes tienen que cambiarlo
pero si
posiblemente
en un futuro suceda
de hecho ya
en la versión 17
ya nos metieron a fuerza
los Standalone Components
que cuando creas
un proyecto
ya todo es
Standalone Component
Modules
o sea sin módulos
que
eso también va a ser
un cambio de mentalidad
en teoría es más fácil
porque el concepto
de los módulos
puede ser algo
como difícil
pero la gente
que ya ha venido
trabajando en Angular
ya tenía ese conocimiento
como bien
es un módulo
ya sé que es lo que hace
pero ahora sin módulos
es como que
ok
y si necesito importar
un módulo de manera global
en mi aplicación
¿cómo lo hago?
entonces ahora
toca investigar
otras pequeñas cosas
pero eso hace
de que Angular
sea mucho más rápido
y lo hace rápido
no comparan
Solid YS
porque Solid YS
sigue siendo más rápido
de todos
pero ya es
más rápido
que muchas cosas
¿crees que con estos cambios
realmente
vamos a ver
que Angular
claro
hablan que es un renacimiento
¿crees que
podemos ver que el año
que viene
recupere cuota
que
le plante cara
a React
que
no sé
o ya lo que es
demasiado tarde
si estoy 100% honesto
no creo
que vaya a desbancar
a React
no lo creo
lo que pasa
es que Angular
tiene su mercado
bien establecido
o sea
claro
no va a desaparecer
ni mucho menos
las empresas
prefieren irse
por
por muchos
prefieren irse
muchas veces
por Angular
porque es algo
que está bien
opinión
está bien
bien bien
estructurado
como decir la palabra
es bien dogmático
o sea
uno tiene que hacerlo
de cierta manera
para que funcione
entonces tienes
nombres comunes
tienes estructura
de directorios comunes
rutas comunes
formas de inyección
de dependencias comunes
y eso hace
que si tú consigues
un nuevo programador
que sabe Angular
muy probablemente
se puede integrar
fácilmente
el equipo de trabajo
pero
si es React
si es
bueno
cualquier otra tecnología
que no es así
opinionaire
o sea
no tiene una opinión
estricta
de cómo hacer las cosas
hay que explicarles
qué arquitectura
estamos utilizando
cómo funciona esto
cuáles son los nombres
la nomenclatura
dónde está la data
cómo
o sea
hay que explicar
más cosas
no es que sea malo
pero a mucha gente
es
prefiero
o sea
las empresas
prefieren trabajar
con algo
que ya esté
como específico
¿no?
y ahí había visto
un mensaje
de los Standalone Components
de que ahora
hay que estar
los importando
en todo lado
o sea
tiene como
el Standalone Component
no es más
que un componente
que internamente
tiene su propio módulo
se podría ver
de esa manera
y sí
se puede ver
un poco feo
de que tenemos
que estar importando
lo que vayamos
a ocupar ahí
pero sí
se ganó
muchísima velocidad
y se eliminó
la parte
de los módulos
como tal
entonces hay como
ventajas y desventajas
pero eso
de nuevo
la sintaxis de Angular
no le gusta
a todo el mundo
y por eso
no creo que
es Banker React
ya
la verdad
bueno a ver
la sintaxis de React
tampoco le gusta
a todo el mundo
aunque parece
que es la sintaxis
voy a decir
aunque a la gente
no le guste
ganadora
porque Astro
Solid
Quick
toda esa gente
al final se ha basado
más en esa sintaxis
yo como que veo
que hay como
dos caminos
dos batallas
está la sintaxis
JSX
que obviamente
a mucha gente
no le gusta
pero que parece
que ha sido
el estándar
que se está quedando
y que a la gente
no a la gente
sino los frangos
se están tirando
más por ahí
pero hay otra
que podríamos decir
que es la más basada
en Svelte
o parecida a Svelte
que sería muy parecida
a la nueva sintaxis
de Angular
que la hemos visto
en Blade
que cada vez
se está viendo
un poquito más
de que sea
más como los template
engines
de aquella época
yo honestamente
votaría
por la de Svelte
y Vue
Svelte y Vue
sería lo ideal
una mezcla
se entiende
se entiende
que
estos nuevos
frameworks
se basen
en los JSX
porque obviamente
React es el chico
popular
es que tiene
más desarrolladores
y obviamente
queremos
si tú haces
un nuevo producto
que técnicamente
puedes basarte
en el producto
popular
la transición
es más sutil
y es más llamativo
a las personas
de que digan
ok
esto es más rápido
que React
pero yo ya sé React
y aprender esto
es
solo debo aprender
un par de cosas nuevas
en lugar de sentarse
y aprender
toda la nueva tecnología
pero de nuevo
Vue y Svelte
tienen una sintaxis
tan fácil de aprender
que uno se cuestiona
por qué React
se posicionó tan bien
tal vez fue el momento
el momento exacto
en el cual React
hizo las cosas
la popularidad que ganó
los breaking changes
que tuvo Angular
ya
sí la verdad
una cosa
que sí que tiene React
y que al final
yo creo que ha marcado
mucho la diferencia
respecto a todo
a todas las frameworks
ha sido el hecho
de
dónde se ha utilizado
claro
tú tienes un framework
o sea
una biblioteca
de UI
que bueno
React cada vez
va a clasificar
por decir que React
es un framework
siempre pasa eso
es una biblioteca
pero ahora ya
teniendo los server actions
que eso es parte de React
que al final eso
necesitas un framework
para utilizarlo
ya empieza a ser un poco
zona gris
mucho más que antes
incluso
pero bueno
el tema es que yo creo
que lo que sí que convenció
fue el hecho de que React
al final lo tienes en producción
en Facebook
que tiene millones de usuarios
lo tienes en Instagram
claro
en cambio Google
Angular
sí lo utiliza
pues creo que en Gmail
lo utilizaba
en Inbox
otra aplicación que ya mató
pero claro
aplicaciones que ha matado
que no se han quedado del todo
luego hay alguna migración
entonces
crea Polymer
y Polymer
luego lo reconvierte a lead
y hay partes que las tiene
o sea
no ha habido una apuesta segura
en Angular
y yo creo que eso
le ha pesado bastante
que pese a ser de Angular
de Google
que tampoco es una cosa
que se note
o sea
tú vas a
a la web de Angular
y no
no
muy poquita referencia
no es una cosa
que notes fácilmente
y con Vue
un poquito lo mismo
que aunque
por muy bueno que sea
mi sensación es
que le ha faltado
un padrino
¿sabes?
de decir
madre mía
es que nosotros
somos esta empresa
con millones y millones de usuarios
que alguna página
habrá importante
que seguro
hay una
si no estoy mal
no sé si todavía
la seguirán usando
habrá que investigar
pero la verdad
que no creo
que puedas investigar
esto ahorita
pero Pornhub
creo que está hecho
en Vue
va a ser complicado
vamos a ver
confirmen eso
fuera de cámara
pero yo creo que sí
estoy casi seguro
fuera de cámara
después te censuran ahí
y nos banean de YouTube
y nos banean de Twitch
no vamos a preguntar
cómo sabe esto
Fernando
pero
no hombre
pero a ver
te voy a decir
yo cómo sé eso
porque cuando estaba
haciendo el curso de Vue
hay una introducción
en la cual yo tengo que decir
que empresas son las que usan Vue
y entre todas las que estaban ahí
estaba ese logo
de Pornhub
y un alumno
me dijo
hey
podrías quitar ese logo
de ahí
pero la verdad
es que es una aplicación enorme
entonces
no sé
no sé
me dejo pensando
y entonces me quedó
en la cabeza eso

sí seguro que hay aplicaciones
que la utilizan
pero es que al final
claro
React
tienes Uber
Airbnb
Facebook
WhatsApp
lo mismo pasa con React Native
ahora está
entre los que no son
propiamente
del equipo
de
de Facebook
o sea son terceros
es Tesla
Tesla tiene su aplicación
que controlas el carro
el Powerwall
y otras cosas
directamente con
con React Native
con tu aplicación de React Native
y es
es gigantesco
Tesla
cualquier persona que tenga un Tesla
va a tener esa aplicación
hecha en React Native
y funciona
súper bien
hablando de los cambios de Angular
y ahora que estamos con React
y aprovechando esto
¿qué es lo que te hace más ilusión
ahora tocar?
¿sabes?
React, Angular
Next
yo que sé
Vue
¿qué digas?
todavía hay una cosa
de mencionar de Angular
pero Angular tiene esta
no es lo
es que no es lo mismo
el suspense de React
con la
con el Defer
que tiene ahora
son similares
pero a la vez
son muy diferentes
pero esta característica
del Defer
hace que
los Defer
Blocks
hacen que sea mucho más fácil
optimizar tu código
a la hora de ejecutarse
que la sintaxis
es mucho más sencilla
que los suspense de React
porque el suspense
esto también lo mencioné ayer
pero
tiene el suspense
y no es una cosa bien rara
porque el suspense de React
es el componente suspense
igual
y cuál es el componente
el foldback que quiere demostrar
o el placeholder
luego viene el componente
y la sintaxis
se ve un poco extraña
en cambio
en los Defer Blocks
se ve bien claro
también hay que comprender
de que el Defer
no es que hace
no es que segmenta
tu código
por decirlo así
como que
la carga
no es un lazy load
es como una
una ejecución
tardía
del código de JavaScript
digámosle algo así
que no es lo mismo
de lazy load
porque lazy load
literalmente
te vas a cargar
ese código
HTML
bueno
el código de JavaScript
perdón
lo vas a traer
lo vas a solicitar
mediante lazy load
aquí el código es
ejecútalo
pero en un momento
tardado
es un poquito difícil
de explicar
sí porque al final
es como
bueno cuando entre
esta parte
del HTML
entre al viewport
entonces carga
el JavaScript
y muestra el componente
pero
o cuando algo sucede
cuando algo lo dispara
porque puedes poner
triggers
entonces el trigger
puede ser cualquier cosa
el trigger puede ser
tenemos varios
unos que están previamente
preconfigurados
por el equipo de Angular
y tenemos cualquier condición
que tú puedes poner
en un if
en un ngif
esa misma condición
la puedes poner
como trigger
por ejemplo
si hay comentarios
entonces quiero mostrar
el componente
que carga los comentarios
pero si no hay comentarios
¿para qué voy a cargar
todo lo que hace
la carga de comentarios?
y si nunca voy a ver
estas imágenes
que se encuentran
al final de mi página
¿para qué las voy a cargar?
si pues nunca
el usuario no las está viendo
¿para qué voy a cargar
ejecutar ese código?
entonces
está súper genial
que podamos hacer
todo ese tipo de optimizaciones
con una simple instrucción
de arroba
de Fer
y ya está
esa está aquí
para enseñarla
básicamente
la verdad es que
la sintaxis
me parece buenísima
sinceramente
bueno
mucha gente
mucha gente
me dice
hay que acostumbrarse
a ver esa sintaxis
pero
o sea
si
uno se acostumbra
pero cuando uno ya se acostumbra
ya se mira poderosa
y eso te permite
poner placeholders
o interactuar con ese placeholders
el placeholder
es lo que vas a mostrar
mientras se carga
o se ejecuta eso
pues mucha gente
mucha gente
en youtube
sobre todo
me pone un montón de comentarios
es que se nota
que odias angular
no sé qué
porque a mí
sinceramente
nunca me han gustado mucho
las directivas para todo
de angular
y a mí se me hacía la sintaxis
como muy recargada
muy
mucho boilerplate
y como que no
nunca me ha gustado
pero bueno
y es como si a alguien
no le gusta JSX
que respeto
y entiendo
pero a mí
la verdad es que la nueva sintaxis
me gusta mucho
y tengo que decir
para que la gente vea
que mucha gente
es que tú crees
que RIA que es perfecto
y para nada
Fernando antes comentaba
lo de suspense
y para mí lo de suspense
ha sido
yo creo
una de las grandes
unos grandes bluff
una de las grandes cagadas
de RIA
en las que nunca ha dejado claro
exactamente
cómo funciona
para hacer el import dinámico
tenía que hacer
o sea
era un poco rollo
y tengo que decir
que la sintaxis esta
que tenemos
que ponemos aquí
la de differ
a mí me encanta
lo que comentaba Fernando
es esta
que hacías differ
y dices on viewport
y solo cuando estás en el viewport
entonces
carga este componente aquí
y aquí tienes el playholder
que se va a mostrar
hasta que los comentarios
estén cargados
pero tienes un montón
de estados aquí
mientras estás haciendo
el loading
el error
el playholder
o sea tremendo
y es increíble
me encanta
esta sintaxis
y me hace que
que sea tan
tan declarativo
y tan fácil
mira dice por aquí
eventualmente
lo único que
o sea
podríamos hablar
de las cosas
que no nos gustan
de los dos
o sea
de ángulos de React
por ejemplo
si quieres empecemos
atacando React
de lo que no me gusta
de React
es que eventualmente
vas a llegar al punto
donde vas a tener
un provider
dentro de otro provider
dentro de otro provider
dentro de otro provider
dentro de otro provider
dentro de otro provider
y dentro de otro provider
y cruzar los dedos
de que el provider
que estás accediendo
tenga visión
del provider
que se encuentra afuera
porque si no
no vas a poder verlo
y hay que ajustarlo
y eso termina siendo
una hilera así
hacia abajo
de providers
que termina viéndose feo
que a pesar de que
se puede optimizar
se pueden agrupar
providers en general
o sea como agrupadores
eso termina siendo
un poco difícil
de entender
cuál es el padre
de quién
a mí los providers
nunca me han molestado mucho
porque siempre he pensado
a ver
sobre todo aquellos providers
que es un call
el provider GLS
porque si está muy
si está muy arriba
y está en un archivo
no es una cosa
que me moleste especialmente
si está en un solo sitio
una cosa que sí me molestaría
es que estuese
constantemente
teniendo que ver
eso que dicen
esa visibilidad
pero sí que he visto
que ha habido muchos ataques
de ah es que mira este archivo
con 15 providers
que también habría que ver
de esos providers
cuántos son necesarios
realmente
porque hay cosas
como Zustan
que al final
funciona hasta sin providers
y que es muy interesante
yo no sé cómo funciona Zustan
honestamente
esa magia que hace
de no tener un provider

es tremendo
es algo muy parecido
a unos signals
como los signals
los signals
funcionan con providers
y este tipo
entonces
que tiene funcionamientos
así que
que pueden
pueden molestar
pero que a mí
cosas que sean molestas
pero que estén en un sitio
sabes que digas
oye mira
tienes que pagar este peaje
pero lo pagas una vez
a mí eso no me molesta tanto
lo que sí me molesta
por ejemplo
es tener que pagarlo
constantemente
por ejemplo
Suspense de React
que dices
quiero hacer un lazy load
de un componente en concreto
y quiero que lo tengas
con un lazy
o sea con un lazy dog
con el loading y tal
claro
necesitas el fallback
aparecer el fallback
tienes que poner ahí
el componente Suspense
lo tienes que envolver
tienes que hacer el import dinámico
claro
si no utilizas framework
de Next.js
que eso si quieres
lo hablamos después
o sea tiene un montón
de boilerplate ahí
que alguien decía por aquí
eso lo puedes hacer
alguien estaba como quejándose
de este código
como que eso en React
lo puedes hacer más declarativo
y no es verdad
no es verdad
porque lo cierto
es que si tú quieres hacer
un import dinámico
tienes que poner import
tienes que poner
el lazy de React
tienes que importar
una biblioteca
tienes que
y eso es imperativo
no es declarativo
son mentira
que sea declarativo
tienes que hacer
muchos más pasos
otra cosa
otra cosa
es que tú te dices Next
y Next haga una magia
por ahí
que te permita
vale
eso ya
ya vamos a hablar de Next
claro
entonces ya hablaremos
de Next
y bueno
y lo último
ahora para ser justo
para decir lo que no me gusta
de Angular
es que Angular
ahorita está
cuando uno crea un componente
en Angular
y ahora está como
sin módulos
está de nuevo componente
a la fuerza
es que
debería de haber
una opción
fácilmente
de configurar
para evitar
que nuestros componentes
tengan tanta
o sea
que en el decorador
que dice
arroba component
abre llaves
y stand alone
y los imports
y el template
y no sé qué
o sea
un montón de cosas
o sea
deberíamos de poder
poner todo por defecto
es decir
para que nuestro
decorador del componente
sea tan fácil
de ver
que no tengamos
tanta propiedad
en el decorador
de ahí
por ejemplo
ahí faltan muchas propiedades
por ejemplo
falta el stand alone
y faltan los imports
que es lo que estamos
haciendo ahora
debería haber una manera
más fácil
de
de evitar tener
tantas properties
en el decorador
por ejemplo
que el selector
el selector realmente
es necesario
tener
o sea
que por defecto
fuera
user profile
basado en el nombre
de la clase
que a menos de que tú
lo quieras cambiar
lo pongas
no que siempre esté
igual el stand alone
a menos de que
bueno
porque esto es algo
como medio nuevo
pero que el stand alone
no lo ponga
que sea
ahora que ya es por defecto
que sea por defecto
y que si yo no quiero
que sea stand alone
component
que no lo ponga
lo mismo
con las demás
los demás properties
del componente
y eso hace de que
uno cuando empiece
Angular
dice
pues pucha
y que es todo esto
y uno ve
el arroba ahí
component
y esto
que montón de cosas
entonces es difícil
comprender
tanta cosa nueva
y es lo que no me gusta
de los componentes
de Angular
a mí es otra cosa
que no me gusta
y de hecho
no me gusta tampoco
mucho Lit
por eso
porque Lit
no soy muy fan
de los decoradores
especialmente
cuando empiezan
a tener demasiada magia
o sea un decorador
que sea
que hace una cosa
en concreto y tal
bien
entonces cosas así
vale
pero cuando ya empiezan
los decoradores
que tienes que hacer
muchos decoradores
y es una cosa
que a veces me pasa
en Nest
también
en Nest
es el extremo
que todo es decorador
claro
y si lo controlas
está bien
pero llega un momento
que yo me he enfrentado
a códigos
que ya no sabes
qué hace ese decorador
hay decoradores
que cambian
el comportamiento
de otro decorador
y es como magia
y entonces estás
como enfrentándote
a lo peor
de la programación
orientada a objetos
pero con el patrón decorador
porque ya empieza a haber
como herencias
de comportamientos
de que si tienes
dos decoradores
uno detrás del otro
resulta que cambia
ese comportamiento
y a ver
obviamente
eso es una responsabilidad
que manténganlo
lo más simple posible
claro
hay veces que uno dice
ay pero esto yo podría
poner un decorador
para facilitarme la existencia
pero te facilita
la existencia ahorita
pero hay que pensar
a la larga
cuando regreses
y no tengan la menor idea
de cómo está configurado
ese decorador
cómo funciona
o qué tan fácil es
poder comprender de nuevo
qué es lo que hacen
entonces a veces
es mejor no usar
tanto decorador
y solo usar
lo que venga
y lo que sí estrictamente
te da un beneficio directo
a tener ese mar
de decoradores
que tal vez al inicio
te va a ayudar un montón
pero a la larga
te puede complicar mucho
la existencia
de eso de Nest
o sea
es subjetivo
pero porque puede haber
personas que digan
no yo comprendo
los decoradores
de pe a pa
yo sé lo que hace
y siempre estoy trabajando
con esto
y me ayuda un montón
pero personas nuevas
que vengan al equipo
van a tener
una pesadilla
con ese código fea
hablemos de Next
porque bueno
hemos hablado
de Angular
hemos hablado
de React
pero una cosa
muy importante
de React
justamente
es Next
ha salido
Next14
no sé
qué te parece
Next14
la verdad es que
desde el 13
el 14
la verdad es que
el 14
ha sido una
actualización
digamos que el 14
ha sido una actualización
más o menos aburrida
porque el 13
fue el que dijo
ok
vengo a hacer esto
y el 14
ya puso estable todo
digamos
bueno no todo
pero muchas cosas
Next14
o digamos
el nuevo Next
pasa exactamente
lo mismo
que habíamos mencionado
bueno
que yo siento
que había mencionado
que naces
siendo héroe
creces lo suficiente
para hacerte un villano
ya ves
Next
no es que sea un villano
ahora
la verdad es que Next
tiene una idea
de cómo optimizar
el código
para que tú
cuando programas
automáticamente
todo tu código
está optimizado
para ser generado
a la hora del servidor
y están apostando
muchísimo
porque ese es el camino
ahora
tenemos servidores
en la nube
que son muy fuertes
hagamos que ellos
trabajen
y tratemos de mandar
a los clientes
la menor cantidad
de código
que ellos ejecuten
y eso hace que tengamos
en el Lighthouse
números altísimos
sin tener que hacer
muchas optimizaciones
por nuestro lado
el problema está
de que programar
en Next
digamos que 14
con el App Directory
porque puedes trabajar
con el Pages Directory
y no pasó nada
y sigue exactamente lo mismo
pero si quieres aprovechar
lo nuevo
tienes que trabajar
con el App Directory
y trabajar con el App Directory
ya es un cambio de mentalidad
tienes que desechar
todo lo que habías aprendido
de Next
porque ya las funciones
no funcionan igual
los componentes
no funcionan igual
inclusive
vas a tener problemas
con librerías
que antes usabas
que
que funcionaba muy bien
y ahora
hey
ya no funciona
ahora tengo que envolver
mi aplicación enteramente
en un provider
y hacerlo
use client
y que pasó
por ese lado
entonces
Next está en un punto
donde te está metiendo
server components
por todo lado
al inicio
yo lo miraba
como que
y si yo no quiero
si yo no quiero
no quiero
quiero trabajar
como trabajaba antes
en Next
pero perdías
todas las optimizaciones
que nos están dando
el equipo de Next
ya después
de estarlo utilizando
pues
como les mencionaba
el equipo de detalle
yo estoy cansado
de estar trabajando
en React
tengo como 3-4 meses
de solo React
ya estoy
ya no quieres ver
más React
ya estoy
hasta la coronilla
de todo lo que es React
pero en general
ahora que veo
Next
tiene mucho sentido
de que
nos fuerce
a hacer server components
nuestro código
es más rápido
más ligero
más
a la larga
funciona mucho mejor
y vale la pena
esa actualización
cuando uno está trabajando
en un componente
una página
y uno quiere
que solo sea
una pequeña porción
de la página
sea generada
al lado del cliente
creas un cliente
o un componente
independiente
le pones use client
y ya trabajas
de la manera tradicional
pero
a ver
los server components
tienen todo sentido
del mundo
al final es una mejora
de rendimiento
que es que si no
React
bueno React
que estaba antes
enfadado uno
de cómo lo pronunciaba
pero
el tema es que
que
el cambio
ha sido como demasiado bestia
¿no?
ha tenido que llevar
claro
por un lado
teníamos los server components
pero es que por otro lado
también el app router
y es que por otro lado
¿no?
y como que se han juntado
demasiadas cosas
que a lo mejor
si lo hubieran hecho
de una forma más escalonada
hubiera ayudado más
a que la gente
lo tragara mejor
¿no?
mi sensación ha sido
que se han intentado
adelantar mucho
incluso con Turbo Pack
les ha pasado ¿no?
que
en alfa
esto está en alfa
esto está en prueba
esto no sé qué
esto no sé cuánto
y constantemente
lo que ha pasado
es que creo que la gente
ha llegado a un momento
en el que se ha
se ha agobiado
se ha agobiado
incluso a la vez
de todo esto
también tenemos
los server actions
que ahora hablaremos
de esto
porque ha sido
una de las grandes polémicas
y que hablaremos
de un tema
que me parece muy importante
sobre el tema
de la escalabilidad
del código
que es algo
muy polémico
pero el tema es
que por suerte
en X14
lo que decías tú
¿no?
que ha sido
un lanzamiento
muy aburrido
que no tiene
nuevas APIs
y que la idea
es pues hacer
que sea estable
todo lo que hasta ahora
nos habían enseñado
también es verdad
que el problema
es lo que tú dices
¿no?
tener que convivir
pages
con app router
exactamente
entonces
porque
funcionan
funcionan entre sí
puedes usar
puedes usar ambas
de manera simultánea
ir migrando
paulatinamente
las nuevas
pero
creo yo
que eventualmente
te van a forcer
bueno quién sabe
porque React
todavía soporta
class based components
entonces no se sabe
pero
la verdad es que
yo pensaría
en que
todo lo que ustedes
van a hacer ahora
en Next
usan las características
del app directory
y acostúmrense a hacerlo
de la nueva manera
porque es
es lo que Next
le está apostando
no van a tener
más mejoras
en
valga la redundancia
más mejoras
pero ya van a tener
más
bueno ya no vamos
a tener mejoras
con el pages
claro
eso seguro
ya no está
moviéndose para ese lado
server components
no vas a tener
en pages
nunca
o sea
eso no va a pasar
nunca
hay una pregunta
aquí buena
Liz Android
dice
si hoy tuvieras
que elegir un framework
para empezar un proyecto
desde cero
cuál elegirías
sería bueno
que nos dijera
qué tipo de proyecto
es
para
pensemos
detalles
imagínate
que tienes que hacer
la propia
plataforma
de detalles
hay muchas cosas
ahí que
si ocupamos
SEO
a fuerza
nos
nos bota
la mitad
de las tecnologías
ocupamos SEO
a fuerza
y optimizaciones
del lado
del servidor
tenemos candidatos
fuertes
obviamente
sería bueno
irse por
un
alguien que tenga
trayectoria
alguien que tenga
mucho tiempo
de existir
que en este caso
estaríamos hablando
de Nex
o Remix
por ejemplo
son dos alternativas
que valdría la pena
irse por ese lado
si quieres
ahorita yo estoy
terminando mi sitio web
me cuesta sacar
tiempo libre
estoy haciendo
todo con Quick
entonces
Quick me ha gustado
mucho
hay que esperar
que Quick crezca
para que
para ver si hace
alguna competencia
seria
en el stack
de tecnologías
pero
yo me iría
por Nex
si me tocara
escoger
me iría
por Nex
principalmente
por la
por la trayectoria
que ha tenido
por la estabilidad
que ha tenido
por la empresa
que lo respalda
por la comunidad
hay muchas razones
vas a querer
usar una tecnología
que
esté bien respaldada
y que la comunidad
sea grande
porque cuando
tengas un problema
porque te vas
a enfrentar a problemas
tú vas a esperar
buscar soluciones
rápidamente
y vas a apoyarte
en la comunidad
y obviamente
digamos que
vas a llegar
a ChatGPT
a preguntarle algo
entonces ChatGPT
también se basa
en las preguntas
de la comunidad
entonces es más difícil
resolver problemas
si eres el primero
que te enfrentas
a esos problemas
claro
exacto
claro porque
por ejemplo
aquí decía gente
Svelkit
pero claro
Svelkit
sí Svelkit
es una opción
interesante
pero justo lo que dice
lo que dice Fernando
que
a ver
opciones todas son
interesantes
todas tienen un poco
de comunidad
Svelkit
Nuk
Solid
Start
Next
Remix
pero yo entiendo
el punto de Fernando
si al final
tienes que crear
una página
para su academia
que es algo que tiene que
perdurar en el tiempo
tiene que funcionar
quieres además
contratar a gente
que sea la persona
que mantenga
porque Fernando
no tiene tiempo
para mantener la plataforma
y va a querer gente
que le ayude
va a querer maximizar
la posibilidad
de contratar gente
y por lo tanto
no va
no va a utilizar
una tecnología
Svelkit
puede ser interesante
pero luego
va a ir
al mercado
y va a decir
ostras
me va a costar
contratar gente
que sepa
alguien que sepa
Nex
que contratar
alguien que sepa
Svelkit
claro
o sea
es que
hay que verlo
de otros puntos
de vista
pero
de nuevo
si fuera un proyecto
que es un piloto
o es una demostración
o es un proyecto
experimental
que puede
que tenga
digamos
contrataciones
a futuro
pero no estás
todo del todo seguro
entonces puede darte
la oportunidad
de probar una nueva tecnología
así la aprendes
así te enfrentas
a eso
no digo que esas
tecnologías sean malas
pero es que es diferente
la visión final
a la que vayas
o el objetivo final
al que vayas
y de nuevo
a veces vale más
malo conocido
que malo por conocer
malo conocido
que malo por conocer
hombre
dicho así
la frase
malo conocido
que bueno
por conocer
claro
si es malo por conocer
no se sabe
tienes toda la razón
es que es verdad
yo estoy haciendo
yo estoy haciendo
el sitio web
mío con Quick
espero pues
cuando termine
la reglación
del curso de Next
creo que me voy a dar
una semana
para terminar eso
pero con Quick
yo he tenido
varios inconvenientes
que he buscado
en internet
y a saber
no encuentro
ninguna solución
entonces me ha tocado
investigar
y reinvestigar
y hacer unas cosas
que no sé
si están bien hechas
pero me ha funcionado
pero a veces
uno sabe
que uno sabe
cuando ve un código raro
dice esto
esto no está del todo
también
me ha tocado
investigar mucho
y algo interesante
que tiene Quick
es que Quick
hizo los server actions
en producción
antes que Next
mucho antes que Next
sí sí sí
que nadie
nadie se quejó
nadie se quejó
por hacer un SQL
directamente
en el template
sí sí sí
y hace exactamente
exactamente lo mismo
de hecho
lo mostraron aquí
en directo
en exclusiva
cuando estaba en Alpha
imagínate
ya hace muchísimo tiempo
hace más de un año
diría
y nada no
ahí la gente
no se queja
a nadie
mira
dime Diego
no no no
lo que hay que acordar
es que los server actions
de Next
están bien probados
o sea
uno no va a poder hacer
una inyección de SQL
con un server action
a menos que
tú no estés
sanitizando
tus variables
pero
en los ejemplos
que ellos han mostrado
en pantalla
no se hacen inyecciones
de SQL
ya
ahora hablamos
de los server actions
vamos a unas preguntitas
que han dicho por aquí
para que
que están relacionadas
como por ejemplo
Feral
que dice
Fernando
le ves futuro a Remix
porque lo han mencionado
lo consideras una buena alternativa
a Next.js
pero una buena alternativa
yo no estoy muy
en el lado del Remix todavía
o sea
no estoy tan ahí
de ese lado
pero si es una muy buena alternativa
desde que se hicieron
open source
es una muy buena alternativa
y también
porque mucha gente
no le gusta
que te metan
server components
a la fuerza
es una buena alternativa
trabajar con Remix
pero de nuevo
si me tocara hacer un proyecto
entre estos dos
me iría por Next
¿cómo ves esa polémica?
porque hay una polémica
en la que mucha gente
se queja
que React
o React
se ha metido mucho
dentro de Next
¿no?
que tienes parte del equipo
ahora está dentro de Next
yo tengo
no sé
no sé bien
perdón
sí, sí, sí
sí, no
o sea básicamente
que parece que sea Next
el que toma las decisiones
y la evolución
de React
sí, hasta donde sé
Next ha jalado
muchos ingenieros
que han participado
en el desarrollo
de React
para ser parte
de Next
es que lo que pasa
es que Next
está creciendo mucho
y de nuevo
cuando tú tienes
o necesitas SEO
ya no vas
solamente por React
ya dices
voy a irme por Next
bueno básicamente
la gente piensa
directamente en Next
y tiene sentido
de que sea Next
quien esté moviendo
la parte de React
o sea
es como
uno de los principales
consumidores
de React
entonces
honestamente
a mí me preocupa
de que
todo esto se privatice
que venga una empresa
y que adquiera
digamos
todo
como los de OpenAI
que venga Microsoft
y compre todo el mundo
y ahora está en mi burbuja
y se haga un monopolio
¿no?
eso es
algo que no me gusta pensar
pero
yo lo que esperaría
es que React
siga evolucionando
yo honestamente
estoy sorprendido
de que React
todavía no haya metido
lo de las señales
ya eh
bueno es que
están en contra
es que no quieren meterlo
es que son cabezones
es que no
eso es una cosa
que no se le puede negar
y es que siempre
tienen muy claro
la dirección
a la que quieren ir
otra cosa
es que sea
la dirección correcta
o lo que sea
pero los hooks
un montón de gente
estuvo en contra
de los hooks
y tal
pero nada
ellos dijeron
hooks, hooks
y al final
mira
los hooks
sí que triunfaron
ahora veremos
con esta decisión
de los signals
que parece que todo el mundo
dice no
y ellos
R que R
que no
yo estaba esperando
de que pronto
los anunciaran
o estuvieran en alfa
o algo
pero nada
no hay forma
mira
por aquí
dice también
bueno vamos a hablar
porque están hablando
ya de los server actions
pues vamos a hablar
de los server actions
y así
porque vamos a hacer una
vamos a mostrar la imagen
la polémica
de la polémica
yo sé cuál es
esa imagen
esta imagen
tan tan tan
que por cierto
yo estuve probando
bueno yo
obviamente también probé
ese código
pero
esto
si ese bookmark
fuera un client component
a mí me ha marcado errores
hacer esa sintaxis
por ahí
me pide que la función
que está dentro
ese use server
esa función así
con la que está dentro
del botón
me pide que sea
un archivo independiente
ahora
ya no me permite hacerlo
si es un client component
es decir
use client
en el inicio del archivo
me tiro un error
en fin
pero
interesante
lo que pasa en ese punto
es que
lo que muy poca gente ve
es que ese
SQL
que está antes
de la
bueno
justo después de la web
eso
es un
un paquete propio
que tiene la gente
de
de Vercell
que hace
la conexión
que hace la sanitización
que previta la inyección
de dependencias
que escapa los valores
o sea
hace más cosas
de lo que parece
y eso evita
la inyección de dependencias
si tú no usas
ese SQL
o sea
ese
es una función
de los templos literales
si no la utilizaras
si puede haber
inyección de dependencia
inyección de SQL
si no estás escapando
la información
pero no
lo interesante
de los server
de los server actions
solo para
para las personas
que pues
no están
enterados del todo
es una forma
de poder ejecutar
una función
del lado del servidor
que es llamada
desde el cliente
desde un navegador web
digamos
sin necesidad
de crearse
un Redful API
sin tener que llegar
a hacer todo el protocolo
de que en el servidor
hay que crearse
alguien que escuche
el endpoint
y validar
el toque
o sea
hacer
infinidad de cosas
ahora tenemos
una posibilidad
de hacer ese llamado
que en lo personal
me gusta
o sea
en lo personal
me gusta
porque es que
si quisiera
hacer eso mismo
hay que crearse
el pinche
Redful API
y antes no quedaba
de otra
así era
así era
ahí quiero llegar
ahí quiero llegar
porque mucha gente
de lo que se queja
bueno hay diferentes niveles
está el nivel
que dices tú
es que aquí
hay una inyección
hay una inyección
de que se están metiendo
aquí algo
no sé qué
y bueno
es verdad que esto
se sanitiza
porque al final
esto es un template
literal
y tal
luego hay gente
que dice
bueno
a lo mejor
esto no es un problema
de seguridad
vale
pero
sí que tienes el tema
de que no me gusta
la cadena de texto
yo estoy en ese grupo
yo estoy en ese grupo
yo estoy de acuerdo
de que ese código
no se debe de hacer
o sea
ese código
no se debe de hacer así
eso es una demostración
de que se puede hacer
pero no se puede hacer
yo prefiero
en ese caso
tener un
digamos
un
un directorio
un directorio
donde tengamos
nuestras acciones
por ejemplo
acciones de autenticación
entonces aquí están
las acciones de autenticación
todas esas
que son con el use server
arriba
para que la gente
no vaya accidentalmente
igual no se podrían ejecutar
pero accidentalmente
mandar información
al lado del cliente
exacto
y simplemente las llamo
y queda
el código queda muy limpio
y muy fácil de leer
por ejemplo
ese botón llamaría
la función
que eso lo que hace
es insertar
en los bookmarks
el slog
o sea
como grabar
en el directorio
de mis favoritos
digamos
el url
de ese
de ese
blog
digamos
pero si los tienes
así agrupados
es fácil de mantener
fácil de leer
se puede reutilizar
fácilmente
entonces no está
no está tan mal
pero hacerlo así
como lo puso ese tipo
así no
no me gusta mucho
claro
y luego tenemos
el punto de
la gente que se queja
por rollo
pues hay un montón
de ataques
de es que esto
parece php
es que está mezclando
el código
y luego un tema
de esto tendría
que ser una API
que está bien
porque tú lo has mencionado
justamente
hay gente que se queja
de que con esto
no creas la API
lo cual yo estoy de acuerdo
contigo
de que a mí me parece
algo positivo
porque digo
bueno pero
¿por qué tengo que crear
una API?
a veces tener una API
tiene todo sentido
del mundo
pero en este caso
yo me quiero evitar
una API
porque al final
lo único que quiero hacer
es conseguir esto
sin necesidad
o sea
imagínate que quieres
cambiar
un corazoncito
de favorito
en un post o no
o sea
estás haciendo
algo como medium
y quieres tocar
un botón de un corazoncito
y cambiar favorito o no
y eso no va a ser expuesto
al mundo exterior
es decir
es algo que solo va a tener
esta aplicación
si no teníamos
los server actions
hay que llegar
a crearse
el API
y hay que crearse
la validación
del token
hay que crearse
la parte de recibir
los argumentos
validar los argumentos
dar una
emitir una respuesta
y aparte
tienes que llegar
del lado de React
y que tienes que disparar
la petición
tienes que escuchar
la respuesta
tienes que validar
la respuesta
si la respuesta es positiva
hacer una cosa
si es negativa
es otra
si da un error
es otra
y solo es para hacer
un toggle de un corazón
que yo le quise dar
a un corazoncito
like o no
entonces con un server actions
haces la función
haces la modificación
si sale bien
retornas algo
si sale mal
retornas algo
y puedes trabajar
como si nunca
salieras de React
con un use state
digamos
mientras estoy haciendo
la petición
entonces cambio el state
que se muestra
un spinner
ya se hace
luego regreso
al use state
o sea
es muy fácil
es muy fácil
y al final
lo que nosotros queremos
es ser efectivos
y eficientes
con nuestro tiempo
hacer todo ese
API
para algo tan sencillo
claro
aquí tenemos este ejemplo
¿no?
aquí sería
como sería antes
donde sí o sí
tenemos que crear
arriba a la izquierda
el handler
que es
aunque por pequeño
que sea ese código
tenemos que crear
justamente
pues eso
tenemos que crear
la API
y abajo tendríamos
la parte del componente
donde además
en el on-summit
tendríamos que hacer
el fetch
habría que hacer
claro
la petición a esa API
esperar y tal
y enviar la información
este es el ejemplo
como más sencillo
donde lo han hecho
lo más corto posible
y en el after
a la derecha
tendríamos justamente
como sería ahora
y obviamente
hay otro punto
en este código
que ellos también muestran
o sea obviamente
es lo mínimo necesario
porque ahí no hay
no hay
ninguno de los dos
tiene manejo de excepciones
ni validaciones
ni nada
ni loading
pero sí está bien
está bien que sea
lo más pequeño posible
pero hay otra cosa
que
que
que pasa con los server actions
porque ellos están llamando
desde un form
el action
y están mandando
llamar el create
que eso está bien
eso manda todo
el formulario
ese form data
ahí se ve que
en el after
se ve que se manda
todo el form data
pero
eso hace
que uno tenga que
que controlar
también
el estado
del formulario
en el ejemplo
que ellos tienen
de next
en la documentación
en el
en el punto
porque ahorita estoy
casualmente en eso
en el ejercicio
que ellos tienen
de agregar
la autenticación
tienen
un hook
o sea
una manera
de estar
pendiente
del estado
del formulario
para poder bloquear
los botones
en el caso
de que
por ejemplo
si tocas
ese botón
ahorita
en la parte
del after
y tocas
el botón
de submit
el botón
no va a reaccionar
si se está posteando
o no
simplemente
lo tocas
y lo puedes
tocar un montón
de veces
pero si quieres
bloquear ese botón
basado en la acción
del servidor
o sea
en el server action
que se está disparando
tienes que hacer
un poquito más
de boilerplate
claro
tienes que utilizar
si no me equivoco
esto
tienes que poner
el use form status
tienes que saber
si está pending
si
exactamente
con esto
puedes controlar
tienes que importar
pues esto
use form status
que viene de react
ese submit button
tiene que estar dentro
es un componente aparte
que está dentro
del formulario
entonces
claro
tienes que separar
el componente
ahí es donde yo creo
que está el problema
conceptual
que muchas veces
no queda claro
porque esto entonces
te obliga a separarlo
pero esta parte
tiene que ser
un use client
porque no puede ser
ya un server
pero de nuevo
esto es como
un camino para hacerlo
porque
yo he probado
dos alternativas
uno es mandar
a llamar
el server action
directamente
desde el formulario
así como este ejemplo
y pues toca manejarlo
así como ellos lo mencionan
que
igual uno se acostumbra
pero también lo puedes manejar
de la manera tradicional
donde tú tengas
tu propia función
en el componente
la función internamente
llama el server action
y lo manejas
de la manera tradicional
también de las dos formas
se puede hacer
y de las dos maneras
uno tiene
pro y contras
¿no?

el problema que yo siento
es que
de nuevo es
que ahora tenemos
varias sintaxis
y el tener varias sintaxis
hace complicado
aprenderlo
por ejemplo
las personas que decidan
hoy
aprender next
pues van a aprender
con el app directory
sería lo mejor
claro
sin problemas
pero
capaz los contratan
a ellos
para darle mantenimiento
a una aplicación
legacy de next
y no tiene que ser
ni legacy
puede ser de la versión
migrarla
del pages
al app
y eso va a quedar
bueno
y todo esto que es
claro
y viceversa
puede ser que ustedes
sepan next
pero
ahora hay que irse
al app directory
y van a pensar
ah bueno
y dónde está
el get server side props
o get server side path
ya nada de eso existe
ya no se usa
y ahí salió otra vez
el botón de ese
¿has hecho así?
¿has hecho así?
sí, sí
ahí salen
el corazoncito
sé que salen
¿no?
a veces
ahí está
ojo
vamos a hacerte
una captura de pantalla
ese es el corazoncito
de next yes
a veces salen
en fin
la cosa está
de que
eso es un punto complicado
para la gente
que está
o sea
es un punto raro
en el cual nos encontramos
en next
donde tenemos
esas dos sintaxis
y
¿cuál aprendemos?
hay que aprender
las dos
claro
hay que aprender
las dos
porque las dos
tienen trabajo
yo intentaría
a día de hoy
aprender la del app router
porque me parece
como que es la más
la que más
va a estar utilizando
claro
es la que está ahora
pero es verdad
y para mí es un problema
que me pasa
por ejemplo
si estoy utilizando
supabase
si estoy utilizando
lo que sea
cualquier dependencia
como que me cuesta mucho
saber si el código
que estoy viendo
de ese ejemplo
realmente funciona
para app router
para pager router
eso es un
es un
verificación
cualquier librería
que uno quiere instalar
en next
tiene que verificar
de ok
eso
el ejemplo
que está aquí
funciona en pages
o funciona en app
algunas lo dicen
algunas ya están actualizadas
si lo dicen
pero hay otras que no
hay otras que
andaban
investiga tú
la teoría sería
si hay algo
que se genere
del lado del cliente
tienes que hacer
use client
pero si hay algo
que tienes
o sea
si puede ser generado
del lado del servidor
ahí sí no hay problema
pero si hay algo
que si hay un hook
una regla sería
si hay algún hook
algún use
use client
es lo que tienes que usar
es un client con pod
exacto
mira tengo
tengo este
este es el
este es el
justamente lo que te comentaba
¿no?
vale
¿no es un poco spaghetti
mezclar todo esto?
por ejemplo
el front
debe aprender todo
lo relacionado a consultas
de SQL
incluso las complejas
o igual se pueden separar
equipos de front y back
no no siempre se puede separar
es que lo que pasa aquí
no es que
es que
es que lo que
lo que
o sea
imagínate que tú quieres
trabajar con un server action
pero tú ya tienes montado
tu
tu restful API
porque se va a pegar
a los servicios
de la empresa
ok
entonces
tú puedes
o sea

es que se
hay
hay de todo
¿no?
pero tú puedes mandar
a llamar a un server action
y el server action
es quien hace la comunicación
al
al restful API tradicional
y tú todo lo haces
mediante server action
no necesariamente
es que el del front end
tiene que
literalmente hacerse
el pegue
de datos
o sea
nuevamente
un server action
no es más que ejecutar
un código
de lado del servidor
eso es
eso es todo
el server action
llega al servidor
y lo que quieres hacer
en el servidor
ya es cuestión tuya
si el servidor quiere llamar
un restful API
adelante
o quieres
simplemente trabajar
de la manera tradicional
no necesitas hacer un server action
no los uses
no es
no es a fuerza
no es obligatorio
claro
puedes seguir utilizando
la manera tradicional
exacto
nadie te obliga
y de hecho
una cosa que
veo que mucha gente
se confunde
y hay que tener en cuenta
en la parte de la derecha
en el after
lo que estáis viendo
es que
esta parte de aquí
esta del create
este método
no llega al front end
¿vale?
porque hay gente que decía
pero esa parte
si no se ofusca
no sé qué
es que esta parte
que antes se veía en el SQL
y la gente decía
claro
pero SQL
eso llega al front end
eso es un método
que se extrae
y que solo se ejecuta
en el servidor
o sea
no llega al bundle
del cliente
esto no llega al cliente
estos códigos servidor
100%
no vais a ver
ese código
en el bundle
del javascript
que llega al cliente
que es súper importante
¿vale?
entonces ni siquiera se ofusca
porque no existe
en el cliente
para que tengas en cuenta
porque todo es server component
el cliente llega
solo HTML
no llega
claro
no llega a ese código
exacto
y luego
lo que
lo que
claro
también tenemos que tener en cuenta
que
que esto
al final se hace también justamente
para que la latencia sea menor
porque si haces un fetch
a una app
y que no sé qué
que no sé cuánto
al final la idea es que
cuando hagáis esto
se ejecuta directamente
del servidor
y lo que hace es devolver el resultado
que haya habido de eso
los server components
esa es la idea
los server components
tampoco llegan al cliente
justamente para evitar
enviar javascript
que no necesita
que entiendo que es complicado
y que
por supuesto
lo que decía es también
de que si tenéis diferentes equipos
tampoco pasa nada
podríais tener un equipo
que tenga un paquete
de NPM
que le puedes llamar
server actions
que todos los server actions
estén en ese paquete
totalmente separado
y entonces lo que haces aquí
es
este método
no lo tendrías aquí
porque esto lo hacen aquí
por un tema de demostración
obviamente
y que importes
por ejemplo
importar
crear usuario
create user
¿vale?
y entonces esta action
tú le envías el create user
y ya está
y esté totalmente separado
es que no hace falta
ni que lo tengas
en el mismo proyecto
obviamente
sí que lo vas a necesitar
en el mismo proyecto
pero que lo tengáis en cuenta
que al final
esto al final
se va a ejecutar
donde queráis
¿vale?
que no necesitáis tenerlo
dentro del componente
que es que
es que lo malo
de los ejemplos
¿no?
que como siempre
lo hacen dentro del componente
mucha gente se cree
que tiene que estar
por narices
dentro de los componentes
sí, a mí no me gusta
sí, a mí no me gusta
mezclar esas cosas
de hecho los componentes
trato de que sean
lo más sencillos posibles
el componente
que se
o sea, las páginas
tienen que ser
lo más
puras
en cuanto al HTML
para que uno sea
o sea, que uno vea el componente
y ya sepa lo que es
no debería haber mucha lógica
en un componente
si ya hay mucha lógica
hay que separar eso
hay que ponerlo en archivos
independientes
o crearse
hooks
o
o algo
pero no
no
los componentes
no tienen que ser tan pesados
este ejemplo
obviamente pues
es un ejemplo
que se puede hacer
pero no
yo no lo haría así
pero
sí, sí
perdón, la verdad
es que había una pregunta
interesante
pero
obviamente lo que
de nuevo
lo que haría yo ahí
con ese
after
sería ese
create
ponerlo en un directorio
con sus acciones
y eso no sé
create item
o create item
tendría el create item
en un
no sé
una carpeta que se llame
items
o algo así
si fuera una tabla
y ahí
create item
en la acción
para que
simplemente
desde nuestro formulario
sería
create item
y ya
y eso es todo lo que tendríamos
en el
en ese page
ahí está
pero
mira
hay una pregunta aquí de Diego
que dice
¿no se supone que todos los componentes
por defecto
son de servidor
hasta que uno pone el use client
para que sea de cliente?
¿para qué pongo el use server?
la verdad que eso es
es lo complicado
a mí es una de las cosas
de mis mayores críticas
es que a mí personalmente
no me gusta nada
el magic string que ese
del use client
y el use server
porque me parece muy hacking
y que
y que confunde mucho
y como que me parece muy complicado
y que al final
es tan fácil
equivocarte
¿sabes?
como que me gusta mucho más
como lo ha hecho Quick
que tienes que importar
si no me equivoco
no sé si tienes que importar
o es una propiedad especial
el símbolo de dólar
¿qué?
es el símbolo de dólar
sí pero para server actions
no me acuerdo cómo se llama
hay que importar una función
en particular
hay que exportarla
y ponerla al inicio del archivo
se llama
una cosa así
claro
tiene algo que me parece
un poquito mejor
que el magic string
de use server
y luego pasa estas cosas
¿no?
que hay gente que ya se vuelve
un cacao
porque use client
es a nivel de componente
use server es a nivel de función
es que lo que pasa con next
es que por defecto
dejad la pregunta que tenías
ay perdón
lo que pasa
no para poder ver el nombre
es Diego
ahí lo tengo
aquí lo estoy viendo
Diego
sí lo que pasa aquí Diego
es que next busca
o sea imagínate un árbol
un árbol
muy corriente
un árbol de los que están
allá afuera
entonces
todas las hojas
de ese árbol
están generadas
del lado del servidor
o por lo menos next
con el app directory
busca de que todas
esas hojas
estén generadas
del lado del servidor
eso hace que cuando tú
entres a una pantalla
ya esté previamente
generada por ti
cuando haces el proceso
de construcción
ya todo eso está generado
por ti
y el servidor se lo manda
y no tiene que procesar
otra vez el componente
porque ya está creado
pero llega un punto
donde hay ciertas interacciones
que el usuario va a tener
o hay ciertas acciones
que digamos
que interactividad
que tú quieres añadirle
y el cliente
tiene que renderizarlas
o sea tiene que renderizar algo
entonces lo que busca next
es que solo ciertas
pequeñas hojas
así bien externas
de ese árbol
sean generadas
del lado del cliente
entonces para eso
es que uno le pone
el use client
en esos
en esas páginas
en particular
en esas hojas
entonces sí
es algo
eso es algo
tal vez enredado
de aprender al inicio
cuando usar use client
y cuando usar use server
porque el use server
por defecto siempre está
o sea siempre está puesto
automáticamente
aunque no lo quieras
siempre está el use server
pero de repente
cuando tú ya
te das cuenta
de que quieres usar
algún hook
cualquier hook
que quieras usar
no solo de React
cualquier use algo
ya necesitas hacer eso
que sea un client component
y lo que hace
es que básicamente
next le va a mandar
todo el código
al cliente
para que construya
él el componente
y ahí ya vienen
otros rollos
aquí dice
pienso en vez de use client
o use server
pienso que hubiera sido
mejor decorar el método
con server
se ve menos hacking
estoy bastante de acuerdo
porque al final
un decorador
sí que es parte
del lenguaje
y hubiera sido
mucho más fácil
¿no sobrecarga esto
el trabajo del servidor?
justamente lo decía Fernando
la idea
la idea es que el servidor
trabaje más
el servidor
es que de nuevo
el servidor
no es que va a trabajar
más
porque cuando ustedes
hacen el build
de la aplicación de next
mucho código
ya está
ya está creado
sería
la mayor parte
del servidor de next
va a ser
ok me está pidiendo
esta información
yo la tengo creada
este es el archivo
alguien más me lo solicita
es este mismo archivo
y hay que tener cuidado
porque si uno no le pone
la revalidación
a los componentes
next va a manejar
el caché
y te lo va a regresar
estático siempre
toda la vida
entonces le va a estar
mandando los componentes
que ya han sido creados
y solo son
los que son realmente
dinámicos
lo que ustedes dicen
este componente
es altamente dinámico
entonces le vamos a poner
el revalidar en SEO
o el force dynamic
que es que siempre
que lo haga la solicitud
al servidor
lo genere el servidor
pero usualmente
next va a
su trabajo
va a ser enviarle
contenido estático
al cliente
y eso hace que trabaje
trabaja lo mismo
que cualquier otro servidor
y además es que
la idea además
lo que tenemos que entender
es que
queremos que trabaje
el servidor más
porque
lo peor que tenemos
son los dispositivos
pensar que en un móvil
no sabéis
la potencia que tiene
la conectividad que tiene
lo que queréis
es evitar a día de hoy
que el dispositivo
haga ese trabajo
porque va a tener
una peor experiencia
de usuario
va a ser mucho mejor
que el servidor
que conoces
la potencia que tiene
la conectividad que tiene
lo haga lo antes posible
y ya le dé
el resultado resuelto
es como cuando hacemos
un renderizado en el servidor
lo hacemos porque
justamente sabemos
que el servidor va a ser
mucho más rápido
que lo que va a hacer
en el cliente
pese a que esté
en una máquina bovestia
porque al final
tú no puedes controlar
la conectividad que tiene
el usuario
ni la potencia que tiene
y ya después
es más fácil poner
un balanceo de carga
digamos vamos a tener
dos servidores
dependiendo de quien se conecte
dependiendo del trabajo
que esté uno
vamos a hacer que uno responda
o el otro
entonces es
es más fácil escalarlo
pero
de nuevo aquí queda mucho
a discreción
de tu objetivo
si tienes una aplicación
altamente transaccional
obviamente vas a querer
tratar de manejar
lo más posible
en caché
para que tus servidores
no estén procesando
cada petición
pero si es una aplicación
por ejemplo
de la intranet
que no le importa
el CEO
entonces ahí puedes hacerlo
puramente en React
y lo pones en
o sea vas a tener
10 mil usuarios
20 mil usuarios
eso no es nada
para un servidor
y le mandas
todo el spa
toda la aplicación
sin lazy login
que es cargar
un mega
por red local
es nada
ahí estás controlando
más el dispositivo
que es
porque no van a utilizar
un móvil
porque están en la oficina
porque tienen buena conexión
es que
a ver que más
dicen por aquí
vale este ya lo hemos leído
el problema de esto
esto no lo he entendido
el problema de esto
es que solo servirá
para proyectos
que solo tienen cliente web
en caso de que el proyecto
tenga un cliente mobile
no se podría usar
este backend
bueno mobile
también tienes conexión
a
solo servirá
para proyectos
que tienen
un cliente web
o sea
es que
lo que
lo que pasa
es que
next
propiamente
es para crear
una aplicación web
si lo que estás pensando
es usar
react
para hacer una aplicación
nativa
así como bueno
como con electron
una cosa así
ahí es otra cosa
dice por aquí
hombre pues yo prefiero
que sirvió
el trabajo menos
sobre todo si el proveedor
de nube me cobra
exactamente
ese es otro punto
claro
esto es verdad
pero es que hoy en día
por ejemplo
oversell
pongamos oversell
cuánto te cobra
oversell
si es que
para tu proyecto
hack on dalberg
por ejemplo
es que
es que es irrisorio
hoy en día
el coste que tienes
de trabajar en la nube
no es el que teníamos antes
incluso para
grandes
grandes empresas
puedes mirar
por ejemplo
los clover workers
es que vas a ver
el precio que tiene
y es irrisorio
entonces
muchas veces
las empresas
que realmente hacen plata
les va a interesar
comerse ellos el coste
en el servidor
que no entregar
una mala experiencia
de usuario
porque al final
en la conversión
que van a tener
va a ser mucho mejor
porque como dice Fernando
obviamente hay casos
y casos
es que el servidor
no es que va
o sea
si va a trabajar
un poco más
pero realmente
no es una
no es tan diferente
porque
aunque tengas tu aplicación
desplegada en la web
siempre va a haber
una solicitud
de un cliente
que va a solicitar
tu página web
esa solicitud
siempre está
entonces
si el contenido
de tu página web
está
estático
el servidor
va a tener
menos procesamiento
porque no tiene
que construir
la página
o sea
no tiene que usar
procesador
para construir
la página
porque ya está
creada
eso es lo que hace
Next
y le manda
código estático
ya creado
por ti
y solo son
ciertas partes
de las que
si va a ocupar
el servidor
interactual
los server actions
siempre van a
hacer una mínima
petición HTTP
que es mucho
más pequeña
que la petición HTTP
tradicional
que haces
con un RESTful API
o sea
solo va a extraer
la data
y lo regresa
en lugar de mandar
tantos headers
las cookies
que puede ser
un montón
de datos
hay
la información
que viaja
en un server action
siempre hace
una petición HTTP
pero es mucho
menor
a crearse
todo el API
y ahí trabaja
menos
entonces
como es
el tiempo
lo va a decir
si realmente
Next
tiene
la visión
correcta
de esto
exacto
vamos con las
tres últimas
preguntas
pregunta
número
uno
pregunta por aquí
Fernando
vas a invitar
a Midu
a que haga un curso
en detalles
y cuál sería
le vamos a
pedir que haga algo
de Astro
a Midu
Astro
me gusta
me gusta Astro
además te estaban pidiendo
en el chat
curso de Astro
cuando sale el curso
de Astro
el otro año
vamos a
o sea
el plan ahorita
es terminar
lo de
lo de
Next
la actualización
que es un curso enorme
como 50
ahora
bueno
luego vamos a terminar
lo de React Native
pero
después de ese
estamos pensando
en añadir
un curso
aprovechando
los GPTs
tratar de hacernos
un
un bot
completo
que pueda responder
las necesidades
de la
de la gente
hacia nuestra empresa
y vamos a
hablar más de eso
y después de ese
posiblemente
venga algo de Astro
muy bien
pero por ahora
tenéis
el de
Node.js
que la acaban de sacar
aquí tenéis todos los cursos
tenéis el cupón
pero que sepáis
que este viernes
van a tener
pedazo de oferta
Black Friday
no se lo pierdan
el de React Native
por ejemplo
cuando esté terminado
lo de React Native
si no quieren estar
en la suscripción
cuando esté lo de React Native
terminado
ustedes van a tener
la actualización
totalmente gratuita
y lo mismo pasa
con el de Next
que ustedes cuando
si ya tienen el curso
de Next
esperense un momento
ya lo van a tener
gratuito
pero si ustedes
ya se mueven de ganas
por empezarlo a ver
ya se puede ver
en el modelo de suscripción
ya pueden
acceder a él
o acceso anticipado
el curso de Sustan
también le va a servir
porque lo estoy usando
en la parte de Next
y lo estoy usando
en la parte de React Native
también explico
digamos que Sustan
cuando estás trabajando
con server components
hay unas características
que explico
en el curso de Next
pero funciona Sustan
con Next
sin ningún problema
solo hay una condición
ahí que hay que hacer
me encanta Sustan
es lo mejor
a mí también me encanta Sustan
yo siento que es de lo mejor
que le pudo haber pasado
a React

y que bueno
al final es que lo puedes utilizar
yo he utilizado alguna vez
con proyectos vanilla
JavaScript incluso
¿sabes?
porque es tan fácil
de utilizarlo y tal
y olvidarte
es tremendo
y ese curso de Sustan
lo pueden encontrar en YouTube
pero hay unas
dos secciones al final
del curso de Sustan
que son
que esas sí son
están únicamente en el curso
y el curso
es un minicurso
está en
a un precio
de 7 dólares
y espérense ahí
el viernes
van a saber más
sobre los descuentos
de esos cursos también
me encanta esto
¿qué opinan de Atom?
espero que no te refieras
al editor
porque el editor
Atom
ha desaparecido ya
Atom me gustaba
Atom me gustaba
el editor
de hecho
fue el paso que di
después de su Lime Text
yo también
exactamente lo mismo
me gustó mucho Atom
me gustó el tema
las extensiones
pero después
se sentía muy pesado
súper pesado
y se quedó atrás
ya con Visual Studio Code
era bueno
yo creo que fue
importante
para la creación
de Visual Studio Code
pero bueno
ya está bien
y lo que te voy a pedir
es 2024
está
parece mentira
pero ya está
a la vuelta de la esquina
dos meses
menos
un mes y medio
quiero que hagas la apuesta
va
¿cuál es
la tecnología
de programación web
la que tú digas
esta
ojo con esta
que esta va a ser
la que se va a ganar
el año que viene
la que lo va a petar
bueno
es que es difícil
porque React
sigue siendo React
y va a seguir siendo React
en el 2024
no es que React
la popularidad de React
se va a estallar
así
de la noche a la mañana
a menos de que hagan
un Breaking Change horrible
que haga que todo el mundo
emigre de React
o sea React
va a seguir siendo React
o sea si van
a aprender algo
que les vaya a servir
en la web
va a ser React
pero dejando
de los
tradicionales titanes
este
yo creo que
que Astro
y Spell
son los que
ojo
lo que van así
como creciendo
sin parar
me gustaría
de todo corazón
o sea yo
yo apoyo mucho
lo que es Solid
y Quick
me gustaría que
estas dos tecnologías
crezcan
porque
hacen cosas
que son muy fáciles
que nosotros
deberíamos de usarlas
y
me hacen ver
de que React
no es
tan fácil
como lo pintan
o sea React
tiene muchos
detallitos
que tú tienes que saber
y todo el mundo
termina haciendo
un efecto infinito
en React
sin querer
a todo el mundo
le pasa
pero
estas tecnologías
por ejemplo
Solid y Quick
hacen
ok
nosotros hacemos
lo mismo que React
con menos de la mitad
de los hooks
que tú tienes
pero
para que esto pase
ocupamos
que
que la comunidad
los acepte
los empiece a usar
que la gente
empiece a apostar
por estas tecnologías
y todavía no estamos
en ese punto
pero
ese punto
ya lo tiene Astro
y lo tiene
y lo tiene Spell
y honestamente
Spell y Astro
es muy probable
que esa combinación
sea ganadora
para el 2024
entonces vamos a ver
me encanta
porque has dicho
tu opinión
de corazón
y de cabeza
que ha estado bien
pues amigos
recordad
que tenéis
los retos
de abonación
de Codenberg
que ya hemos subido
el tercer reto
con los tres secretos más
vamos a invitar
al bueno de Fernando
que se anime
a participar
a los retos
ya tenéis el tercero
por aquí
a ver si sois capaces
de resolverlo
y a ver si podéis
resolver también
los retos secretos
como por ejemplo
para entrar en la carpeta
secreta private
a ver que hay por ahí
a ver que hay
en la carpeta privada
a ver si sois capaces
de entrar
mucha suerte a todos
de hecho a ver
si alguien lo ha resuelto ya
¿alguien?
madre mía
¡ojo!
Facundo Capú
ha resuelto ya
y se ha puesto
en el número uno
la madre me parió
o sea
lo acabo de subir
Fernando
y alguien lo ha resuelto ya
o sea
la gente está en la boca
sí sí no
está increíble
o sea
Facundo está
mira sí yo
míralo
está aquí
o sea encima
está aquí en el directo
ahí está
hay que pasarle
para ver si no lo hizo
con Chagipity
sí sí
seguro
a ver a ver
Facundo
nos tienes que decir
la verdad es que
está bien
además tenéis un mail nuevo
por aquí
un mensaje importante
de algún hacker
hay aquí
algunos comandos nuevos
o sea que
nada amigos
mucha suerte
jugad
buscáis todos los nuevos secretos
el nuevo reto
que ya tenéis tres
y nada
vamos a darle las gracias a Fernando
muchas gracias
por pasarte
un verdadero placer
hablar contigo
igualmente
igualmente
ahí estábamos discutiendo
un futuro
que sería muy bonito
que dejó la paz
el otro año
de a ver si nos encontramos
en Barcelona
ojalá
ojo

no quería hablar de spoiler
pero
vamos a hacer ese spoiler
para emocionar a la gente
tal vez hay un día
nos vamos por allá
y nos tomamos un café
y alquilamos un café
y tenemos una charla
ahí con la comunidad
y hacemos alguna cosita
sería genial
ojalá que sí
o sea que
no cuesta nada soñar
no bueno
no cuesta nada
y si queremos hacerlo
lo hacemos
así que nada
es que ese es el objetivo
hay que pronunciarlo
y tener las ganas
y hacerlo
y así lo atraemos
lo atraemos para que suceda
exacto
y la gente nos lo recuerda
y hay una presión
de la comunidad
de vosotros dijisteis
que os ibas a encontrar
ojalá que sí
pues Fernando
te deseo lo mejor
os recuerdo todos y a todas
viernes
Fernando tiene una sorpresa
para ti
con el Black Friday
de Death Tires
que además
tenéis cursos nuevos
ahí para hincarle el diente
y te mando un abrazo
enorme
espero que te haya invitado
igualmente Miguel
gracias nuevamente
por la invitación
por el tiempo
estas dos horas
pues ni la sentí
yo igual
pero bueno
gracias a todos
por estar por acá
gracias por la invitación
espero que tengan un excelente
si están en España
una excelente noche
por aquí es mediodía
todavía hay mucho que hacer
cuídese mucho
y nos vemos
en la próxima transmisión
aquí de MiduDev
que estás siempre invitado
hasta luego
un abrazo a todos y a todas
gracias por vernos
chao
vemos