Zepto와 jQuery 2의 차이점은 무엇입니까?


81

두 가지 유사한 프로젝트가 있습니다.

Zepto.js

Zepto는 주로 jQuery와 호환되는 API가있는 최신 브라우저를위한 최소한의 JavaScript 라이브러리입니다.

jQuery 2.0

jQuery 2.0 베타 : IE 6, 7 또는 8을 지원할 필요없이 더 빠르고 더 작게 만들 수있는 jQuery는 미래에 대한 취향입니다. 플랫폼 별 HTML 애플리케이션을위한 훌륭한 선택입니다.

이것은 성능에 관한 것입니까, 아니면 다른 접근 방식을 따르나요?


3
jQuery에서 Zepto로 전환하려는 경우 : blog.pamelafox.org/2011/11/porting-from-jquery-to-zepto.html
Aurelio

37
이것은 특정 프로그래밍 문제에 대한 유용하고 흥미로운 관련 질문입니다. 폐쇄 된 이유는 무엇입니까? 그것은 "사용의주의 사항은 무엇인가" "더 나은 인"은 아니지만
벤자민 Gruenbaum

답변:


52

Zepto.js와 jQuery의 주요 차이점은 jQuery의 ~ 80kb 대신 Zepto.js의 ~ 20kb (축소, 압축되지 않음)의 각 파일 크기와 jQuery의 ~ 30kb 대신 Zepto.js의 ~ 10kb (최소화, Gzipped)입니다. 또한 Zepto의 브라우저 지원 IE<10은 부족하거나 보장되지 않으며 대상 플랫폼 은 다음과 같습니다.

  • Safari 5 이상 (데스크톱)
  • Chrome 5 이상 (데스크톱)
  • Mozilla Firefox 4 이상
  • iOS 4+ Safari
  • Android 2.2 이상 브라우저
  • 기타 WebKit 기반 브라우저 / 런타임
  • webOS 1.4.5+ 브라우저
  • BlackBerry Tablet OS 1.0.7+ 브라우저
  • Amazon Silk 1.0 이상
  • Opera 10 이상
  • Internet Explorer 10 이상

14
jquery 2는 ~ 30kb이고 zepto는 둘 다 gzipped 및 축소 될 때 ~ 10kb입니다. gzipped가 아닌 jquery 2는 여전히 ~ 80kb이고 zepto는 ~ 30kb입니다.
asparagino

-1. 아스파 라기 노가 지적했듯이 MHD의 숫자는 정확하지 않습니다. 그의 대답은 유효합니다.
Jason

4
Zepto와 jQuery는 모두 사용자 지정 빌드를 지원하므로 둘 중 하나의 주방 싱크 크기가 그렇게 중요하지 않을 수 있습니다. 차이점은 jQuery는 더 나은 지원과 성능을 가지고 있으며 더 자주 업데이트되며 더 활발한 커뮤니티를 가지고 있다는 것입니다. Zepto의 매력은 Zepto가 한 번 채워 졌던 틈새를 덮는 jQuery 2.0으로 인해 크게 감소했습니다.
John-David Dalton

23

jquery 2는 ~ 30kb이고 zepto는 둘 다 gzipped 및 축소 될 때 ~ 10kb입니다. gzip으로 압축되지 않았지만 축소 된 jquery 2는 ~ 80kb이고 zepto는 ~ 30kb입니다.

분석 프로그램을 사용하여 사이트의 대상을 확인하십시오. 상당수의 사용자가 IE9를 사용하는 경우 jquery가 필요하며 zepto는 작동하지 않습니다. 몇 퍼센트 이상이 IE8 이하를 사용하고 사이트없이 버틸 수없는 경우 jquery 1을 사용해야합니다. 마지막 항목을 대상으로하는 경우 죄송합니다. 새롭고 반짝이는 장난감이 많이 있습니다. 당신을 위해 작동하지 않습니다.

android / ios / phonegap 등을위한 html5 앱을 빌드하는 경우 주로 웹킷을 대상으로하므로 zepto는 큰 크기 절약을 제공합니다. zepto가 존재하는 주된 통찰력과 이유는 웹킷 만 플랫폼에서 실행될 때 많은 jquery의 크로스 플랫폼 해결 방법이 단순히 불필요하다는 것입니다.

Zepto는 또한 모바일 개발자를 지원하기 위해 몇 가지 터치 이벤트 핸들러를 추가하지만 주로 고려해야 할 페이지 가중치 대 플랫폼 지원입니다.


1
당신은 다음 중 하나의 플랫폼을 선택하는 경우 아마도 크로스 플랫폼 해결 방법 : 불필요
롭 그랜트

Zepto는 ~ 25kb에 가깝습니다.). 또한 필요한 최소 크기로 라이브러리를 다시 패키징하는 빌드 지침이 있습니다.
Jason

나는 당신이 압축되지 않았지만 축소 된 빌드에 대해 이야기하고 있다고 가정한다. 이것은 내가이 글을 쓴 이후 8 개월 동안 실제로 몇 kb 이상 변동하지 않았다. 그래서 ... 25kb는 ~ 30kb입니다 : P
asparagino

14

이것은 다소 오래된 질문이지만 성능을 추가하고 싶습니다. 내가들은 바에 따르면 Zepto는 jQuery보다 더 잘 수행했습니다.

jsPerf 는 다른 결과를 보여줍니다. Zepto에 비해 jQuery의 클래스 선택 (단일 요소)을 137 % 더 자주 사용할 수 있습니다. ID 선택을 위해 jQuery의 285 %를 자주 사용할 수 있습니다.

이는 대부분의 애플리케이션에서 고려할 때 엄청난 문제입니다. DOM 상호 작용은 중요한 유일한 성능 통계입니다 (네트워크 요청 제외).

