Svelte 5 ha salido, y es radicalmente diferente pero íntimamente familiar.
This talk has been presented at JSNation US 2024, check out the latest edition of this JavaScript Conference.
Svelte 5 ha salido, y es radicalmente diferente pero íntimamente familiar.
This talk has been presented at JSNation US 2024, check out the latest edition of this JavaScript Conference.
De niño, estaba obsesionado con el espacio y mi padre me enseñó a leer el cielo y encontrar la Estrella del Norte. He estado pensando en cómo este concepto se aplica a otras áreas de nuestras vidas. Me llamo Rich Harris, y esta es una charla sobre encontrar dirección y propósito en el código abierto.
De niño, estaba obsesionado con el espacio. Me encantaba venir a lugares como este. En noches despejadas, salía al jardín trasero con mi padre, él mismo un poco fanático del espacio, y él me enseñaba a leer el cielo. Me enseñó los nombres de las estrellas y las constelaciones. Me enseñó que las cosas que parecen más fijas no lo son, pero que a través de una cuidadosa observación puedes comenzar a predecir sus movimientos. Y me enseñó cómo encontrar la Estrella del Norte.
En una noche clara, si puedes encontrar la Osa Mayor, entonces puedes extender esta línea un poco más para encontrar Polaris, llamada así porque una línea trazada desde el Polo Sur hasta el Polo Norte y extendida al espacio casi la alcanzaría. Es el punto fijo alrededor del cual giran los cielos y siempre apunta hacia el norte. Los antiguos marineros usaban Polaris para cruzar los océanos. En los primeros Estados Unidos, los esclavos fugitivos la seguían hacia la libertad. Hoy en día no tendemos a depender de la navegación celestial, tenemos Google Maps. Pero he estado pensando mucho últimamente sobre este concepto de poder orientarnos en un entorno por lo demás incierto y cómo se aplica a otras áreas de nuestras vidas. ¿Qué significa estar apuntando en la dirección correcta?
Me llamo Rich Harris, puedes encontrarme en richharris.dev en Blue Sky, esta es una charla sobre encontrar dirección y propósito en el código abierto. Como muchos de ustedes, escribo software para ganarme la vida. Más específicamente, trabajo en una interfaz de usuario llamada Svelte. Comencé a trabajar en Svelte hace ocho años y tres días. Comenzó como un proyecto paralelo inocente y divertido que no tenía idea de que tomaría el control de mi vida. La gran idea era esta. ¿Qué pasaría si un framework, en lugar de ser código que se ejecuta en el navegador, fuera un compilador que transformara tu componente en JavaScript autónomo? Lo llamamos el framework mágico que desaparece y en comparación con React, producía paquetes asombrosamente eficientes. Porque movía el trabajo fuera del navegador y dentro de tu proceso de construcción, podíamos hacer que tus aplicaciones fueran realmente pequeñas y realmente rápidas.
Svelte tres salió en 2019 y planteó una pregunta diferente. ¿Podemos usar el compilador para hacer que el desarrollo web en sí sea más rápido? Svelte por sí solo solo resuelve una pequeña parte del problema de construir una aplicación web. En 2020, comenzamos a trabajar en un proyecto complementario llamado SvelteKit. El mes pasado, lanzamos Svelte 5. A diferencia de React, Svelte es innegablemente HTML primero. Svelte toma un enfoque diferente, toma HTML como punto de partida.
Svelte tres salió en 2019 y planteó una pregunta diferente. ¿Podemos usar el compilador para hacer que el desarrollo web en sí sea más rápido? Si no estamos limitados por las reglas de JavaScript, ¿podemos hacer que los componentes sean más fáciles de escribir con menos código repetitivo? Ese fue el punto en el que la gente realmente comenzó a prestar atención a Svelte.
Resulta que aunque la mayoría de los desarrolladores se preocupan profundamente por el rendimiento y el tamaño del paquete en teoría, en la práctica elegimos las herramientas que disfrutamos usar. Algunos líderes de opinión intentarán avergonzarte por esto. Pero creo que es bastante razonable que si vas a pasar 40 horas a la semana trabajando en algo, también podría ser divertido. Y con los compiladores, una mejor experiencia de desarrollador no tiene por qué venir a expensas de la experiencia del usuario. Y Svelte tiene una muy buena experiencia de desarrollador, al menos según encuestas como el estado de JavaScript. No sé cuánto tiempo podemos mantener esta racha, pero estoy emocionado de averiguarlo.
Svelte por sí solo solo resuelve una pequeña parte del problema de construir una aplicación web. A saber, mantener el DOM en sincronía con tu estado de aplicación. Y deja todo lo demás para ti, como configurar tus herramientas de construcción, organizar tu código, definir tus rutas, generar paquetes óptimos y desplegar en diferentes entornos y muchos, muchos otros problemas. En 2020, comenzamos a trabajar en un proyecto complementario llamado SvelteKit, que fue el primer gran framework construido sobre Vite. Está diseñado para resolver esos problemas por ti.
Todo lo cual es para decir que el proyecto ha tenido muchas identidades a lo largo de su vida. El mes pasado, lanzamos Svelte 5. En un nivel, es muy una continuación. Es una versión compatible hacia atrás, que puedes incorporar en un proyecto existente con mínima interrupción. Pero en otro, es el cambio más radical que el proyecto ha experimentado hasta ahora. Así que en este punto, permíteme tomar un momento para presentarte o reintroducirte al nuevo Svelte.
A diferencia de React, Svelte es innegablemente HTML primero. JavaScript es un lenguaje de propósito general decente. Pero como lenguaje para describir interfaces de usuario, es una mala combinación. Cuando escribes JavaScript, te preocupas principalmente por los cambios entre estados que resultan de la interacción del usuario. Pero cuando describes una interfaz de usuario, te preocupas principalmente por los estados mismos. Los frameworks colocan una capa declarativa sobre JavaScript que te permite fingir. Pero a menudo te encuentras trabajando en contra de la corriente del lenguaje.
Svelte toma un enfoque diferente. Toma HTML como punto de partida. Si tienes algún HTML válido, ya sea que lo escribiste tú mismo o co-pilot lo escribió por ti o lo encontraste en CodePen o StackOverflow o incluso en las DevTools de tu navegador, puedes colocar eso en un componente Svelte y funcionará. Lo mismo no es cierto para JSX, que superficialmente se asemeja a HTML, pero lo cambia de varias maneras sutiles y molestas.
We constantly think of articles and videos that might spark Git people interest / skill us up or help building a stellar career
Comments