두 가지 유사한 프로젝트가 있습니다.
Zepto는 주로 jQuery와 호환되는 API가있는 최신 브라우저를위한 최소한의 JavaScript 라이브러리입니다.
jQuery 2.0 베타 : IE 6, 7 또는 8을 지원할 필요없이 더 빠르고 더 작게 만들 수있는 jQuery는 미래에 대한 취향입니다. 플랫폼 별 HTML 애플리케이션을위한 훌륭한 선택입니다.
이것은 성능에 관한 것입니까, 아니면 다른 접근 방식을 따르나요?
두 가지 유사한 프로젝트가 있습니다.
Zepto는 주로 jQuery와 호환되는 API가있는 최신 브라우저를위한 최소한의 JavaScript 라이브러리입니다.
jQuery 2.0 베타 : IE 6, 7 또는 8을 지원할 필요없이 더 빠르고 더 작게 만들 수있는 jQuery는 미래에 대한 취향입니다. 플랫폼 별 HTML 애플리케이션을위한 훌륭한 선택입니다.
이것은 성능에 관한 것입니까, 아니면 다른 접근 방식을 따르나요?
답변:
Zepto.js와 jQuery의 주요 차이점은 jQuery의 ~ 80kb 대신 Zepto.js의 ~ 20kb (축소, 압축되지 않음)의 각 파일 크기와 jQuery의 ~ 30kb 대신 Zepto.js의 ~ 10kb (최소화, Gzipped)입니다. 또한 Zepto의 브라우저 지원 IE<10
은 부족하거나 보장되지 않으며 대상 플랫폼 은 다음과 같습니다.
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는 또한 모바일 개발자를 지원하기 위해 몇 가지 터치 이벤트 핸들러를 추가하지만 주로 고려해야 할 페이지 가중치 대 플랫폼 지원입니다.
이것은 다소 오래된 질문이지만 성능을 추가하고 싶습니다. 내가들은 바에 따르면 Zepto는 jQuery보다 더 잘 수행했습니다.
이 jsPerf 는 다른 결과를 보여줍니다. Zepto에 비해 jQuery의 클래스 선택 (단일 요소)을 137 % 더 자주 사용할 수 있습니다. ID 선택을 위해 jQuery의 285 %를 자주 사용할 수 있습니다.
이는 대부분의 애플리케이션에서 고려할 때 엄청난 문제입니다. DOM 상호 작용은 중요한 유일한 성능 통계입니다 (네트워크 요청 제외).
또한 그 성능을 살펴보면 document.getElementsByClassNAme을 jQuery만큼 자주 8326 % 할 수 있다는 것을 알 수 있으므로 가능하면 모두 버려야합니다. :-)
Zepto에는 jQuery가 제공하는 지연 / 약속 API가 없습니다. 이를 해결하는 추가 기능 Simply Deferred가 있습니다 : https://github.com/sudhirj/simply-deferred .
웹으로 빠르게 전환하는 데 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의 성능을 향상시켜 모든 사용자에게 더 나은 경험을 제공합니다.
**
결국, 우리는 사람들이 훌륭한 제품을 더 빨리 디자인 할 수 있도록 돕고 싶습니다. 이번에는 세계에서 가장 반응이 빠른 프런트 엔드 프레임 워크 자체에 속도를 높여줍니다.
내가 읽은 바에 따르면 사람들은 Zepto에 크게 의지하는 것 같습니다. 가장 일반적인 이유는 파일 크기이지만 실제로 jQuery 2는로드 된 후 Zepto보다 빠릅니다. 또한 대부분의 사람들이 jQuery를 중심으로 개발하기 때문에 Zepto에 대한 지원을 많이 찾지 못할 것입니다. Zepto를 사용하지 말라고 제안하는 것은 아니지만, 사용하려는 이유와 다른 JavaScript 라이브러리를 사용하고 있는지 여부를 조사해야합니다.
나는 그것이 당신의 프로젝트에 달려 있다고 말할 것입니다. 개인 또는 제한된 사용을 위해 Zepto가 더 나은 옵션 일 수 있습니다. 그러나 jQuery는 다른 라이브러리에서 훨씬 더 많이 지원되며 파일 크기가 이유를 결정하는 유일한 요인이라면 결함이 있습니다. 자바 스크립트는 페이지가로드 된 후에로드되어야하므로 두 경우 모두 페이지로드 시간을 방해하지 않습니다.
다음 은 jQuery 1.7.2, Zepto 1.0rc1 및 jQMobi 1.03을 포함한 성능 테스트입니다.