3 puntos por GN⁺ 2023-11-28 | 1 comentarios | Compartir por WhatsApp

Logros y planes futuros del formateador de código Prettier

  • Prettier es un formateador de código para JavaScript que maneja con cuidado diversos estilos de programación y muestra una alta adopción.
  • Una vez que se complete el trabajo sobre el operador ternario, Prettier alcanzará un estado estable y después se enfocará en mejorar el rendimiento.
  • Hasta ahora, Prettier ha ofrecido una velocidad suficientemente buena, pero la falta de competencia no había generado un gran incentivo para mejorar el rendimiento.

Competencia y recompensa para mejorar el rendimiento

  • El equipo de Prettier anunció que ofrecería una recompensa de 10,000 dólares si un proyecto escrito en Rust lograba pasar el 95% del test suite de Prettier.
  • El CEO de Vercel, Guillermo Rauch, y napi.rs aportaron fondos adicionales, elevando la recompensa total a 22,500 dólares.
  • El proyecto Biome obtuvo la recompensa y, en apenas 3 semanas, varias personas colaboraron para mejorar la compatibilidad.

Fortalecimiento de la competitividad de Prettier

  • El proyecto Biome, al ofrecer una implementación mucho más rápida y compatible con Prettier, planteó a Prettier un desafío para mejorar su rendimiento.
  • Fabio Spampinato encontró muchas ineficiencias en el CLI de Prettier y planea mejorarlas antes de fin de año.
  • El proyecto Biome descubrió bugs y decisiones cuestionables en Prettier, dándole oportunidades de mejora.

Donaciones que apoyan a Prettier

  • Prettier ha mantenido su éxito continuo gracias a donaciones de diversas empresas y personas.
  • Empresas como Indeed, Frontend Masters, Sentry, Salesforce, Airbnb y Cybozu, así como personas como Shintaro Kaneko y Suhail Doshi, han donado sumas importantes.
  • Gracias a estas donaciones, durante los últimos 2 años se han pagado 1.5 mil dólares mensuales para que Fisker Cheung y Sosuke Suzuki pudieran continuar con el desarrollo de Prettier.
  • Con el presupuesto actual, pueden operar durante 8 meses y están solicitando donaciones adicionales.

Opinión de GN⁺

  • Prettier cumple un papel importante en el área del formateo de código, y destaca su esfuerzo por mejorar aún más la experiencia de los desarrolladores mediante esta competencia de rendimiento.
  • El éxito del proyecto Biome muestra cómo la colaboración y la competencia en el ecosistema open source pueden impulsar cambios positivos.
  • Este artículo ofrece un caso interesante sobre cómo la colaboración y la competencia dentro de la comunidad tecnológica pueden fomentar el desarrollo mutuo.

1 comentarios

 
GN⁺ 2023-11-28
Opiniones de Hacker News
  • ¡Quizás se pregunten por qué el equipo de Prettier está financiando otros proyectos! En realidad, Prettier ocupa una posición dominante como formateador de código JavaScript y, debido a la falta de competencia, había poca motivación para mejorar el rendimiento o resolver varios casos límite.

    • Surge la duda de por qué el equipo de Prettier apoya otros proyectos. Se señala que, aunque Prettier ocupa una posición casi monopólica como formateador de código JavaScript, la ausencia de competencia reducía el incentivo para mejorar el rendimiento o corregir casos especiales.
  • Mucha gente no está reconociendo esa parte y está dejando comentarios preguntando por qué:

    • Esto implica que el proyecto Biome, al igualar todas las pruebas, descubrió muchos bugs y decisiones cuestionables de Prettier, y que podría mejorarlos.
  • Estoy muy emocionado por esto.

    • Hay admiración por el hecho de que el equipo de Biome haya logrado rápidamente una compatibilidad del 95% con Prettier. Se espera la máxima mejora de velocidad en el formateo de JavaScript usando Rust, siguiendo la tendencia del formateador de Python ruff. Wasmer ofreció una recompensa de $2,500 para compilar Biome a WASIX, y se espera que Biome pueda ejecutarse pronto en Wasmer.
  • La velocidad siempre es bienvenida, pero ojalá Prettier fuera un poco menos dogmático.

    • Se percibe que Prettier es demasiado dogmático en el formateo de código y hay molestia, especialmente porque no logra mantener su propio formato respecto a la longitud de línea. Se considera que el código formateado con Prettier es menos legible que con otros formateadores.
  • Sigo molesto porque todos mis plugins de eslint eliminaron linters perfectamente buenos por culpa de Prettier.

    • Se siente que Prettier es demasiado impositivo y difícil de entender, y se lo ve como otra herramienta no solicitada.
  • Esto significa que ahora podemos enfocarnos en el siguiente aspecto importante: el rendimiento. Prettier no es rápido en sí mismo, pero es lo suficientemente rápido para la mayoría de los casos de uso. Esto siempre nos ha dejado insatisfechos, así que queríamos hacer algo al respecto. No hay mejor manera que una competencia amistosa.

    • Se busca resolver la insatisfacción con el rendimiento de Prettier ofreciendo una recompensa de $10k a un proyecto escrito en Rust, con el objetivo de pasar el 95% de la suite de pruebas de Prettier.
  • Aunque portar a Rust está de moda, la mejora de velocidad será considerable porque Prettier se ejecuta cada vez que se guarda. Voy a probar Biome pronto. ¡Felicidades al proyecto Biome!

    • Portar a Rust está en tendencia, y se espera una mejora considerable de velocidad, ya que Prettier se ejecuta cada vez que se guarda. Hay una reacción positiva hacia el proyecto Biome.
  • ¿Dónde están los benchmarks de Biome? ¿Exactamente cuánto mejor rendimiento ofrece frente a Prettier?

    • Hay preguntas sobre los benchmarks de rendimiento de Biome. Existe curiosidad sobre cuánto mejor rendimiento ofrece en comparación con Prettier.
  • ¿Este artículo dice que hicieron esto para motivarse a mejorar la versión en JavaScript?

    • Hay dudas sobre haber iniciado un nuevo proyecto como motivación para mejorar la versión en JavaScript.
  • Entonces, ¿esto no reemplaza la implementación principal? ¿Solo financiaron un nuevo proyecto compatible escrito en Rust?

    • Hay una pregunta sobre si financiar un nuevo proyecto compatible escrito en Rust no significa reemplazar la implementación principal.