Abbiamo recentemente creato un'app Web utilizzando Prototype, facendo un buon uso della sua funzionalità Class.Create(). In questo momento, stiamo considerando la migrazione a jQuery in quanto sembra essere considerata una libreria "migliore". Ho fatto qualche lettura sull'argomento e ho scoperto che jQuery non ha un supporto integrato diretto per la creazione di classi come fa Prototype. Naturalmente, c'è ancora il .prototype e il jQuery.extend (come menzionato in https://stackoverflow.com/questions/79477/how-to-create-an-object-oriented-class-in-jquery), ma dopo qualche ricerca in più, ho avuto la sensazione che jQuery non ti "voglia" di scrivere in questo modo ...Perché jQuery sembra scoraggiare l'uso del normale OOP?
Nella stessa pagina è presente un post che menziona il plugin Classy di John Resig, che mi è sembrato ottimo. Tuttavia, la pagina afferma che si trattava in realtà di una battuta del pesce d'aprile e che Resig in realtà consiglia di non utilizzare il codice. Sono felice di accontentarti, ma mi piacerebbe capire qual è la ragione di tutto ciò, e, naturalmente, che cosa vogliono che tu faccia invece. Qualcuno può illuminarmi?
operativa -Editazione-
Grazie per le risposte interessanti. Per maggiore chiarezza: significa che è corretto riscrivere le classi che ho creato in Prototype nel modo jQuery di 'modellare' una classe, e comunque usarle nella stessa 'maniera' di prima? O è ancora considerato una cattiva pratica e dovrei usare un approccio diverso?
Per vostra informazione JavaScript non è un linguaggio di classe. È un linguaggio basato su prototipi. – rahul
... e come tale più simile a Lisp che a C: http://javascript.crockford.com/javascript.html – Boldewyn
(Da qualcuno che ha quattro anni di vantaggio per vedere la differenza) Anche se questo [articolo] (http://jqueryvsmootools.com/) riguarda Mootools vs JQuery, il ragionamento alla base di Mootools si applica essenzialmente a PrototypeJS. La sezione [motto] (http://jqueryvsmootools.com/#mottos) dice tutto. TL; DR; JQuery è progettato per la manipolazione del DOM, mentre Mootool (e Prototype) è progettato con DOM ** e ** utilità aggiuntive come OOP di base su un linguaggio di base prototipo, ecc. – OnesimusUnbound