최신 웹킷 전용 웹 애플리케이션에서 jQuery를 사용하는 것이 이치에 맞습니까?


9

최근에 Android (2.3+) 및 iOS (4+) 용 모바일 웹 앱을 개발 중입니다. 브라우저는 대부분의 ECMAScript5를 지원하며 매우 강력하며 가능한 경우에만 jQuery를 사용하여 언어 기능을 사용하고 싶었습니다.

내가 jQuery를 사용하는 유일한 방법은에 대한 더 짧은 대안을 갖는 것입니다 document.querySelectorAll. 그것을 제거 할 수도 있습니다.

최신 WebKit 브라우저 만 지원해야하는 경우 jQuery (및 기타 범용 라이브러리)를 제거하는 것이 좋습니다. 그들은 결국 간접 계층입니다.

(앱은 지금까지 AJAX를 호출 할 필요가 없습니다. 추악한 것 중 하나 일 것입니다.하지만 jQuery를 유지하는 것이 가치가 있습니까?)


1
관련 : gist.github.com/1455456 ;) XHR의 경우이 헬퍼를 제안합니다 . 그것은 당신에게 대답하지 않지만 당신은 내 요점을 얻습니다.
Florian Margaine 2018 년

답변:


8

아니요, 말이되지 않습니다.

jQuery는 부풀린 라이브러리입니다. 누구나 알고 있습니다. 그리고 모두가 그것을 사용하는 드문 크로스 브라우저 라이브러리 중 하나이기 때문에 그것을 사용합니다 ( framework을 말하지 않았다는 점에 유의하십시오 ).

레거시 브라우저를 지원하지 않아도되는 경우 jQuery가 필요하지 않습니다.

QSA 단축키 또는 XHR 도우미와 같은 작은 요구 사항은 얇습니다 . 이러한 객체를 통해 쉽게 추가 할 수 있습니다 .

그런 다음 API가 마음에 드시면 가십시오. 그러나 필요하지 않습니다.

일부 사람들은 다음을 선호한다는 것을 이해할 수 있습니다.

$( '.table' ).addClass( 'active' );

(사용에 의해 )

[].forEach.call( By.qsa( '.table' ), function( table ) {
    table.classList.add( 'active' );
} );

나는 두 번째 방법이 더 명백하다는 것을 알았습니다. 그것은 선호의 문제입니다.

또한 코드가 나중에 레거시 브라우저 (또는 다른 비 웹킷 / 매끄러운 모바일 브라우저)로 이식 될 가능성이있는 경우 jQuery를 사용하십시오. 나중에 두통이 줄어 듭니다.

관련 : https://softwareengineering.stackexchange.com/a/148536/42132


3
이 25 번 수행했다면 (addClass x25는 아니지만 다른 유사한 사례가 많이 있습니까?) 읽을 코드가 너무 많기 때문에 읽기가 점점 어려워집니다.
Esailija 2016 년

나는 그것을 읽기가 더 어렵다는 것을 알지 못한다. 선호의 문제.
Florian Margaine 2016 년

3
레거시 브라우저를 지원하는 것 외에 jQuery를 사용해야하는 다른 많은 이유가 있다고 생각합니다. 나는이 대답에 대한 의견이 매우 주관적이며 사실보다는 선호에 기초한 것으로 보지 않는다.
Michael Durrant 2016 년

@MichaelDurrant 예, API의 jQuery 사용법은 매우 주관적이며 선호도에 따라 다릅니다. 이 대답에서 내가 말한 것입니다.
Florian Margaine 2016 년

"모두 알고있다"-흠, 이것은 반론을 낙담시키는 것처럼 보인다. jQuery는 많은 가치를 가지고 있습니다 : decadecity.net/talks/what-has-jquery-ever-done-for-us
elias

8

나는 여전히 가치가 있다고 생각합니다. jQuery는 코드를보다 간결하고 읽기 쉽게 효과적으로 만들어 개발 속도를 높이고 유지 보수 횟수를 줄입니다 (경험이있는 경험을 고려함).

jQuery가 너무 무거운 경우 Zepto 를 사용해보십시오. 이는 jQuery를 대체하는 가벼운 대안입니다.


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