Здесь jquery упоминается в категории фреймворков: http://en.wikipedia.org/wiki/Comparison_of_JavaScript_frameworks
Jquery - это библиотека или фреймворк javascript?
Здесь jquery упоминается в категории фреймворков: http://en.wikipedia.org/wiki/Comparison_of_JavaScript_frameworks
Jquery - это библиотека или фреймворк javascript?
Ответы:
Библиотека. Согласно домашней странице , с которой я согласен.
Фреймворк - это то, что обычно требует определенного способа реализации решения, тогда как jQuery - это просто инструмент, упрощающий реализацию того, что вы хотите сделать.
Конечно, это библиотека javascript. Но что касается того, быть фреймворком или нет, я просто думаю, что это не фреймворк. Взгляните на определение программного фреймворка в Википедии :
Это набор программных библиотек, обеспечивающих определенный интерфейс прикладного программирования.
А jQuery - это всего лишь одна библиотека. После этого говорится:
Фреймворки содержат ключевые отличительные особенности, которые отделяют их от обычных библиотек:
- инверсия управления - в структуре, в отличие от библиотек или обычных пользовательских приложений, общий поток управления программой диктуется не вызывающей стороной, а структурой.
Так что, думаю, это не фреймворк.
Согласно веб-сайту angularjs
- библиотека - набор функций, которые полезны при написании веб-приложений. Ваш код отвечает за вас, и он обращается к библиотеке, когда
считает нужным. Например, jQuery.- frameworks - конкретная реализация веб-приложения, где ваш код заполняет детали. За все отвечает фреймворк, который вызывает ваш код, когда ему нужно что-то конкретное для приложения. Например, дюрандал, уголь и т. Д.
Framework и libarry не обязательно являются взаимоисключающими терминами. Фреймворк обычно представляет собой библиотеку или набор библиотек.
Строго говоря, jQuery - это библиотека, но до некоторой степени она соответствует определению программной среды. Хотя многие утверждают, что jQuery недостаточно строго соответствует определению фреймворка программного обеспечения, факт остается фактом: ни один другой фреймворк JavaScript также полностью не соответствует определению фреймворка.
Одной из определяющих характеристик программной среды является то, что ее код защищен от изменений. В JavaScript это явно не так. Любые библиотеки или фреймворки, которые могут быть вызваны в ваш клиентский код, можно изменять, хотя их изменение противоречит передовой практике. Следовательно, если допустимо называть Bootstrap или AngularJS фреймворком, нет причин, по которым jQuery нельзя назвать фреймворком. Эта ссылка содержит более подробное объяснение того, как jQuery соответствует критериям, которые можно назвать фреймворком.
Возможно, лучшим объяснением того, почему jQuery является скорее фреймворком, чем библиотекой, является тот факт, что как разработчик вы можете отказаться от использования каких-либо его функций, подобных фреймворку. Вы можете, например, смешать простой оператор jQuery со стандартным оператором JavaScript в одной строке. AngularJS и Bootstrap обычно не позволяют этого делать. Следовательно, точный ответ, является ли jQuery фреймворком или нет, - «это зависит от того, решили ли вы использовать его в качестве фреймворка или нет».
Я согласен со всеми ответами здесь, что сам jQuery действительно является библиотекой, а не фреймворком. Как указано в ответе Саида, одной из ключевых отличительных черт является инверсия управления. Однако вы можете использовать функциональность jQuery для создания собственной структуры.
Примеры: есть проекты, построенные на основе jQuery, которые определены как фреймворки: jQuery Mobile: оптимизированная для сенсорного управления веб-платформа , JavaScriptMVC и sammy.js и многие другие.
Существуют также другие библиотеки, построенные поверх jQuery, например jQuery UI.
Некоторые из них кажутся семантическими при определении того, что представляет собой библиотека по сравнению с фреймворком, но эти примеры помогают мне подвести черту.
Если мы говорим об инверсии управления, о которой говорят почти все в вышеупомянутой ветке, тогда jQuery - это РАМКА.
У него есть IOC, например, когда мы пишем функцию $ (document) .ready {} ... это контейнер, который вызывает этот метод, и мы просто помещаем наш код в фигурные скобки. Мы не вызываем этот метод и, следовательно, "инверсия управления"
Таким образом, jQuery является РАМКОЙ.
ready()
.