Entrevista con Evan You

Сreador de Vue.js, Evan You: «Necesitas comprender lo que quieren los usuarios»

  1. Introducción

Evan You es un desarrollador de software independiente y el creador del marco Vue.js de JavaScript de código abierto. Tuvimos ocasión de hablar con Evan sobre el lanzamiento de Vue 3, su opinión sobre los métodos sin back-end y de pila completa, casos de uso de Vue.js y cómo concilia la vida laboral y personal el creador de la tecnología.

La entrevista

  1. Evrone:   Hola, Evan. ¡Es genial tenerte hoy aquí! Empecemos la entrevista con una pregunta… Tu puesto a tiempo completo financiado por Patreon es bastante único. ¿Cómo concilias tu vida laboral y personal y evitas quemarte con el trabajo?

  2. Evan: Intento seguir un horario fijo cada día, aunque soy autónomo y trabajo desde casa. En realidad, tener hijos ayuda bastante en este sentido, ya que puedo (y debo) pasar tiempo con mi familia cuando no estoy trabajando. Otro aspecto importante es que tomo largos descansos (de varias semanas) cuando considero que lo necesito, lo que probablemente seria más difícil si fuera empleado a tiempo completo en una empresa.

  3.  

  4. Evrone: ¡Genial! El lanzamiento de Vue 3 está a la vuelta de la esquina. ¿Te tomarás un descanso después o ya tienes planes para la próxima versión del nuevo sistema de compilación Vite?

  5. Evan:  Siempre tengo bastante trabajo pendiente. Para Vite, el objetivo actual es conseguir que sea más estable: es un nuevo sistema y hay gente que intenta usarlo para casos que no tuve en cuenta en el diseño inicial, así que le daremos algún tiempo para ver cómo evoluciona. También hay ideas ya preparadas para Vue 3.1. Pero sin duda me tomaré un descanso… ¡es importante recargar!

  6.  

  7. Evrone:  Te uniste a Google Creative Lab como tecnólogo creativo con una licenciatura en Historia del Arte. ¿Has experimentado alguna falta de formación en matemáticas, algoritmos y estructuras de datos al trabajar en Vue? ¿Hay que estudiar teoría de la informática para convertirte en programador? ¿O tienes que aprender a convertirte en «escritor de software» y preferir código aburrido, pero fácil de comprender?

  8. Evan:  En realidad, no… En mi opinión, creo que Vue (o cualquier marco de front-end en general) no es un campo que realice un uso intensivo de matemáticas o algoritmos (por ejemplo, en comparación con las bases de datos). Tampoco considero que tenga amplia experiencia en estructuras de datos o algoritmos. Sin duda me ayuda ser bueno en esas áreas, pero diseñar un marco popular tiene mucho más que ver con comprender a los usuarios, diseñar API confidenciales, fomentar la creación de comunidades y tener un compromiso de mantenimiento a largo plazo.

