Я полностью согласен с ответом, предоставленным Полом, и также хотел бы повторить, что ваш вопрос неоднозначен по своей сути.
Jquery в высшей степени ориентирован на домены и предоставляет вам отличные возможности для работы на DOM.Будь то изменение стилей, загрузка удаленного контента в некоторую часть документа, реагирование на события браузера ... почти во всем, что основное внимание уделяется DOM.Для такого рода функций, когда вы работаете с содержимым документа, наследование прототипа и, что более важно, стиль доступа к виджетам через DOM (ознакомьтесь с API-интерфейсами JQueryUI), работает достаточно хорошо.Если вы идентифицируете виджеты как объекты javascript, то вы должны также отслеживать объекты ... что вам в случае стиля программирования следует JQueryUI и т. Д., Вам не нужно, потому что вы можете получить доступ к любому виджету, присутствующему вDOM путем навигации по структуре DOM или просто по его идентификатору (который, по сути, действует как глобальный идентификатор элемента).
backbone.js в целом создан для другой цели.Само введение ясно говорит о том, что оно основано на философии, согласно которой привязка ваших данных к DOM - это плохо.Когда вы создаете приложение, структурированное в соответствии с соглашениями backbone.js, вы по сути всегда концентрируетесь на объектах javascript, которые могут быть каким-то образом связаны с DOM.Вы определяете модели, которые взаимодействуют с источниками данных сервера, модели, которые запускают события при манипулировании содержимым данных, коллекции, которые помогают управлять большими наборами данных ... независимо от того, что вы всегда работаете с объектами javascript, которые не встроены в структуру документа,Для такого сценария более привычно думать в терминах традиционной объектно-ориентированной модели.Если у вас есть объект, рабочий процесс мало чем отличается от того, что вы привыкли использовать с помощью jQuery, потому что магистраль тоже, как и jQuery, поддерживает шаблон наблюдателя.Таким образом, точно так же, как вы можете привязывать обработчики событий к элементам DOM с помощью JQuery, вы присоединяете обработчики событий к пользовательским событиям, отправляемым моделями, сборщиками и т. Д. Таким образом, эти два хорошо объединяются.
Что касается других платформ, вы можете воспользоваться Knockout, который предоставляет привязки данных и наблюдаемые объекты и т. Д. И не требует использования нового ключевого слова для создания экземпляров, скорее, экземпляры создаются путем вызова функций из koпространство имен, которое может удовлетворить ваши вкусы.KO располагает обширной документацией и примерами кода, которые вы можете изучить, чтобы решить, соответствует ли он вашим вкусам.Я не могу больше комментировать KO, потому что у меня ограниченные знания об этом, но что касается backbone.js, я очень настоятельно рекомендую вам не отказываться от фреймворка только потому, что вам не нравится способ реализации некоторых вещей.Он делает элегантно и надежно то, что должен, и поддерживает невероятно малую площадь.