В чем разница между инфраструктурой JavaScript и библиотекой?
Возможный дубликат:
Framework vs. Toolkit vs. Library
Я хотел бы знать, в чем разница между инфраструктурой JavaScript и библиотекой, используя некоторый пример.
Например, jquery, backbone.js и jasmine являются фреймворком или библиотекой JavaScript? И почему?
Можете ли вы привести пример структуры JavaScript и библиотеки, используя предложение Don't call Us, We'll call You.
Ответы
Ответ 1
Даже этот вопрос очень субъективен, мое личное мнение об этих двух заключается в следующем:
-
Framework: это описывает заданную структуру "как" вы должны представить свой код. В значительной степени, как шаблон кода, некоторые помощники, конструкторы и т.д., Чтобы решить/упростить конкретную проблему или привести вашу архитектуру в "порядке". Примеры, "Магистраль", "requireJS", "socketIO".
-
Библиотека. Это целый набор инструментов, который сильно абстрагирует разные слои, такие как браузеры/модели DOM и т.д. Также как хороший инструментарий, он предлагает множество инструментов и аккуратных вещей для работы с, что в целом упростит ваш опыт кодирования. Примеры "jQuery", "MooTools", "YUI"
Ответ 2
Я согласен с jAndy, по-моему, framework налагает структуру на ваш код, чтобы решить конкретную проблему, а библиотека - это общий набор инструментов, которые помогают вы в разных задачах, не требуя решения одной и той же проблемы.
В этом отношении:
-
jQuery
- это библиотека, потому что она абстрагирует много несовместимости браузера, но не накладывает никакой структуры на ваш код.
-
underscore.js
- это библиотека, потому что она представляет собой набор утилит для управления структурами данных и другими положительными эффектами.
-
backbone.js
- это фреймворк, потому что он структурирует ваш интерфейсный код в соответствии с шаблоном MVC.
-
Jasmine
- это фреймворк, потому что он структурирует ваш код, чтобы вы могли легко делать BDD.
Что касается вашего предлагаемого примера, рамки подходят для парадигмы don't call us
, потому что большинство из них накладывает поток кода (своего рода инверсию управления). Вы вызываете библиотеки, они не вызывают ваш код.
Это субъективное мнение, поэтому возьмите его как таковое.
Ответ 3
Структура инкапсулирует общую функциональность приложения, позволяя разработчику сосредоточиться на тех частях, которые уникальны для их применения. Это означает, что разработчик пишет фрагменты кода, которые вызываются инфраструктурой, когда происходят разные вещи; Пример: backbone.js
или jasmine
.
Библиотеки представляют собой пакеты кода, которые обычно вызываются вашим приложением для выполнения задачи, например манипуляции с DOM или HTTP-запросы. Пример: jQuery
.
Ответ 4
Библиотека JavaScript - это библиотека предварительно написанного JavaScript, которая позволяет упростить разработку приложений на основе JavaScript.
а некоторые библиотеки JavaScript, такие как YUI, классифицируются как фреймворки, поскольку они обладают возможностями и свойствами полного стека, которые не найдены в общих библиотеках JavaScript.
Ответ 5
JavaScript - это язык сценариев.
JQuery - это библиотека JavaScript, которая обрабатывает многие часто используемые функции, а также обрабатывает различия между, например, Internet Explorer и стандартизованными браузерами. Это то, что вы можете использовать для уменьшения объема работы при создании веб-приложений.
Ответ 6
Нет реального определения разницы между этими двумя, но в целом я бы сказал, что структура - это более общая вещь с несколькими инструментами, чем библиотека, которая обычно очень специализирована.
Например, Sylvester - это матричная и векторная математическая библиотека. Это очень специфично в его функциональности.
A framework, например Prototype, предлагает гораздо больше, чем просто ограниченный набор очень специализированных функциональность. Он может даже использовать или состоять из нескольких библиотек внутри.
Важно:
В конце концов, люди используют "рамки" и "библиотеку" по своему усмотрению. К сожалению;)