Todavía uso PrototypeJS en todos mis proyectos paralelos y mi proyecto principal. Disfruto usarlo ya que el código que me obliga a escribir puede autodocumentarse, pero siempre está claro qué comportamiento ocurre cuando se llama a un método determinado.
Me gusta que haya muchas funciones integradas en la biblioteca principal, lo que significa que no necesito cargar otras bibliotecas para esa función.
- Por ejemplo, ¿sabía que PrototypeJS maneja plantillas simples similares al bigote? Ya está listo para usar. Prototipo v1.7.2 Plantilla de documentación API
- Hay clases orientadas a objetos que le permiten escribir clases similares como lo haría en OOP. Definiendo clases y herencia
- Rangos que le permiten usar cualquiera de los métodos de enumeración en una lista de números o letras. Prototipo v1.7.2 Documentación API ObjectRange
También descubrí que los desarrolladores que conocen PrototypeJS y lo usan regularmente suelen estar más familiarizados con Javascript vainilla y desarrolladores de Javascript más fuertes. Creo que es una consecuencia de la forma en que PrototypeJS extiende selectivamente los tipos nativos.
- ¿Es un desperdicio para un graduado en informática hacer desarrollo web?
- ¿Cuáles son los beneficios de una empresa de desarrollo de CMS?
- ¿Qué servicio utilizan las empresas tecnológicas para crear plantillas de correo electrónico?
- Al crear un servicio de back-end, ¿cómo puedo asegurarme de que se pueda ampliar para admitir 1 millón de usuarios desde el primer día?
- ¿Cuáles son las ventajas y desventajas del estilo CGI OO y el estilo CGI orientado a funciones en Perl?
PrototypeJS obtuvo una mala reputación hace un tiempo cuando extendió el prototipo de Object con métodos universales, pero en las últimas versiones eso ya no sucede. Existen medidas de seguridad para evitar sobrescribir los métodos ES5 y algunos trabajos para evitar sobrescribir los métodos ES6. Muchos de los métodos PrototypeJS han sobrevivido a la controversia (Mootools String.prototype.contains () vs String.prototype.includes ()) porque la base de la biblioteca es Ruby, que tiene oscuras convenciones de nomenclatura.
PrototypeJS también fue un catalizador para un número significativo de métodos que se convirtieron en métodos nativos, Function # bind () para uno (fuente Nota 1. ECMAScript. Funciones enlazadas), por lo que, por extensión, los usuarios de Javascript vanilla están utilizando funciones PrototypeJS que se han incorporado al código nativo.
Una opinión que se ha compartido conmigo es que el desarrollador se alegró de que su biblioteca principal de Javascript (PrototypeJS) no cambiara constantemente (lo que significa API o métodos obsoletos) ya que lo obligaría a volver a escribir el código antiguo cada vez que hubiera un nuevo lanzamiento.