У розділі запитань і відповідей у цій бесіді Дуглас Крокфорд каже, що jQuery не масштабується, як і деякі інші популярні бібліотеки. Що він розуміє під цим, і що це стосується інших бібліотек, які роблять їх більш масштабованими?
У розділі запитань і відповідей у цій бесіді Дуглас Крокфорд каже, що jQuery не масштабується, як і деякі інші популярні бібліотеки. Що він розуміє під цим, і що це стосується інших бібліотек, які роблять їх більш масштабованими?
Відповіді:
Якщо ви дивитесь відео, він формально не говорить про jQuery. Це швидка відповідь на дещо офтопічне запитання від когось після презентації .... наприкінці презентації, близько хвилини 1:29.
Він говорить багато хорошого про jQuery. Частина про це не масштабує добре, він каже, що не вважає, що jQuery масштабує дуже добре для дуже складних програм (порівнюючи це з іншими речами, такими як YUI). .
Мені важко сказати, не переглядаючи відео, але я гадаю, що це тому, що jQuery не пропонує всіх функцій більшості інших бібліотек, що полегшує програмування JavaScript. Метою jQuery є полегшити маніпуляцію з DOM шляхом спрощення адресації елементів за допомогою селекторів CSS та надання легкої основи для зміни цих елементів. Він пропонує деякі інші подвиги, такі як запити Ajax , базове управління подіями, шаблони та деякі інші рудиментарні функціональні можливості, але це стосується цього.
Інші бібліотеки, такі як Prototype , MooTools , Ext JS і Dojo, забезпечують безліч інших функціональних можливостей для створення об’єктів, управління масивами та колекціями, маніпулювання рядками та виконання всіх інших дрібнистих дрібницьких речей, які ми, як програмісти, очікуємо, зможемо зробити.
Одним словом, у jQuery не вистачає інструментів, які хотіли б використовувати для широкомасштабних програм JavaScript. З цієї причини досить рідко можна знайти будь-які важкі веб-сайти з використанням jQuery. Наприклад, Mint.com побудований на YUI . Веб-служба Apple MobileMe від Apple працює на SproutCore (на головному сайті Apple використовується прототип).
Принаймні, це я думаю, що він має на увазі.
jQuery не дозволяє використовувати багато разів, наприклад, MooTools .
Це філософія / дизайнерське рішення: jQuery - це не дуже багато коду для сценаріїв, що захищають і забувають.
Коли ви створюєте ненав’язливий досвід JavaScript (зазвичай це лише покращення сторінки), це працює дуже добре і вимагає дуже мало коду. Коли ви створюєте Google Документи ... не так вже й багато. Вам потрібно більше концепцій OOP, які піддаються іншим проектам, як спадкування, механізми, подібні до інтерфейсу тощо ...