[jquery] Google Closure Library는 jQuery보다 무엇을 제공합니까? [닫은]

고려하면

  • 사업 배경
  • 커뮤니티 지원
  • 사용 가능한 확장
  • 기본 기능 세트
  • 사용의 단순성
  • 그리고 신뢰성

왜 다른 것을 선호합니까?



답변

정보를 추가하려고합니다.

다른 JS 라이브러리보다

내가 이해하는 것처럼 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 개발을위한 완전히 새로운 가능성을 열어줍니다 …

컴파일러에는 몇 가지 멋진 기능이 있습니다.

  • 읽을 수있는 JavaScript를 압축 된 시스템에서 읽을 수있는 JavaScript로 컴파일 합니다. “ADVANCED”모드에서 압축률가장 높습니다.
  • JSDoc 태그를 사용하여 코드를 문서화하는 것이 중요합니다. 컴파일러에서 코드를 읽고 컴파일시 문서 오타, @constructor의 잘못된 사용, 잘못된 변수 유형 , @private 및 @protected로 주석이 달린 필드의 오용, 기타
  • OpenLayers 또는 Google Maps와 같은 재사용 가능한 JavaScript 라이브러리를 작성하는 경우 공식 API를 공식적으로 내 보내면 컴파일러가 내부 코드를 최적화합니다.
  • 최종 응용 프로그램은 라이브러리와 함께 컴파일 될 수 있으며 사용되지 않은 라이브러리 부분은 생성 된 코드에서 제거됩니다. 종속성은 컴파일러에 의해 자동으로 해결됩니다.
  • 컴파일러는 원치 않는 기능을 제거하기 위해 상수를 허용합니다. 이는 모바일 웹킷과 같은 특정 브라우저, Quirks 모드 또는 Strict 모드 중 하나에 대해서만 컴파일, IE6을 지원하지 않는 컴파일 등을 허용합니다.
  • 소스 코드의 컴파일 된 버전에서도 FireBug로 디버깅 할 수 있습니다.
  • 컴파일러는 동적으로로드 가능한 모듈의 생성을 지원하므로 고급 기능을위한 코드는 필요할 때만로드 할 수 있기 때문에 최종 애플리케이션의로드 속도를 크게 높일 수 있습니다.

자세한 내용은
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문서로 내용을 채우는 것을 단순화 하는 자바 스크립트 템플릿 시스템과 작동하지만 의존하지는 않습니다 .

jQuerygoogle 과 같이 closure라이브러리의 전용 구성 요소를 사용하여 문자열 기반 쿼리로 dom 구조를 통과 할 수 있습니다.

closure라이브러리는 점으로 구분 된 네임 스페이스 (더욱 Java강력한 조직 기능) 에 의존 합니다.

이러한 네임 스페이스를 사용하면 컴파일되지 않은 코드에서 오버 헤드가 발생하지만 컴파일 된 코드에서는 짧은 변수 이름으로 대체됩니다.


답변

방금이 질문에 insideRIA 에 대한 Google Closure에 대한 철저한 기사를 게시했습니다 .

… 클로저 규칙! ^ _ ^


답변

어쩌면 나는 jQuery를 얻지 못했지만 실제 UI 위젯 컬렉션을 보지 못했습니다 (플러그인이 있습니다).하지만 잘 테스트 된 적이 없으며 명확한 승자가 없으며 종종 플러그인 부족이 있습니다. 선적 서류 비치).

클로저는 무엇보다도 Gmail에 사용되는 이미지가 없는 버튼을 포함 하여 위젯 컬렉션 (데모 탭 참조)을 가지고 있습니다.

보다 일반적으로 릴리스의 일부로 더 많은 기능이 구현되었습니다. 큰 문제는 아니지만 아약스 히스토리 모듈이나 자동 완성과 같은 간단한 것을 찾을 때 jQuery 플러그인의 바다에 짜증이납니다.

전반적으로 거대한 라이브러리 + 도구 세트이며 사용 가능한 항목을 알기 위해 익숙해 질 것입니다.


답변

오픈 소스 커뮤니티에 대한 Google의 기여의 대부분에 감사 드리며 멋진 것들이 있지만 전체적으로 Closure가 거대하고 과장되어 우아하지 않다고 확신합니다. 모든 것을 Java로 바꿔야한다면 나는 그것이 엄청나다고 생각합니다.

편집하다:

그럴 수 있지. 나는 실제로 비교하지 않았다. 폐쇄는 어딘가에 원하는 모든 가능한 도구가있는 거대한 창고와 같습니다. .NET 또는 대규모 Java 라이브러리와 같습니다. 필요한 것을 찾으면 매우 구체적인 작업을 수행하는 매우 구체적인 작업을 찾을 수 있습니다. 그런 다음 생산을 위해 모든 균열을 제거 할 수 있습니다.

반면에 JQuery는 쉽게 수정할 수있는 음향 드라이버입니다.