또한 그 성능을 살펴보면 document.getElementsByClassNAme을 jQuery만큼 자주 8326 % 할 수 있다는 것을 알 수 있으므로 가능하면 모두 버려야합니다. :-)


3
그것은 Zurb의 사람들이 말하는 것이 아닙니다. CSS 프레임 워크에서 Zepto를 삭제 한 이유 중 하나는 Zepto의 파일이 더 작더라도 jQuery가 Zepto를 능가했기 때문입니다. 다른 이유는 많은 플러그인이 jQuery 용으로 작성 되었기 때문입니다. 블로그 게시물 확인 : zurb.com/article/1293/why-we-dropped-zepto
Ricardo Zea

2
@ricardozea,이 답변과 그 기사는 동일한 것을 말합니다 : jQuery는 선택기를 사용하면 더 빠릅니다. 그러나 명확하게 말하자면 라이브러리를 완전히 테스트하려면 약 100 개의 jsperfs가 필요하고 통계학자를 고용하여 평균 사이트와 일반 사용자에게 어느 것이 평균적으로 더 빠른지 결정해야합니다.
Brigand 2014

1
" ... Zepto가 jQuery보다 더 잘 수행되었습니다 ."라고 말하고 있습니다. 예, jQuery가 더 빠르다는 데 동의합니다.
Ricardo Zea 2014

1
heh Nope :-) 그게 내가 말한 것입니다. 내 발견은 jQuery가 더 빠르다는 것입니다 (적어도 선택기가 있음).
Brigand 2014


3

웹으로 빠르게 전환하는 데 zepto를 사용한 적이 없다고 생각합니다. 얼음 동굴 깊은 곳을 살펴보세요. 현명하고 강력한 Yeti는 사람들이 "Zepto가 어디로 갔습니까?"라고 묻는 것을 들었습니다. Foundation 4가 구상되었을 때 우리는 더 작은 파일 크기와 더 빠른로드 시간을 위해 Zepto (jQuery 옵션 포함)로 전환했습니다.

그러나 시간이 지남에 따라 파일 크기가 작아도 전체적인 성능이 향상되지는 않음을 발견했습니다. 물론입니다. Zepto는 빠르게 다운로드되었습니다. 그러나 일단로드되면 jQuery만큼 빠르지 않았습니다. 많은 타사 플러그인이 Zepto가 아니라 jQuery를 필요로한다는 것은 도움이되지 않았습니다. 실제로 일부 타사 JavaScript가 Zepto와 완전히 충돌하는 것을 발견했습니다.

다른 코드베이스를 유지하는 것도 우리에게 쉽지 않았습니다. 예를 들어 Zepto에는 적절한 높이 계산 기능이 없기 때문에 특정 그리드 계산이 어렵습니다.

이 모든 것을 해결하기 위해 답은 히말라야 봄의 하늘처럼 분명했습니다. Foundation 5는 jQuery 2를 사용합니다. 더 나은 속도와 업계 수용 외에도 jQuery 2는 더 나은 문서화 및 지원의 혜택을받습니다. jQuery는 API와 호환됩니다.

**

그러나 우리는 Zepto가 jQuery보다 빠를 것이라고 가정했습니다. 우리는 동일한 가정을 두 번하고 싶지 않았기 때문에 Zepto와 jQuery 2를 테스트했습니다. 결과 : jQuery 2는 초당 더 많은 작업을 수행합니다. 이는 Foundation 5의 성능을 향상시켜 모든 사용자에게 더 나은 경험을 제공합니다.

**

결국, 우리는 사람들이 훌륭한 제품을 더 빨리 디자인 할 수 있도록 돕고 싶습니다. 이번에는 세계에서 가장 반응이 빠른 프런트 엔드 프레임 워크 자체에 속도를 높여줍니다.


성능이 너무 걱정된다면 왜 jQuery를 사용하고 있습니까? 물론 jQuery는 Zepto보다 더 나은 성능을 가지고 있지만 jQuery의 성능은 VanillaJS에 비해 형편 없다. 기본적으로 VanillaJS는 jQuery의 더 우수하고 우수한 버전입니다. 고성능 최적화 기능의 방대한 라이브러리가 깃털처럼 가벼운 패키지에 함께 모여 있다고 상상해보십시오. 이것이 VanillaJS의 힘입니다. 나는 그것을 시도하는 것이 좋습니다.
Jack Giffin

1

내가 읽은 바에 따르면 사람들은 Zepto에 크게 의지하는 것 같습니다. 가장 일반적인 이유는 파일 크기이지만 실제로 jQuery 2는로드 된 후 Zepto보다 빠릅니다. 또한 대부분의 사람들이 jQuery를 중심으로 개발하기 때문에 Zepto에 대한 지원을 많이 찾지 못할 것입니다. Zepto를 사용하지 말라고 제안하는 것은 아니지만, 사용하려는 이유와 다른 JavaScript 라이브러리를 사용하고 있는지 여부를 조사해야합니다.

나는 그것이 당신의 프로젝트에 달려 있다고 말할 것입니다. 개인 또는 제한된 사용을 위해 Zepto가 더 나은 옵션 일 수 있습니다. 그러나 jQuery는 다른 라이브러리에서 훨씬 더 많이 지원되며 파일 크기가 이유를 결정하는 유일한 요인이라면 결함이 있습니다. 자바 스크립트는 페이지가로드 된 후에로드되어야하므로 두 경우 모두 페이지로드 시간을 방해하지 않습니다.

다음 은 jQuery 1.7.2, Zepto 1.0rc1 및 jQMobi 1.03을 포함한 성능 테스트입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.