




Имена говорят сами за себя: набор инструментов - это набор инструментов, которые вы можете использовать, как хотите. Фреймворк - это пустой фрейм, который вы можете заполнить, чтобы сформировать свое приложение. Граница между ними размыта, хотя фреймворк содержит инструменты, а набор инструментов иногда заставляет вас выполнять действия в определенной последовательности.
Я бы не знал общего сравнения, полагаю, это зависит от самих наборов инструментов и фреймворков.
Если бы мне пришлось проводить различие, я бы сказал, что набор инструментов предоставляет определенные инструменты для выполнения определенных работ, тогда как фреймворк предоставляет вам основу для построения дальнейших структур более высокого уровня.
Инструменты полезны сами по себе, у фреймворков нет врожденных функций.
Набор инструментов предоставляет базовые минимальные строительные блоки для создания чего-либо. У фреймворка уже есть подход, заложенный для вашего. Фреймворк определяет для вас архитектуру приложения (в большинстве случаев), а набор инструментов дает вам только инструменты, поэтому вы определяете свою собственную архитектуру.
Например, GWT (Google Web Tookit) - это набор инструментов; он не навязывает определенный способ работы, Java JDK также является набором инструментов (Java Developer's Kit), но Rails (от Ruby on Rails) является фреймворком. Это поощряет использование их рабочего процесса и классов (MVC, без совместного использования и т. д.).
Инструментарий подобен библиотеке. Вы вставляете его в свое приложение и используете. Фреймворк обеспечивает структуру вашего приложения, поэтому весь ваш код находится внутри него. Сила фреймворка заключается в том, что, следуя его соглашениям и оставаясь внутри его процесса, он способен сделать за вас много тяжелой работы. Инструментарий более гибкий, но есть много типов проблем, которые лучше решить с помощью фреймворка. С Ajax это немного сложнее определить. Например, простые виджеты и манипуляции с dom могут быть выполнены в стиле инструментария, но если весь ваш javascript использует специальные оболочки событий и функциональность классов на основе фреймворка и наследование, весь ваш код становится зависимым от этой структуры и действительно содержится внутри нее. .
Кто-то прошел и проголосовал против всех ответов без объяснения причин? боже, это так полезно ...