Este es también un aspecto bastante interesante, y considerando que como dos intentos de reescritura o dos intentos de versión han fallado hasta ahora, pero eso no significa que la biblioteca en la versión v1 haya sido inestable. Por lo tanto, la v1 se ha mantenido y respaldado hasta ahora y lo ha estado haciendo. Y si observamos el aspecto de que la v1 vivió durante dos años en la versión beta, creo que este es el tiempo más largo después de otro proyecto, ExpressJS versión 5, que durará más de dos años.
Y hubo algunos desafíos que enfrentamos en la versión 1 de Web3JS. La mayoría de ustedes pueden entenderlo porque es posible que ya hayan informado algunos de los problemas o se hayan encontrado o estén enfrentando esos problemas. La base de código era muy confusa. La base de código estaba siendo mantenida por más de 100 colaboradores que mencioné anteriormente. La base de código no estaba utilizando algún proceso estándar o patrones estándar. Los módulos dentro del código estaban muy fuertemente acoplados. Había muchos desafíos técnicos para mantener este código y había muchas dificultades para introducir nuevas características, especialmente en la biblioteca v1.
Y la mayoría de ustedes ya han estado utilizando TypeScript. Por lo tanto, había muchos tipos desacoplados. Había tipos desacoplados en Web3.js v1. Y debido a eso, se informaron muchos problemas de TypeScript por parte de la comunidad. Y si observo los registros, puedo ver que se informaron más de 60 problemas de tipos incorrectos o inexactos, lo cual fue uno de los mayores desafíos para nosotros. Y desde la perspectiva de la comunidad, el tamaño de compilación se convirtió en un cuello de botella. Y para el desarrollo, debido a que esta biblioteca se empaquetaba en un archivo único enorme y ese archivo de paquete se empaquetaba en cada desarrollo. Y esto estaba causando muchos problemas durante el desarrollo por parte de la comunidad también. Y en un espectro más amplio, la comunidad de JavaScript y la cadena de herramientas han avanzado mucho. Se han introducido muchas nuevas frameworks, nuevos patrones y nuevas herramientas en la comunidad y en el ecosistema, pero Web3 JS no pudo avanzar debido a esos desafíos que mencioné anteriormente.
Entonces, ¿vamos a quedarnos con la versión uno, o vamos a hacer algo al respecto? A pesar de los dos intentos o intentos fallidos, todavía tenemos la esperanza de presentar las mejoras actuales en la biblioteca y dicho esto, esta es la nueva era para Web3 JS, la versión cuatro, y esto no es una especulación. Ha estado en desarrollo durante más de un año. Y casi estamos listos para lanzar, esperamos que se lance este mes, pero ya puedes explorarlo directamente desde GitHub. La versión cuatro será un hito enorme para la vida útil de Web3 JS y abordará muchas cosas que hemos estado discutiendo en la comunidad y todas esas personas han estado abordando esos temas. Por lo tanto, la versión cuatro vendrá con soporte nativo de TypeScript y tendrá un tamaño reducido. Hemos desacoplado mucho código y se ha reducido la complejidad ya que estamos haciendo esta reescritura completamente desde cero, por lo que la legibilidad del código ha mejorado mucho y tratamos de hacerlo extensible para que en el futuro podamos agregar más características fácilmente e incluso la comunidad pueda extender la biblioteca para su propio uso, y nos enfocamos en la cobertura de pruebas para la versión cuatro y esperamos que una vez, en este momento estamos trabajando en escribir las pruebas del sistema para la biblioteca, y dentro de un mes, cuando lancemos la primera versión alfa para la v4, tendrá una cobertura de pruebas mucho mayor en comparación con la versión uno y en comparación con cualquier otra biblioteca competitiva en el ecosistema. Entonces, la pregunta es, ¿todos estos objetivos que definimos, la reescritura para la versión cuatro, son suficientes o los hemos logrado? Sí, hemos logrado todos estos objetivos y lo más importante es que hemos logrado todos estos objetivos con una API de Parity v1. Por lo tanto, no tienes que preocuparte de que tus proyectos se rompan. Puede haber cambios leves que documentaremos y compartiremos con la comunidad en el registro de cambios o en la guía de migración, pero esos cambios
Comments