Qwik loader

Es interesante ver la magia que hace qwik para conseguir la «reanudabilidad». Una vez el html está generado injecta el minimo JS, solo lo imprescidible, que hace que cargue lo que el usuario necesita.

El html generado ya está «marcado» para indicarle al loader que es lo que tiene que cargar y en que evento, en este caso on:click. No hay ningún handler en el botón en si, todos están delegados al documento o a Window.

El loader carga el bloque de código indicado en el argumento on:click (o el que sea segun el evento) y la execución continua.

Resumability en pocas palabras

Resumability, desde Qwik es la -ility que todos quieren. Explicada en pocas palabras.

Renderizar en servidor el html y enviar al cliente solo lo que le hace falta.

Con algunas palabras más, la magia de resumability (que en español yo lo traduciria por continuabilidad, pero igual reanudabilidad se parece más), está no en renderizar en servidor, si no en identificar las partes que son interacciones y se descargarán+ejecutaran bajo demanda de usuario.

No Framework without MetaFramework

Que el frontend se ha convetido en un entorno complejo no hace falta ni mencionarlo. No se si alguien se plantea aun hacer una aplicacion desde cero con vanilla html-css-js. Sólo por mantenibilidad, a la hora de mostrar en pantalla algo dinamico ya es necesario algun tipo de procesamiento, sea en tiempo de build, servidor o cliente.

Usar un framework es la opcion por defecto (cosa que a los nuevos en JS no ayuda).

Pero a la hora de elegir un framework todos se quedan en algo cortos. ¿Ay algun framework sin metaframework?

ReactNext.js

Vue.jsNuxt

SvelteSvelteKit

QwikQwikCity

Solid.jsSolidStart

AngularAnalog

No hay framework que se precie sin metaframework. En algunos casos desarrollado por los mismos autores por separar responsabilidades; en otros de distinto equipo para cubrir funcionalidades que no tiene el original.

No FW without MFW

JSDoc rules

Creo que codificando así JS no se hecha de menos TS. Sí, hay alguna feature ligeramente distinta, pero lo importante de Typescript es el type safe, y con JSDoc … ¿puede que no lo eche de menos?.

La inicializacion del objeto está a base de autocomplete y VSCode lo entiende perfectamente

/**
 * @typedef {object} User
 * @property {string} name
 * @property {string} email
 * @property {Adress} adress
 */

/**
 * @typedef {object} Adress
 * @property {string} street
 */

/** @type {User} */
let user1;

user1 = {
  name: "John",
  email: "john@fakemail.com",
  adress: { street: "fake street" },
};

Super tutorial aquí: https://alexharri.com/blog/jsdoc-as-an-alternative-typescript-syntax