여기서 jquery는 프레임 워크 범주에서 언급됩니다. http://en.wikipedia.org/wiki/Comparison_of_JavaScript_frameworks
jquery는 자바 스크립트 라이브러리 또는 프레임 워크입니까?
여기서 jquery는 프레임 워크 범주에서 언급됩니다. http://en.wikipedia.org/wiki/Comparison_of_JavaScript_frameworks
jquery는 자바 스크립트 라이브러리 또는 프레임 워크입니까?
답변:
도서관. 홈페이지 에 따르면 동의합니다.
프레임 워크는 일반적으로 솔루션을 구현하는 특정 방법을 강제하는 것이지만 jQuery는 원하는 작업을 더 쉽게 구현할 수있는 도구 일뿐입니다.
확실히 자바 스크립트 라이브러리입니다. 하지만 프레임 워크인지 아닌지에 대해서는 프레임 워크가 아니라고 생각합니다. 소프트웨어 프레임 워크 에 대한 wikipedia 정의를 살펴보십시오 .
정의 된 애플리케이션 프로그래밍 인터페이스를 제공하는 소프트웨어 라이브러리 모음입니다.
그리고 jQuery는 단일 라이브러리 일뿐입니다. 그 후 다음과 같이 표시됩니다.
프레임 워크에는 일반 라이브러리와 구분하는 주요 구별 기능이 포함되어 있습니다.
- inversion of control-라이브러리 나 일반 사용자 응용 프로그램과 달리 프레임 워크에서 전체 프로그램의 제어 흐름은 호출자가 아니라 프레임 워크에 의해 결정됩니다.
그래서 저는 프레임 워크가 아니라고 생각합니다.
angularjs 웹 사이트 에 따르면
- 라이브러리-웹 앱을 작성할 때 유용한 함수 모음입니다. 귀하의 코드가 담당하며
적합하다고 판단 . 예 : jQuery.- 프레임 워크-코드가 세부 사항을 채우는 웹 애플리케이션의 특정 구현. 프레임 워크가 담당하며 특정 앱이 필요할 때 코드를 호출합니다. 예 : durandal, ember 등
프레임 워크와 Libarry가 반드시 상호 배타적 인 용어는 아닙니다. 프레임 워크는 일반적으로 라이브러리 또는 라이브러리 모음입니다.
엄밀히 말하면 jQuery는 라이브러리이지만 어느 정도 소프트웨어 프레임 워크의 정의를 충족합니다. 많은 사람들이 jQuery가 소프트웨어 프레임 워크의 정의를 충분히 충족시키지 못한다고 주장하지만 사실은 다른 JavaScript 프레임 워크도 프레임 워크의 정의를 완전히 충족하지 못한다는 것입니다.
소프트웨어 프레임 워크의 정의 특성 중 하나는 코드가 수정되지 않도록 보호된다는 것입니다. JavaScript에서 이것은 분명히 사실이 아닙니다. 클라이언트 측 코드로 호출 할 수있는 모든 라이브러리 또는 프레임 워크는 수정할 수 있지만 변경하는 것은 모범 사례에 위배됩니다. 따라서 Bootstrap 또는 AngularJS를 프레임 워크로 호출 할 수있는 경우 jQuery를 프레임 워크로 호출 할 수없는 이유가 없습니다. 이 링크 에는 jQuery가 프레임 워크라고하는 기준을 충족하는 방법에 대한 자세한 설명 이 포함되어 있습니다.
아마도 jQuery가 라이브러리보다 프레임 워크에 더 가까운 이유에 대한 가장 좋은 설명은 개발자로서 프레임 워크와 유사한 기능을 사용하지 않도록 선택할 수 있다는 사실입니다. 예를 들어, 간단한 jQuery 문과 표준 JavaScript 문을 같은 줄에 혼합 할 수 있습니다. AngularJS와 Bootstrap은 일반적으로 이것을 허용하지 않습니다. 따라서 jQuery가 프레임 워크인지 아닌지의 정확한 대답은 "프레임 워크로 사용하기로 선택했는지 여부에 따라 다릅니다"입니다.
나는 jQuery 자체가 실제로 프레임 워크가 아니라 라이브러리라는 모든 답변에 동의합니다. Saeed의 답변에 명시된 바와 같이 주요 특징 중 하나는 제어 반전입니다. 그러나 jQuery의 기능을 사용하여 자신 만의 프레임 워크를 만들 수 있습니다.
예 : 프레임 워크로 정의 된 jQuery 위에 빌드 된 프로젝트가 있습니다. jQuery Mobile : A Touch-Optimized Web Framework , JavaScriptMVC 및 sammy.js 가 있습니다.
jQuery UI 와 같이 jQuery 위에 빌드 된 다른 라이브러리도 있습니다.
일부는 라이브러리와 프레임 워크를 정의 할 때 의미론처럼 보이지만 이러한 예제는 저에게 선을 그리는 데 도움이됩니다.
위 스레드의 거의 모든 사람들이 말하는 Inversion of control에 대해 이야기하면 jQuery는 FRAMEWORK입니다.
예를 들어 $ (document) .ready {} 함수를 작성할 때 IOC 가 있습니다. ...이 메서드를 호출하는 컨테이너이며 단순히 중괄호 안에 코드를 넣습니다. 우리는이 메서드의 호출자가 아니므로 "Inversion of Control"
이런 식으로 jQuery는 FRAMEWORK입니다.
ready()
.