No creo que ser «escritor de software» sea incompatible con escribir «código aburrido, pero fácil de comprender». En realidad, se necesita bastante experiencia para escribir código aburrido, pero fácil de comprender (¡siempre que no sea claramente ineficiente, claro!). No creo que debas sentir que no estás cualificado para escribir software simplemente porque no has completado una estricta formación en informática, pero tampoco creo que debas pasar esto por alto. En mi caso, adopté un método pragmático por el que primero hice muchas cosas sin pensarlo mucho, lo que me permite conocer lo que necesito aprender para mejorar.

 

  1. Evrone: Increíble. Con tantas tecnologías como Nuxt.js y JAMstack, resulta tentador para los desarrolladores centrarse únicamente en la parte de front-end de sus aplicaciones y usar minimal/JS/BaaS como back-end. ¿Qué piensas sobre estos métodos «sin back-end» o «de pila completa»?

  2. Evan:  Diría que parece más bien que el producto diseñado impulsa la tecnología que se usa. Los desarrolladores se mueven hacia estas pilas porque se adaptan al tipo de productos que están diseñando: una lógica de back-end relativamente sencilla, que se centra más en la interacción del front-end. Está claro que no es una solución milagrosa, pero se adapta bastante bien a una determinada categoría de aplicaciones.

  3.  

  4. Evrone:  Vue se ha reescrito muchas veces. Si pudieras retroceder en el tiempo y darle un único consejo técnico a tu yo más joven, ¿cuál sería?

  5. Evan:  Cómo separar y desacoplar mejor módulos internos.

 

  1. Evrone:  Durante los últimos años, hemos observado cómo JavaScript y TypeScript han evolucionado en paralelo. ¿Qué crees que pasará en el futuro cercano? ¿Se añadirán finalmente los tipos al núcleo de JavaScript, TypeScript llegará a reemplazar a JavaScript o pasará algo completamente distinto?

  2. Evan:  Creo que añadir tipos a JavaScript es una idea a muy largo plazo: en mi opinión, no creo que llegue a ocurrir, ya que diseñar un sistema de tipos mediante un comité (a juzgar por la forma en que funciona TC39) es… poco práctico. TypeScript no reemplazará a JavaScript porque se ha diseñado para ser un superconjunto de JavaScript. Creo que el hecho de que JavaScript y TypeScript (superconjunto con tipos) evolucionen en paralelo es la forma más práctica de avanzar, y así será en el futuro inmediato.

  3.  
  4. Evrone:  La base de usuarios de Vue ya cuenta con más de un millón de desarrolladores. ¿Cuál crees que es la mejor forma de medir la adopción de la tecnología? Las preguntas de Stack Overflow, las estrellas de GitHub y otras métricas de acceso público son bastante útiles, pero hay muchos usuarios corporativos trabajando en redes aisladas que no realizan muchas preguntas y «simplemente usan la tecnología». ¿Cómo los incluimos en el recuento para calcular la popularidad de la tecnología?

  5. Evan:  Es un problema intrínsecamente difícil para el software de código abierto, ya que los usuarios no tienen ninguna obligación de informar sobre el uso y, como creadores, no tenemos formas realmente fiables de realizar un seguimiento (en especial, si las aplicaciones no son de acceso público). Por eso considero que la extensión de herramientas de desarrollo para recuento de usuarios es la métrica más fiable, ya que se tiene en cuenta a todos los usuarios.

  6.  

  7. Evrone:  Hay mucho trabajo de «tree shaking» en el próximo Vue.js 3. ¿Por qué crees que este proceso de eliminar código no utilizado tarda tanto tiempo en llegar a los marcos modernos? ¿Hay complicaciones importantes relacionadas con su uso?

  8. Evan:  Para que la técnica de «tree shaking» funcione correctamente, el código fuente necesita estar estructurado de una manera específica, lo que significa que funciona mejor cuando se escribe código (y se diseñan las API) teniendo en cuenta la futura eliminación de código no utilizado desde el primer día. Es muy difícil conseguir que una base de código existente no trivial funcione bien con la técnica de «tree shaking», ya que necesita cambios importantes en la API o una refactorización extensa (lo que implica riesgos importantes).

  9.  

  10. Evrone:  La propuesta «Function-based Component API» para Vue 3 fue rechazada de forma masiva por los miembros de la comunidad. ¿Tienes alguna idea que aportar en retrospectiva que crees que vale la pena compartir con otros desarrolladores?

  11. Evan:  El rechazo tuvo lugar principalmente por el miedo a que la versión actual de la API de Vue (2.x) quedara en desuso y, sinceramente, fue un error por nuestra parte llegar a considerar dicha opción. Como autores y mantenedores, en nuestro trabajo diario solemos interactuar con los usuarios pioneros, que sin duda están más entusiasmados con las nuevas ideas que los usuarios medios, lo que nos llevó a estimar erróneamente la importancia de la compatibilidad con versiones anteriores. A los usuarios no les gusta sentirse desplazados.

  12. Lo que hemos aprendido de esto es que necesitas comprender lo que quieren tus usuarios: no es algo sencillo y, a veces, conseguirás esa información por las malas, pero tienes que estar dispuesto a escuchar, pase lo que pase.

  13.  

  1. Evrone:  Los casos de uso de Vue varían desde pequeñas empresas a agencias de tamaño medio y grandes empresas públicas. Por ejemplo, Louis Vuitton y la NASA usan Vue. ¿Hay casos de uso de Vue que recomendarías comprobar como ejemplos de proyectos complejos de front-end del mundo real creados con Vue?

  2. Evan:  El problema es que la mayoría de proyectos «complejos de front-end del mundo real» no son de código abierto. Te recomendaría que echaras un vistazo a Vue Devtools y la interfaz de usuario de la CLI de Vue: estas dos interfaces no triviales se han escrito en Vue, aunque no son las típicas aplicaciones web accesibles por clientes.

 

Conclusión

Hemos disfrutado hablando con Evan y aprendiendo un poco más sobre su actitud ante la vida y cómo escribir código. En Evrone, usamos Vue.js con frecuencia para crear soluciones personalizadas que se adapten a las necesidades únicas de nuestros clientes. Nos encanta poder aprender de un creador de tecnología, ya que refuerza nuestra experiencia y nos proporciona más herramientas que podemos usar para desarrollar productos nuevos e innovadores. Si tiene una idea para un proyecto que se beneficiaría de Vue.js, póngase en contacto con nosotros y estaremos encantados de ayudarle.

 

Contacto
¿Tiene algún proyecto en mente?
Vamos a hacerlo realidad
Adjuntar archivo
Los archivos deben ser menores que 8 MB.
Tipos de archivo permitidos: jpg jpeg png txt rtf pdf doc docx ppt pptx.
Este sitio está protegido por reCAPTCHA y se aplican las Condiciones del servicio y la Política de privacidad de Google.