Si bien el tema da para largo y tendido, dejo un (no tan) resumen de mi opinión.
Sobre el link que posteo @juaniquillo, se me ocurre que tratar de idiotas a los usuarios de jQuery puede ser una salida fácil, tan fácil que puedo redoblar la apuesta y decir que también lo son los programadores JavaScript (invito a quien quiera a demostrar que esta generalización es falsa).
Que alguien se llame experto o no no es inherente de la herramienta (llámese jQuery, MooTools, QBasic o como quieran) sino de la persona.
Con respecto a jQuery vs ExtJS, son peras y manzanas, tanto que uno es una librería y otro un framework.
Por otro lado, implementar una solución propia es algo descabellado (por lo menos en el común de los casos). Si alguien tiene suficiente tiempo como para desarrollar, testear y mantener una solución de este tipo, probablemente debería invertirlo en el producto y no en las herramientas.
---
Una pequeña reflexión:
Nosotros como programadores somos artesanos, y nuestro arte es convertir lo complejo en algo sencillo.
Siendo esa la premisa, hay que reconocer que jQuery hace un gran trabajo, acercando soluciones a gente que no tiene el conocimiento ni el tiempo que tenemos algunos.
----
Mi opinión con respecto a jQuery:
Al igual que otras librerías, en principio cubre dos grandes necesidades:
- Solventar las diferentes implementaciones que hacen los vendors de distintas funcionalidades ciertamente críticas.
- Proveer una alternativa a las APIs del browser (selectors, events, manipulación, Ajax), que hablando mal y pronto, son una MIERDA (nuevamente invito a quien quiera a discutir este punto).
Otras características que hicieron de jQuery una librería con mayor valor agregado son*:
* No quiero decir que sean implementaciones unicas de jQuery.
- Manejar la selección de elementos de forma consistente. Como caso opuesto recordar Prototype: $ y $$.
- No devolver null en la selección, cosa que en mi opinión, es de agradecer.
- Chaining.chaining.chaining()
- Promueve ciertas buenas prácticas (uso de clousures como modulos, encapsulación de plugins, etc).
- Marketing. Resig siempre supo vender y venderse bien, tanto que hasta Microsoft adoptó a jQuery, con todo lo que ello significa.
Obviamente, lejos esta de mi predilección, ya que entre otras cosas:
- La documentación es mala, confusa y desordenada.
- Es excesivamente DOM-centric, cuando otras librerías proveen un toolkit más complejo (enumerables, clases, rangos, etc). Lo cual pesa al crecer los proyectos.
- Esta de moda, con todo lo que ello significa (y por lo que mucha gente le tiene cierto rechazo).
- Sistema de eventos confuso, semanticamente incorrecto (método bind). Por suerte esto cambia desde la 1.7 (on/off).
- Monolitico, sin posibilidad de trabajar con los modulos deseados.
PD: Como nota de color, jQuery es una librería y no un framework.
PD2:
http://www.doxdesk.com/img/updates/2...6-so-large.gif