This graph shows how many times the word ______ has been mentioned throughout the history of the program.
Os voy a explicar cómo mejorar el despliegue a producción de vuestras páginas, porque he alucinado con una cosita.
Que aquí tenéis los despliegues que tengo de la MiduConf, ¿vale?
Si vais a la MiduConf, mi página está, la conferencia de promoción y desarrollo, o sea, es 7600, o sea, estamos cerca.
Avisen a todos sus amigos para que piden su ticket, ¿vale?
Muy bien, pues he estado desplegando, ¿no? Y aquí podéis ver, y aquí tenéis, pues, un minuto 24, un minuto 22.
¿Qué ha pasado? ¿Por qué este me tarda menos? ¿Por qué este me tarda 44 segundos? ¿Por qué este tarda menos? ¿Qué he hecho?
Pues, amigos, la magia oscura es que estoy utilizando ban. Fijaos, aquí en Building, fijaos lo que está pasando por aquí,
Vercel, Build, no sé qué, ban was installed successfully, ¿vale? Y luego he hecho un ban install, un ban install que ha tardado 280 milisegundos.
Hubo error porque estaba haciendo pruebas para que funcionase. Pues he hecho la instalación, ¿vale?
Pues, bueno, y luego he hecho la Build, que la he hecho por aquí, Next Build. Esta Build la he hecho con ban run build.
Y esto ha tardado 18, 24, 24, pues nada, 30 segundos más o menos, ¿no? Ha tardado unos 30 segundos a ver si sale.
Sí, 30 segundos, 30 segundos ha tardado. Bueno, pues el tema es que solo haciendo ese cambio,
me he quitado ahí, pues, desde 40 segundos a un minuto de media haciendo el despliegue.
Y tardaba nada, un minuto 40. O sea, le he quitado un minuto. Básicamente, le he quitado un minuto de despliegue.
¿Cómo lo he conseguido? ¿Cuáles son los pasos que he tenido que hacer?
Mirad, para, si queréis probar ban, lo que podéis hacer es probarlo, ¿eh? No os digo que lo uséis en producción.
Yo esto, sinceramente, no lo utilizaría en producción. Todavía me parece que está un poco verde,
os puede dar algunos problemas. Pero si tenéis algún proyecto y queréis probar y a ver si funciona
y cuánto ahorras de tiempo y tal, pues lo podéis intentar, ¿vale? Y tal. Os vais a Settings, ¿vale?
Y en Settings podéis aquí en Production Override o Project Settings, ¿vale?
Bueno, Production Override porque yo lo he subido a un Vercel.json.
Pero si no, lo podéis hacer aquí. ¿Veis? Lo que podéis hacer es, en el build command este,
lo que podéis hacer es punto, el barra, tan, punto, ban, barra, bin, ban, run, build.
Esta sería la build. Y para la instalación, lo que hacéis antes de hacer la instalación,
llamando a ban, sería instalar ban, que esto es lo que haríais en vuestra máquina también, ¿vale?
Luego vais aquí abajo, ok, y lo que hacéis es ejecutar esto y le pasáis el frozen local file
para que esto evite realmente actualizar el log file si no lo necesita, ¿vale?
Pues con estos dos cambios y también aquí lo que he hecho es el ban run build y ban install
para no utilizar el npm, aunque en realidad debería poder estar,
pero bueno, es para utilizar el comando de ban, solo con estos dos cambios,
o sea, el de build install y estos de aquí, ya funciona.
Ya os digo, yo en producción no lo probaría, pero sí que, a ver, solo por curiosidad,
si funciona, si es compatible, cuánto tiempo ahorráis, todo este tipo de cosas,
yo lo probaría. Y haciendo esto, ya veis que yo, en este caso, pues 40 segundos.
Entonces, dicho esto, esto significa que ban funciona en Vercel.
Vamos a tener a Guillermo Rauch en la MiduConf, la semana, no, dentro de dos días,
la semana que viene, no, dentro de dos días, y le vamos a preguntar,
Guillermo, ¿qué pasa con ban? ¿Cuándo vamos a tener, Guillermo, Guillermo?
Le vamos a preguntar, ¿cuándo vamos a tener ban de forma nativa en Vercel?
Y yo creo que no va a tardar mucho, no va a tardar mucho, porque Jared,
fíjate que dice, ban install support is the most upvoted idea de todos los tiempos
de Vercel, en la organización de GitHub. O sea, la gente, la idea más votada
de todos los tiempos es añadir soporte a ban en Vercel.
261. Hagamos una cosa, amigos.
Hagamos que llegue a 500. Vamos a hacer que alucine Jared, que no lo entienda.
Vamos a hacer que Jared no lo entienda. Que se despeine al verlo.
Joder, 400. 400. ¡Ojo! A los 500 sí. No, yo creo que a los 500 llegamos.
Quiero que vaya y diga qué ha pasado. O sea, Jared creo que llegue y diga
qué ha pasado, qué ha pasado, por qué hay tantos ahora. Me encanta porque al principio
a lo mejor va a pensar como, hostia, 510. Va a pensar como, wow, cómo le ha liado
con mi tuit y no va a entender nada. No va a saber que unos españoles,
latinoamericanos, mexicanos, argentinos, colombianos y venezolanos y peruanos
y de Costa Rica han estado ahí votando como si hubiera un mañana. No lo va a saber.
Nunca lo sabrá. Tendremos que pasarle el clip. Le vamos a tener que pasar el clip.
Hombre, si lo miráis friamente, solo aquí en directo ya hemos conseguido más,
más votos. Ya hemos conseguido más votos que los que tenía.
Hostia, es bastante fuerte. Esto es para añadir soporte nativo, ban install,
Embercell, cuando se haga el despliegue. Lo que yo he hecho aquí de forma manual,
lo que quieren es añadirlo de forma nativa, ¿no?
Y fijaos que entonces lo decía Jared, ¿no? Que decía, ah, pues que añadan esto
y no sé qué. Estamos en 600, joder, sí, sí. Madre mía, madre mía.
Cómo ha volado esto. También tenemos pistas de Lee que en su último vídeo,
esto que dice, mi pensamiento sobre ban. Anda que este chiste con el que empieza
JavaScript está embarazado porque tiene un bollo en el horno.
Hostia, tío, qué fuerte el chiste este. Bueno, pues, bueno, habla súper bien,
¿vale? De esto, de ban, las cosas que llegan. Y la verdad es que si te pones a...
Si ves bastante en el vídeo y tal, al final da como a entender y quiero empezar
a utilizarlo en alguna de mis aplicaciones y cosas que estoy construyendo,
ta, ta, ta. No sé. Da a entender que, ojo, ojo, cuidado con ban, ¿eh?
Como que pronto en Vercel. Yo lo veo, ¿eh?
Y, you know, maybe we'll get support for ban on Vercel as well, too.
Ya sabéis dónde lo dijimos por primera vez. Aquí. 671.
Pero a todas estas de ban, os voy a explicar también cosas buenas y cosas malas.
Ha habido mucho hype esta semana de ban en Twitter.
Ha habido gente de más, gente de menos. O sea, hay gente en contra también.
He visto gente como cabreada. Yo he puesto este tuit porque la verdad es que me ha parecido
bastante interesante. Cuando he pasado de uno a otro y en 44 segundos me ha parecido
espectacular, ¿no? Entonces, hay gente que he visto también que estaba como,
ah, otra vez con el hype. Qué pesados sois con el hype. Basta ya, no sé qué.
Yo, la verdad, yo soy una persona que se hipea mucho y en este caso es que es para
hipearse. Hacía mucho tiempo que no teníamos un proyecto tan brutal en cuanto a mejora
de velocidad en el ecosistema de JavaScript. Y, además, lo que promete ban es un todo
en uno que no solo te vas a alucinar todo, que justamente muchas veces el problema
que hemos tenido en el ecosistema de JavaScript es la fragmentación, ¿no?
Que muchas veces nos hemos quejado, ¿no? De cuál es que esta herramienta, esta, la
otra, no sé qué, no sé cuánto. Ostras, el hecho de, por primera vez, que tenemos
una herramienta que tiene muy buena pinta, que lo hace todo y lo hace tan rápido, a mí
se me queda una lagrimilla, la verdad, ¿eh? Pero también es verdad que yo creo y hay
que entender que no está listo para producción y que esto no va a desaparecer
Node, ¿vale? Que es que ya hay mucha gente que está ahí como diciendo, es que pues no va a
matar Node, va a fracasar. Amigos, ¿cómo va a ser un fracaso? ¿Cómo va a ser? ¿Cómo? ¿Qué
esperas? Que de repente desapareciese Node. Es que no, no es así como funciona esto.
No tiene sentido. Dino, para mí, ha sido ya un exitazo porque ha hecho que evolucione
Node y ha hecho también que evolucione Ban. Y se han retroalimentado solo por eso, solo por
eso es un exitazo. Es un exitazo. Si no le ha pasado algo tan bueno a Node desde hace
muchísimo tiempo. Además, Dino lo que ha aportado un montón son cosas de la plataforma
web. Que casi, si aprendes la plataforma web, ya sabes Dino. Eso es una maravilla. No sé,
yo esto de hablar tan rápido con fracaso, éxito, no sé qué, hablar de esa forma un poco
tan nociva. Como, sí, como Dino, que prometían que iba a destruir a Node. A ver, no va a destruir
a Node. Van a convivir los tres, seguramente. Y no creo que tengamos que hablar de fracaso
si aún le queda. Para mí, Dino ya ha sido un verdadero éxito por las ideas que ha traído
y por lo que le queda. Ahora mismo, por ejemplo, para que nos hagamos a la idea, una cosa que
ahora acaba de salir de beta es lo de Key Value, Dino Key Value. Con todo esto de Key Value,
que encima tienes, o sea, el hecho de tener una base de datos súper rápida, sin necesidad
de tener que desplegar nada. Y encima, a cero euros, a cero euros. O sea, a mí me parece
increíble. Yo creo que a Dino le queda por delante y encima retrocompatible con MPM.
Y luego, van, acaba de salir la versión estable. Es normal que nos hipeemos y tal porque tiene
muy buena pinta. Y yo soy el primero que se hipea. Obviamente, yo no voy a recomendar
a nadie, sí, sí, ponlo en producción. No, en un entorno de producción seguramente
yo seguiría con Node durante mucho tiempo. Pero creo que es positivo y tiene una pinta
buenísima, la verdad. Tiene una pinta increíble. Y veremos si el tiempo hace que realmente
pues lo pete, ¿no? Yo personalmente estoy saturado de tantas tecnologías, pero en este
caso, RedSantar, no me parece que sea tanta la saturación. Quiero decir, BAN es casi retrocompatible
con todo lo de Node. Si sabes Node, puedes irte a BAN sin ningún tipo de problema. Dino
se maneja mucho con el tema de la plataforma web. Los tres tienen cosas que al final se solapan
un montón. No veo que sean tres ideas radicalmente distintas, la verdad. No sé, yo creo que tampoco
estás obligado a aprender las tres o utilizar las tres a la vez. Yo creo que hay que, bueno,
pues si la necesitas la aprendes y me parece bastante fácil. O sea, no me parece muy difícil
de ir a una u otra. No me parecen ideas tan diferentes. Pero la pregunta del millón, lo
que te quiero preguntar mirándote a los ojos, a ti, sí a ti, es ¿qué te impide programar
como programa Jared Summer? ¿Qué te impide trabajar como hace este hombre? Fijaos el año de Jared
Summer en GitHub. 5769 cómics. O sea, eso por día son más de 10. Deben ser unos 13 cómics
al día. Y ha borrado un millón y medio. Madre mía. Esto es lo bueno y lo malo. Esto
es lo bueno y lo malo de BAN. De los riesgos que yo le veo a BAN, ¿vale? A ver, BAN a mí
me tiene muy sorprendido, muy enamorado. Me sorprende a muchos niveles, ¿vale? Muchos
niveles. Pero también estoy un poco con Corey House. Corey estaba comentando, BAN es excitante,
tiene muy buena pinta, pero él solo habla del todo en uno, ¿no? De esa aproximación
que tiene del todo en uno, que dice que tiene muchos riesgos y desventajas, ¿no? Claro,
dice BAN de forma frecuente va a estar por detrás de las herramientas separadas a las que
reemplaza. Cuando una herramienta de JavaScript innove, ¿será capaz BAN de llegar tan rápido
a tener algo similar? La verdad es que lo malo de BAN es que abarca tanto. O sea, es que
es increíble. O sea, es que ni te lo crees. Dice, ¿cómo puede abarcar tanto? Que es
un Node, es un webpack, es un compilador de TypeScript, es un NPM, tiene testing. Es que
dices, joder, basta, ¿no? Tiene demasiadas cosas. Estoy de acuerdo, ¿no? Que al final esto
sí que puede pasarle factura. Si funciona mal o es insuficiente, BAN será difícil de
reemplazar, será más difícil de reemplazar que las herramientas separadas. Eso también
es verdad. Claro, BAN es un todo en uno. Si falla, luego no podrás separar, ¿no? Ir pidiendo
cada una de las cosas. También tiene WebSocket, efectivamente, ¿no? ¿Podré utilizar todavía
herramientas separadas que sean lo mejor del stack sin utilizar BAN? Que yo creo que
sí, ¿eh? Dice, mayor riesgo. Falta de ecosistema. Claro, los CloudProviders soportarán BAN. Yo
ya os digo que Vercell lo va a soportar pronto. ¿Va a haber una comunidad alrededor de BAN para
proveer extensiones de soporte? ¿Son la documentación suficiente? ¿Va a honrar BAN los estándares
de JavaScript o va a estar buscando el extender y extinguir? ¿No? ¿Por qué? Es verdad
que es importante que intente mantenerse en los estándares de JavaScript, pero a lo mejor
BAN empieza a inventarse estándares para marcar diferencias respecto a otros entornos de ejecución.
De hecho, es algo que puede ser problemático y que es una cosa que se achaca a Vercell cuando
ha estado modificando el método fetch para hacer temas de caché y cosas así, ¿no? Y a mí
este es el que más me preocupa. Dice, ¿puede un pequeño equipo soportar algo tan complejo
al largo término? Yo sí tengo que decir una cosa que realmente me preocupa. Es que me
parece que BAN es un proyecto muy personalista, ¿no? Es un proyecto como que es Jared Samen.
Para mí es esta imagen, ¿sabes? Ese es el miedo. ¿Qué pasa si se quema? ¿Sabes? ¿Qué
pasa si se pone malo? Que a ver, hay otra gente que está trabajando. Hay otra gente que está
trabajando y hay contribuidores y tal. Pero a mí esto es lo que me da un poco de miedo,
¿no? O sea, fijaos en esto. El primero, Jared Samen, que es un crack. O sea, Jared es un
dios del coding. Dylan ha empezado hace poquito, ¿vale? Pero obviamente la cadencia que tiene
no es ni parecida, ¿vale? ¿Dónde está la documentación, Jared? Yo soy la documentación.
Sí, sí, sí. ¿Dónde está el código? ¿Dónde está la documentación? No. ¿Dónde
está el código? Yo soy el código. Ya te digo. Yo soy el código. No, la verdad es
que esto es lo que sí que da un poquito de miedo. Da un poquito de miedo porque si lo
miráis fríamente al final el equipo es bastante pequeño, Jared es como... Esto es uno de los
riesgos que yo le veo. Que ojalá no pase nada, ¿eh? Ojalá no pase nada y tal, ¿eh?
El otro día vi... A ver si lo encuentro. Ah, mira este. Muy bien, muy bien. 2022. Supongo
que tengo que empezar a pagarme. Tu balance ha llegado a cero. Dice... No cobrar un salario
tenía cierto sentido antes de la ronda de semillas, pero ya no tiene sentido. Para ser
claro, la única razón por la que recaudamos dinero fue para pagarle a la gente salarios
decentes, pero no el mío. Pues eso, hace un año de esto, hace justamente un año estaba
ahí a cero. A cero. A cero. Claro, la ronda de financiación que ha hecho, que por eso
os decía, os decía, ¿no? Que era importante la financiación de BAN, pues 7 millones de
dólares que ha conseguido. No, la verdad es que ha trabajado de forma incansable. Las
cosas como son. Mis respetos. Una de las cosas, si os estáis preguntando, oye, ¿y dónde
puedo desplegar BAN? ¿No? ¿Dónde puedo desplegar BAN? Pues amigos, me he encontrado un
nuevo hosting, que es esta, Cibur. Yo es que estoy ahí todo el día, todo el día mirando
hosting nuevos, a ver qué sale, a ver si hay alguno que tiene buena pinta y tal. Pues
resulta, resulta que este también tiene proyecto gratuito, ¿ves? Cero dólares. Pues
FL0, ya lo recomendé, que está súper chulo. Pero claro, FL0 solo os permite un
proyecto, ¿vale? Solo tenéis un proyecto gratis. Entonces, claro, ¿qué pasa si FL0 os
lo habéis cargado ya? Bueno, pues vais a Cibur y tenéis otro proyecto gratis. Y así de
vez en cuando, ¿vale? Pues vais cambiando de hosting y así podéis hacer dos
productos. Pues Cibur podéis desplegar sin ningún tipo de problema un proyecto
de BAN, porque he estado viendo y resulta que, no sé si había una guía o por
Twitter, o bueno, imagino que también podrás tener un Dockerfile. Y he estado
viendo este framework que tiene muy buena pinta y os quería preguntar
justamente si queréis que hagamos un día una clase, porque con este framework se
puede utilizar BAN, es un framework que sería la alternativa de Express, además de
rendimiento. Fijaos que es increíblemente rápido. O sea, tiene un rendimiento
espectacular. Pero es que, o sea, es, claro, 100 veces más rápido que Express.
100 veces, no 10, no. 100 veces. O sea, ah, no, 18. 18 veces, perdón, perdón. 18, pero
bueno, no está mal, ¿eh? Y se llama Elysia. Elysia. Se ve súper legible. O sea, me encanta
la sintaxis. Es como lo más cortita posible. Se parece mucho a Express igualmente. Es
reconocible. Pero me gusta porque todo lo que pueda ser, te lo quitas, ¿no? Y tiene
una cosa muy chula. Tiene una cosa muy chula. A ver si lo encuentro. Mira, por ejemplo,
este end-to-end type safety, ¿vale? Es parecido aquí a TRPC porque una vez que tú tienes
aquí la aplicación, fíjate que tú lo que puedes hacer es exportar. Además, súper
fácil, o sea, sin ninguna dificultad. Tú haces aquí esto y ya podrías tener el cliente
también, ¿eh? Y luego, otra cosa que está muy chula es la integración con Swagger, que
te crea la documentación súper fácil. A ver, que esto lo tienen todas, pero es que
me ha sorprendido lo bien preparado que está. O sea, está súper, súper bien preparado.
Tiene una documentación bastante bien. Tiene patrones aquí, por ejemplo, cómo subir archivos,
cómo hacer web sockets, cómo hacer lazy loading de algunas cositas, cómo hacer un testing,
¿ves? Testing de los endpoints. No sé, me ha gustado un montón. Me ha sorprendido lo
trabajado que está ya, ¿eh? Para ser para BAN, no sé, estas cosas a veces uno se sorprende,
que uno cree que, ah, no, esto le faltará y no sé, está muy, muy, muy bien trabajado.
Pues no sé, igual hacemos algo, ¿eh? Porque fijaos, tiene una cosa muy chula, muy interesante,
que es esta. Tiene Elysia, tiene soporte nativo. Claro, BAN soporta nativamente JSX, ¿veis?
Podéis utilizar JSX. Pero lo mejor es que desde Elysia podéis devolver directamente el JSX
y internamente lo que va a hacer es llamar al render to string. O sea, ya lo va a transformar
en una cadena de texto. O sea, es que no necesitas casi escribir código para hacer cosas
increíblemente potentes. No sé, me parece brutal. La verdad, me ha llamado mucho, mucho
la atención. Así que he estado pensando, igual hacemos un cursillo y lo desplegamos. O sea,
podemos hacer una API y la desplegamos para ver cómo funcionaría el proyecto este de Zeeboard,
a ver cómo lo podríamos hacer, que se supone, por lo que he visto ahí, que lo detecta
automáticamente. No sé si la documentación. Yo es que creo que lo he visto por aquí.
Mira, meanwhile BAN ha sido soportado por Zeeboard en el primer tier. O sea, ya te lo detecta
automáticamente. Ya te detecta automáticamente, ¿ves? Servicios y te pone aquí BAN. O sea,
que ahora desplegar BAN es súper fácil con este servicio. Yo creo que poco a poco vamos
a ir viendo que mucha gente lo decía, los cloud providers y tal. Yo no creo que tarde
mucho. Yo no creo que tarde mucho.