Non amo le polemiche. Rispondo al volo…
- L'estetica di jQuery versus quella delle funzioni native del DOM è aria fritta.
- "Prototipizza" non ha senso, non vuol dire niente. La funzione forEach è una funzione nativa che ti offre JS e che è infilata nel prototipo di Array. Se la vuoi utilizzare devi richiamarla da lì.
- Se vuoi puoi avere la sintassi c = $(".alternanda") senza installare jQuery: basta che scrivi var $ = document.querySelectorAll; in testa ai tuoi script (più due tre righe di crossbrowser) e il gioco è fatto.
- Dire che jQuery sia più oop style è davvero un travisamento. L'uso di jQuery fa perdere di vista la vera natura di un linguaggio oop come js
- Io jQuery non so nemmeno come usarlo. Eppure se vai sul Mozilla Developer Network praticamente tutti i codici di compatibilità per rendere le funzioni crossbrowser le ho scritte io. Lo faccio continuamente e modestamente penso di essere arrivato spesso a soluzioni di ottimo livello. E se mi segui un po' su questo forum credo che avrai capito che riesco a raggiungere una buona sintesi quando programmo, molto più di quella presente nel codice di jQuery.
- Il discorso sull'ottimizzazione resta lo stesso di cui sopra.
Ma mi fermo qua. Non voglio che si travisi quello che ho scritto. Non ho nulla contro jQuery e ognun@ è liber@ di usarlo. Il punto è che si tratta di una libreria "di retroguardia": lo scopo principale di quel codice è rendere disponibile anche ai vecchi browser le funzioni più moderne. Ma le animazioni che fai con jQuery ormai coi nuovi standard le fai praticamente coi CSS senza neppure JavaScript. Usare massicciamente jQuery rischia di renderci ignoranti sulle enormi potenzialità di HTML5.