Recientemente, hemos creado una aplicación web con Prototype, que hace un buen uso de su funcionalidad Class.Create(). En este momento, estamos considerando migrar a jQuery ya que parece ser considerada una "mejor" biblioteca. He estado leyendo el tema y descubrí que jQuery no tiene un soporte directo para la creación de clases como lo hace Prototype. Por supuesto, todavía hay el .prototype y el jQuery.extend (como se menciona en https://stackoverflow.com/questions/79477/how-to-create-an-object-oriented-class-in-jquery), pero después de buscar un poco más, tengo la sensación de que jQuery en realidad no quiere 'escribir' de esta manera ...¿Por qué jQuery parece desalentar el uso de OOP regular?
La misma página tiene una publicación que menciona el complemento Classy de John Resig, que me pareció genial. Sin embargo, la página dice que en realidad fue una broma del Día de los Inocentes, y que Resig realmente aconseja no usar el código. Me complace obligar, pero me gustaría entender cuál es la razón de todo esto y, por supuesto, qué es lo que QUIEREN que hagas en su lugar. ¿Alguien me puede iluminar?
operación -Editar-
Gracias por las respuestas interesantes. En aras de la claridad: ¿esto significa que está bien reescribir las clases que hice en Prototype para la forma jQuery de "dar forma" a una clase, y aún así usarlas de la misma "manera" que antes? ¿O esto todavía se considera una mala práctica, y debería usar un enfoque diferente?
Para su información JavaScript no es un lenguaje basado en la clase. Es un lenguaje basado en prototipos. – rahul
... y como tal, más similar a Lisp que a C: http://javascript.crockford.com/javascript.html – Boldewyn
(De alguien que tiene cuatro años de ventaja para ver la diferencia) Incluso si este [artículo] (http://jqueryvsmootools.com/) es sobre Mootools vs JQuery, el razonamiento detrás de Mootools esencialmente se aplica a PrototypeJS. La sección [lema] (http://jqueryvsmootools.com/#mottos) lo dice todo. TL; DR; JQuery está diseñado para la manipulación DOM, mientras que Mootool (y Prototype) está diseñado con DOM ** y ** utilidades adicionales como clase base OOP en lenguaje base prototipo, etc. – OnesimusUnbound