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를 압축 된 시스템에서 읽을 수있는 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 closure compiler uses JSDoc
documentation system which simultaneously (if created by the programmer correctly) provides documentation and enables catching many errors at compile time.
while function names are more verbose than jQuery
's, the compiler shrinks the code (using various optimization tactics) and the type checking will save a considerable time debugging the code, so time typing in the longer names is probably not an issue. At the same time longer names add readability.
library supports browsers running in the quirks mode so that scripts could be embedded by other sites using "quirky" html
library works with (but does not depend upon) a javascript templating system called soy
that simplifies filling documents with content.
like jQuery
google closure
allows traversing dom structure with the string-based queries using a dedicated component of the library.
closure
library relies on dot-delimited namespaces more like Java
- a very strong organizational feature.
using such namespaces will incur overhead in uncompiled code, but in the compiled code those things are replace with short variable names.
I just posted a pretty exhaustive article about Google Closure which answer this question on insideRIA.
...Closure rulez! ^_^
Maybe I'm not getting jQuery, but I haven't seen a real UI widgets collection there (there are plugins, yes, but you never know how well-tested they are and often there is no clear winner and/or the plugin lacks documentation).
Closure has, among other things, a widgets collection (see the demos tab), including, say, imageless buttons used in gmail.
More generally, it has more functionality implemented as part of the release. It may not be a big thing, but I get annoyed with the sea of jQuery plugins when I'm looking for something as simple as a ajax history module or autocomplete.
Overall it's a huge library + set of tools and I'll be getting acquainted with it just to know what's available.
I appreciate most of Google's contributions to the open source community and I'm sure it's got some cool stuff but overall I find Closure bulky, overwrought, and inelegant. If you must turn everything into Java I suppose it's downright spiffy.
Edit:
Fair enough. I didn't really compare. Closure is like a giant warehouse with every possible tool you could possibly want located... somewhere. Sort of like .NET or a massive Java library. Once you find what you need, you can find highly specific stuff that does highly specific jobs. And then for production you can remove all the cruft.
JQuery on the other hand, is more of an easily modified sonic screwdriver.
The Google Closure Library allows you to compile and optimize your JavaScript. It's not a library like jQuery is. jQuery is something that provides you with functions that allow you to write your own javascript faster.
Google Closure would help you make your own javascript code minimized to allow for a speedier delivery over the Internet.
Long story short, Google Closure is a tool while jQuery is a library similar to Prototype.
참고URL : https://stackoverflow.com/questions/1690197/what-does-google-closure-library-offer-over-jquery
'IT' 카테고리의 다른 글
Python의 zip 함수와 동등한 Javascript (0) | 2020.05.14 |
---|---|
파이썬에서 객체가 얼마나 많은 메모리를 사용하고 있는지 알아보십시오 (0) | 2020.05.14 |
자바 대표? (0) | 2020.05.14 |
TensorFlow에서 Session.run ()과 Tensor.eval ()의 차이점은 무엇입니까? (0) | 2020.05.14 |
ImageView 및 TextView를 포함하는 LinearLayout 대신 복합 드로어 블을 사용하는 방법 (0) | 2020.05.14 |