Así que, me gusta la comparación con herramientas más antiguas, pero dado que lo mencionaste brevemente, te dejaré desglosar eso, irónicamente, y cuéntanos un poco sobre las diferencias, ¿verdad? Entonces, lo que estabas usando hasta ahora, y lo que ha mejorado significativamente ahora que puedes adoptar herramientas de construcción de nueva generación? Sí, claro. Así que, podría ser el más tipo de viejo gritando a las nubes en esto porque nosotros comenzamos a mirar esto tan temprano cuando era solo un espacio dominado por web-pack, y ahora hay un montón más de opciones. Pero en ese momento, esto fue de vuelta en 2018, 2019, simplemente no podías importar React en el navegador. Tenías que básicamente usar un empaquetador o usar la construcción UMD, lo que significa que eres como window.reactdm y window.reactdomin, y haciendo este enfoque más manual, realmente no tenía la misma conveniencia de que tú vas a un web-pack y realmente puedes usar ESM, y puedes usar una sintaxis que se siente realmente moderna y fresca. Pero detrás de escena, web-pack estaba como tomando eso y haciendo mucho trabajo para empaquetarlo por ti para que funcionara en un navegador que tal vez no tenía ese primitivo, esa sintaxis de importación-exportación. Y así, muchos de mis primeros días fueron como, no, no necesitas hacer todo esto, pero fue solo porque estos primitivos estaban ahora finalmente en el navegador. Y así, sí, dominaron la última década porque era realmente la única forma de obtener una experiencia de desarrollador moderna que realmente funcionara en todos los navegadores. Pero lo que hemos visto ahora que tenemos estos primitivos es que algunas de las comprensiones básicas de lo que es una DevTool están siendo revisitadas. Así que la idea de tener que volver a empaquetar tu sitio cada vez que guardas, o ejecutar un montón de procesamiento en grandes partes de tu sitio durante el desarrollo, esas están siendo revisitadas, y muchas de ellas están desapareciendo a favor de lo que V8 y Snowpack hacen, que es tratar tus archivos individuales como construcciones individuales y no necesariamente tener que, oh, Evan, no quiero hablar por ti, creo que Snowpack podría ir un poco más dramáticamente en esta dirección, pero pensando incluso en el empaquetador como una herramienta opcional en tu cadena de herramientas. Y si no necesitas empaquetar, no te importa eso, no tienes que, puedes traerlo cuando quieras ir cuando estés listo para abordar el rendimiento o para ir a producción. Así que todas estas cosas fundamentales sobre cómo construimos sitios web están siendo revisitadas por primera vez en un tiempo. Es un momento realmente emocionante.
Sí, suena emocionante. Evan, te permitiré intervenir aquí y contarnos un poco sobre cómo V8 es diferente, en qué se está enfocando V8, qué hay en la hoja de ruta en términos de llevarlo hacia adelante como una herramienta de construcción de nueva generación. Claro. Así que para mí, V8 comenzó realmente con la necesidad que tengo para mí mismo porque construimos Vue CLI, que está basado en webpack. Y cuando construí Vue CLI, teníamos este tipo de comando menos conocido llamado VueServe, que es un comando global que simplemente te permite iniciar un servidor de desarrollo para un archivo Vue sin ninguna configuración en absoluto. Solo necesitas un archivo, y puedes usar ese comando para iniciar un servidor de desarrollo. Y me gusta eso, pero con el tiempo, sigue siendo que, para hacerlo, tienes que instalar Vue CLI globalmente, y todo el proceso sigue siendo más lento de lo que hubiera esperado. Siempre quise tener esta cosa donde literalmente puedo iniciar un servidor de desarrollo en milisegundos y tener algo en la pantalla de inmediato. Cuando vi que los navegadores comenzaron a implementar importaciones nativas de ES en el navegador, y estaba jugando con eso, y pude realmente compilar un archivo Vue al vuelo en la solicitud, y tenía esa prueba de concepto, pero en ese momento, realmente era solo una prueba de concepto, porque en ese momento, muy pocas personas realmente usaban importaciones nativas de ES, y pensé, tal vez esto es solo demasiado temprano, pero un año o dos después, me di cuenta, oh, todos los navegadores principales hoy en día realmente vienen con importaciones nativas de ES. Tal vez es hora de revisar esa idea, pero al mismo tiempo, estaba tratando de averiguar cómo funcionaría el reemplazo de módulos en caliente sobre eso, porque eso se está convirtiendo en algo que es esencial para flujos de trabajo a gran escala. Y revisité el proyecto, finalmente descubrí cómo hacer el reemplazo de módulos en caliente con módulos nativos de ES, y esa fue como la forma inicial, cómo Veed tomó forma. Y me di cuenta de que esto podría ser más que solo una herramienta de prototipado, así que a un nivel más alto, Veed está construido sobre eso y estamos tratando de realmente, creo que el objetivo inicial era proporcionar algo más cercano en experiencia de desarrollo a Vue CLI, porque queremos tener un equivalente más ligero, más ágil y moderno a Vue CLI para nuestros usuarios. Pero a lo largo del camino, a medida que construimos más y más características, como mover las características equivalentes a Veeds, nos damos cuenta de que muchas de ellas no son específicas de Vue, en realidad pueden ayudar a ser utilizadas en otros frameworks también. Muchas de las cosas son compartidas, como cómo manejas CSS o cómo quieres realmente construir. En términos de construcción, Veed es un poco más opinado porque queremos tener la herramienta que maneje el servidor de desarrollo y el proceso de construcción en la misma herramienta, porque la gente está acostumbrada a que Vue CLI haga eso. Así que queremos llevar esas características. Y eventualmente, esencialmente extraemos todas las cosas que aprendimos en Vue CLI, combinadas con estas nuevas ideas, y llegamos a algo que... Creo que una de las cosas interesantes es que Veed está diseñado para ser un poco más listo para usar, para que los usuarios existentes de Vue CLI o Create React app puedan moverse un poco más sin problemas, porque se adapta a lo que están acostumbrados, como la forma en que ciertas cosas se supone que deben funcionar.
Comments