2010-12-05 6 views
6

JQuery를 사용할 수 있다면 전문적인 웹 개발자/사이트 제작자가 되려면 Javascript로 직접 DOM 조작을 배울 필요가 있습니까?웹 개발을위한 JavaScript DOM 메소드를 배울 필요가 있습니까? 이제 jQuery 외가 있습니까?

아마도 Prototype, MooTools 등에서 물어볼 수는 있지만 이름과 별개로 익숙하지 않습니다.

+2

스크립팅 언어의 가용성을 고려할 때 CPU 아키텍처에 대한 지식이 더 이상 필요하지 않습니까? –

+1

알고리즘을 잘 설계하려면 지식이 필요합니다. – Lockhead

+1

전문 개발자가 다른 개발자의 도움을 받아야하고 장님이 될 수 있습니까? –

답변

5

참고 :이 질문은 너무 내 대답은 초기 질문 반영 고쳐했지만, 난은 추가에 보관.

절대적으로입니다. Jquery 자바 스크립트는 브라우저 간 DOM 불일치를 추상화하지만 동일한 구문 분석 오류, 범위 오해 등이 여전히 발생하기 쉽습니다.

기본적인 DOM 지식이나 필요한 자바 스크립트 지식을 모른 채 jQuery를 사용하면 위험하다고 생각합니다. 그런 강력한 방법을 모르고 우연히 발을 쏠 수있는 어린이에게 매우 강력한 총을주는 것과 같습니다. 적절한 방법으로 도구를 사용하십시오.

jQuery로 직접 가르치는 사람은 던져진 오류가 DOM의 내용을 참조하는 경우 문제를 디버깅하는 방법을 전혀 알지 못합니다. 이 고유의 jQuery 오브젝트가 작성되기 때문에 false를 반환

if ($('a.current') == $('a.current')) { } 

: 요소가 (현재 상태와 같은 것들에 대한) 또 다른 요소가 있는지 비교 같은 간단한 들어, 그들은 어쩌면 같은 것을 시도 할 것이다. DOM 노드에 대한 참조를 가져 오는 방법을 알고 있다면 그들은 방금 $('#el')[0] == $('#el')[0]을 수행 할 수있었습니다.

언제든지 jQuery 플러그인을 사용하여 DOM을 사용하지 않고 신비한 행동을하면 언제든지 다른 사람을 의지해야합니다. DOM 지식이있는 개발자는 문제의 근원을 디버그하고 알 수 있기 때문에 jQuery 토지에서 당혹감을 느끼는 데 더 많은 시간을 할애해야합니다.

평범한 joe jQuery 개발자가 아닌 높은 지식 수준에 도달하려면 DOM 불일치와 Javascript에 대한 광범위한 지식이 필요합니다. 그렇지 않으면 일반적으로 기술 수준이 제한됩니다 엄청난 차이가있다.

잠깐 동안 Stackoverflow를 고수하면 쉬운 문제를 해결하는 데 필요한 기본적인 JS/DOM 지식이 부족한 일상적인 질문을 볼 수 있습니다.

+0

나는 자바 스크립트 문법이 아닌 DOM을 직접 조작하는 법을 알고 있었다. – baruch

+4

감히 나는 악명 높은 [-1, 충분하지 않은 jQuery] (http://www.doxdesk.com/img/updates/20091116-so-large.gif)에 링크되어 있습니까? ...예. 네 저도 그렇습니다. –

+0

큰 링크 @David +1. 나는 그것을 본 적이 없다. 나는 실제로 큰소리로 웃었다. – baruch

1

jQuery를 당신을 위해 간단하지만, jQuery를 호출 조금 더 빨리 일을 할 수있는 기본 자바 스크립트의 지식 것을 아주 많은 것들이있다 :

$('<div />').appendTo($('body')); 

$(document.createElement('div')).appendTo($('body')); 

모두 동일합니다, 후자는 jQuery가 document.createElement()을 대신하여 호출하는 대신 JavaScript를 직접 사용하기 때문에 더 빨라집니다 (밀리 초 단위 임에도 불구하고). 다시 말하지만, 이것은 입니다. 우스운 마이크로 최적화는입니다.

다른 예로는 Date, Mathstring 개체/기능으로 작업하고 있습니다. jQuery는 이것들에 대한 대체물을 구현하지 않습니다 (현명하게도 이미 사용하기 쉽기 때문에).

+0

나는 자바 스크립트 구문이 아닌 DOM을 직접 조작하는 방법에 대한 지식을 말했습니다. – baruch

+0

"후자는 더 빠른 그늘입니다"- 항상 그렇습니까? 항상 그럴 것입니까? ** 입증되지 않은 최적화 경고 ** –

+3

@Paul, 아마도 ** 항상 **는 아니지만 일관되게 지금까지 내 테스트에있었습니다. 그래도 한 가지 데모에만 연결할 수 있습니다. [JS Fiddle demo of assertion] (http://jsfiddle.net/davidThomas/57fvJ/). 또한 ** ** 매우 어리석은 마이크로 최적화 **라는 것이 분명해졌습니다. –

2

경우에 따라 DOM 조작 라이브러리의 오버 헤드를 원하지 않을 수도 있습니다.

예. 모바일 개발의 경우 모바일 인터넷 연결은 아직 조금 느리다. 따라서 라이브러리를 버리고 고유 DOM 코드로 이동하여 대역폭을 절약 할 수있다. (모바일 기기는 현재 자바 스크립트 실행 속도가 데스크톱 컴퓨터보다 느리기 때문에 약간의 실행 시간을 절약 할 수 있습니다.)

하지만 시간이 지남에 따라 기기, 라이브러리 및 인터넷 연결 속도가 모두 빨라야한다고 생각합니다. 주류의 일상적인 웹 개발에서 직접적인 DOM 스크립팅을 많이하지는 않을 것입니다.

2

당신이 기본 기초를 배울 싶지 않은 경우는, 반드시 당신이 당신이 도움을 울고 싶다면 반드시이 ....
이다, 재료가 어떻게 작동하는지에 관심이 있다면
입니다 :) jQuery의 한계에 도달 할 때마다, 확실하다!
여기 당신에게 간단한 질문에 대답 명에 의존 할 경우, 반드시 그것입니다 : D (우리를 위해 담당자가 ...)

"바보가 현명한 사람이 요구 궁금해."

즉, 사용하는 도구가 어떻게 작동하는지 확인하십시오. 그렇지 않으면 끔찍한 의존성이 생깁니다.

2

jQuery와 같은 라이브러리를 사용할 수 있습니다. 자바에 대한 지식이 거의없고 DOM에 대한 지식이 거의 없지만 라이브러리를 사용할 수있는 경우에만 사용할 수 있습니다. 당신은 다른 사람들이 당신보다 먼저 한 일을 할 수있을 것입니다.

기본 시스템 작동 방법을 알면 라이브러리를보다 효율적으로 사용할 수 있습니다. 라이브러리가 무엇을 다루어야 하는지를 알면 라이브러리를 사용하는 특정 방법에 대해 성능 차이가 큰 이유와 왜 어떤 것이 전혀 작동하지 않는지를 알 수 있습니다.

관련 문제