고려하면
- 사업 배경
- 커뮤니티 지원
- 사용 가능한 확장
- 기본 기능 세트
- 사용의 단순성
- 그리고 신뢰성
왜 다른 것을 선호합니까?
고려하면
왜 다른 것을 선호합니까?
답변:
정보를 추가하려고합니다.
내가 이해하는 것처럼 Google Closure는 다른 JS 라이브러리 일뿐만 아니라 JS 코드를 최적화 할 수있는 도구 모음이기도합니다. jQuery로 작업하면 훌륭한 도구와 가벼운 라이브러리가 제공되지만 자체 코드를 축소하지는 않습니다. 폐쇄 컴파일러는 것이다. 폐쇄 관리자는 종종 축소 된 코드가 원래와는 다른 행동을 가지고 있으며, 디버깅 고통으로도 유용 할 수 있습니다. Firebug 와 통합되어 현재 개발자의 가장 친한 친구 인 단위 테스트를 지원합니다.
나는 새로운 라이브러리 VS 잘 확립 된 라이브러리로서 jQuery가 가지고있는 수많은 확장 기능과 튜토리얼을 사용할 수 없을 것입니다. 그러나 Google의 지원을 받으면 지원과 안정성이 모두 좋아질 것입니다. 현재 문서 와 튜토리얼 도 정말 좋습니다.
클로저의 기능은 괜찮아 보이고 모듈 식 아키텍처도 유망하다. Google은 오랫동안 내부에서 오랫동안 사용해 왔기 때문에 모든 기본 기능 (및 그 이상)이 구현되고 매우 최적화되고 확장 가능한 방식으로 예상 될 수 있습니다. 그들은 그것을 JavaScript의 STL로 제시하려고 노력하고 있기 때문에 그것을 연마해야합니다.
기능을 더 자세히 살펴본 후에는 jQuery와 같은 기존 라이브러리와 비교할 때 웹 응용 프로그램 개발에 한 단계 발전한 것으로 보입니다. Google의 내부 개발에는 도움이되지만 온라인 상태 감지 ( goog.events.OnlineHandler 참조 ), 브라우저 기록에 AJAX 요청 및 JS 작업의 쉬운 통합 ( goog.History 참조 ) 또는 훌륭한 위젯 군단과 같은 것들 그들은 ( goog.ui 패키지 참조 ) 우리 모두가 더 멋진 웹앱을 만드는 데 도움이 될 수 있습니다.
그것은 함께 제공 기능 템플릿 (밝혔다 자바와 그 통합하고 GWT 이 또한 폐쇄에 대한 또 다른 플러스가 될 수 있도록를?).
마지막으로 사용이 매우 간단 해 보입니다. 구문은 짧은 $ jQuery 함수보다 조금 더 장황 할 수 있지만 IDE와 자동 완성 기능을 사용하면 실제로 문제가되지 않습니다. 또한 Google에서 제공하는 Eclipse와 같은 IDE에서 우수한 통합을 기대할 수 있다고 말하고 싶습니다.
편집 : 요청에 따라 GWT 참조에 대해 몇 마디 말하겠습니다. Google Web Toolkit은 AJAX 지원 웹 인터페이스를 생성하고 필요한 JavaScript 코드를 생성 및 최적화하는 Java 라이브러리입니다. Google Closure를 사용하면 클라이언트 및 서버 측 모두에서 사용할 수있는 템플릿 (JavaScript 및 Java 사용)을 만들 수 있으므로 곧 함께 사용할 수 있습니다 (아직 그렇지 않은 경우).
API를 간단히 살펴보면 jQuery와 Closure의 차이점이 눈에 띄는 것으로 나타났습니다.
jQuery는 기본적으로 크로스 브라우저 방식으로 많은 빈번한 작업을 수행하는 간단한 방법입니다.
클로저는 <canvas>
예를 들어 태그 를 사용하는 브라우저 간 방법을 제공하고 새로운 이벤트를 추가 했다는 점에서 매우 새로운 프레임 워크입니다 .
그래서 이것은 우리가 일반적으로 자바 스크립트로하는 일을 추가하고 사람들이 원하는 많은 작업을 수행하여 API에 넣습니다.
예를 들어 온라인 상태가 변경되었는지 알려주는 이벤트가 있습니다. 따라서 시스템이 온라인 상태인지 알 수 있습니다.
여기에는 Google Gears와 같은 도구를 사용하는 자바 스크립트 기능이 있으며, 이는 자바 스크립트로 수행 할 수있는 작업을 확장했다는 사실로 이어집니다.
모든 변경 사항을 요약하는 데 며칠이 걸리지 만 이것이 개발 가능한 웹 응용 프로그램에 큰 영향을 줄 수 있음을 알 수 있습니다.
클로저 라이브러리의 가장 큰 장점은 클로저 컴파일러 용으로 설계된 것입니다. 이것은 JavaScript 개발을위한 완전히 새로운 가능성을 열어줍니다 ...
컴파일러에는 몇 가지 멋진 기능이 있습니다.
자세한 내용은 http://blog.klokantech.com/2010/12/closure-compiler-for-openlayers-3x.html을 참조하십시오.
편집 : 이 YouTube 비디오를 살펴보면 Google Closure에 대한 몇 가지 질문에 더 잘 대답 할 수 있습니다.
아마도 구글 클로저에 대한 최고의 정보원은 프로젝트 토론 그룹 , 위키, 문서 페이지, 데모 및 아직 미완성 된 마이클 볼린의 책으로 사파리 서적 사이트에서 얻을 수 있습니다.
지금 당장 말할 수있는 한 가지 - 거기에 대한 가파른 학습 곡선 closure
대는 jQuery
하지만 인해 도서관의 광대, 명확한 조직과 컴파일러와 템플릿 도구와 함께 사용의 혜택에 가치가있을 수 있습니다.
closure
그 점에서 라이브러리는 더 같다 dojo
이상 jQuery
, 일부 개념에서 차용 한 dojo
마이클의 Bolin에 따라.
Google 클로저 컴파일러는 JSDoc
문서화 시스템을 사용하여 동시에 (프로그래머가 올바르게 작성한 경우) 문서를 제공하고 컴파일 타임에 많은 오류를 잡을 수 있습니다.
함수 이름은의 것보다 더 장황하지만 jQuery
컴파일러는 다양한 최적화 전술을 사용하여 코드를 축소하고 유형 검사는 코드를 디버깅하는 데 상당한 시간을 절약하므로 더 긴 이름을 입력하는 시간은 문제가되지 않습니다. 동시에 더 긴 이름은 가독성을 추가합니다.
library는 quirks 모드에서 실행되는 브라우저를 지원하므로 "quirky"html을 사용하여 다른 사이트에서 스크립트를 임베드 할 수 있습니다.
라이브러리는 soy
문서로 내용을 채우는 것을 단순화 하는 자바 스크립트 템플릿 시스템과 작동하지만 의존하지는 않습니다 .
jQuery
google 과 같이 closure
라이브러리의 전용 구성 요소를 사용하여 문자열 기반 쿼리로 dom 구조를 통과 할 수 있습니다.
closure
라이브러리는 점으로 구분 된 네임 스페이스 (더욱 Java
강력한 조직 기능) 에 의존 합니다.
이러한 네임 스페이스를 사용하면 컴파일되지 않은 코드에서 오버 헤드가 발생하지만 컴파일 된 코드에서는 짧은 변수 이름으로 대체됩니다.
like jQuery google closure allows traversing dom structure with the string-based queries using a dedicated component of the library.
것입니다. 관련 문서에 저를 연결시켜 주시겠습니까?
goog.dom.DomHelper
하지만 개인적으로 jQuery와 동등한 쿼리 기능을 보지 못합니다. @Evgeny : 더 자세한 정보를 제공해 주시겠습니까?
방금이 질문에 insideRIA 에 대한 Google Closure에 대한 철저한 기사를 게시했습니다 .
... 클로저 규칙! ^ _ ^
어쩌면 나는 jQuery를 얻지 못했지만 실제 UI 위젯 컬렉션을 보지 못했습니다 (플러그인이 있습니다).하지만 잘 테스트 된 적이 없으며 명확한 승자가 없으며 종종 플러그인 부족이 있습니다. 선적 서류 비치).
클로저는 무엇보다도 Gmail에 사용되는 이미지가 없는 버튼을 포함 하여 위젯 컬렉션 (데모 탭 참조)을 가지고 있습니다.
보다 일반적으로 릴리스의 일부로 더 많은 기능이 구현되었습니다. 큰 문제는 아니지만 아약스 히스토리 모듈이나 자동 완성과 같은 간단한 것을 찾을 때 jQuery 플러그인의 바다에 짜증이납니다.
전반적으로 거대한 라이브러리 + 도구 세트이며 사용 가능한 항목을 알기 위해 익숙해 질 것입니다.
오픈 소스 커뮤니티에 대한 Google의 기여의 대부분에 감사 드리며 멋진 것들이 있지만 전체적으로 Closure가 거대하고 과장되어 우아하지 않다고 확신합니다. 모든 것을 Java로 바꿔야한다면 나는 그것이 엄청나다고 생각합니다.
편집하다:
그럴 수 있지. 나는 실제로 비교하지 않았다. 폐쇄는 어딘가에 원하는 모든 가능한 도구가있는 거대한 창고와 같습니다. .NET 또는 대규모 Java 라이브러리와 같습니다. 필요한 것을 찾으면 매우 구체적인 작업을 수행하는 매우 구체적인 작업을 찾을 수 있습니다. 그런 다음 생산을 위해 모든 균열을 제거 할 수 있습니다.
반면에 JQuery는 쉽게 수정할 수있는 음향 드라이버입니다.
Google 클로저 라이브러리를 사용하면 JavaScript를 컴파일하고 최적화 할 수 있습니다. jQuery와 같은 라이브러리가 아닙니다. jQuery는 자바 스크립트를 더 빨리 작성할 수있는 기능을 제공하는 것입니다.
Google Closure를 사용하면 인터넷을 통한 빠른 배송을 위해 자체 자바 스크립트 코드를 최소화 할 수 있습니다.
간단히 말해 Google Closure는 도구이고 jQuery는 프로토 타입과 유사한 라이브러리입니다.