2010-04-01 7 views
8

마지막으로 나는 jQuery이 JS 라이브러리에서 천천히 defacto 표준이되어 가고 있다고 느꼈습니다 (틀렸을 수도 있습니다!), 아니면 적어도 나머지 프레임 워크보다 활발합니다.프로토 타입에서 jquery로 이동해야합니까?

예를 들어, 나는 Componente와 같은 훌륭한 오픈 소스 달력을 찾고 있었고 http://fullcalendar.vinsol.com/은 jQuery를 기반으로합니다.

우리는 페이지가로드 될 때 JS의 일부 조각을 실행, 셀렉터 기능처럼, 아주 작은 것들에 대한 (document.getElementById에 대한 바로 가기로 $ 기능, 주로를) 프로토 타입을 사용하고 몇 가지 아주 간단한 Ajax 호출을 발행 할 수 있습니다.

그래서 이주는 꽤 솔직해야하지만 Prototype에서 jQuery 로의 마이그레이션의 장단점을 알고 싶습니다.

한편, 둘 모두 함께 사용하는 것은 좋은 선택이 아니며 특히 마이그레이션이 매우 간단해야한다는 점을 고려해야합니다. 내가 맞습니까?

편집 : 유용한 자원 :

답변

9

프로토 타입과 JQuery는 매우 유사한 필드를 포함합니다. 저는 Prototype을 저의 주요 JS 프레임 워크로 전문적으로 사용 해왔고 JQuery로 마이그레이션하고 있습니다.

  • JQuery와 빠른입니다 : 여기 왜. 프로토 타입은 으로 끝나고 모든의 성능 비교를 보았습니다 (임의 선택 here). 프로토 타입의 효과가 전반적으로 느려지는 오랜 주관적 인상을받습니다. 특히 구형 기계의 경우 더욱 그러합니다.

  • JQuery가 인기가있을뿐만 아니라 스택 오버플 로인 것으로 보입니다.즉, 지원을받는 것이 더 쉽다는 의미이며, 사용 가능한 플러그인 및 기성품 코드의 수가 훨씬 더 많습니다. 그것이 나를위한 핵심 이유는 아니지만 jQuery가 기술적으로 건전한 플랫폼이라는 전반적인 인상과 함께 선택이 분명 해졌습니다.

내 유일한 혐오는 다음과 같습니다

  • JQuery와 코드는 끔찍한 보는 경향이있다. 나는 JQuery와 그 철학을 매우 좋아한다. 매우 많이이다. 그러나 나는 종종 이 싫어서 코드를보고있다. 누군가가 JQuery의 방언을 사용하여 아름답고 구조가 단순한 바닐라 자바 ​​스크립트처럼 보이면 기꺼이 기내에 나옵니다. :) 의견을 다시

: 나는 jQuery의 코딩 스타일에 대해 좋아하지 않는 것에 대해 추가 설명.

한마디로 괄호. 수천, 수천명 :

진지하게 생각합니다. "jQuery 스타일"로 간주되는 것의 대부분은 사용하기에 전적으로 선택적인 단축키 및 약자입니다. 그래도 코드의 가독성과 유지 보수성 측면에서 볼 때 jQuery 코드 의 큰 덩어리가 많이 발견되어 읽고 이해하기가 더 어려워졌습니다 (). 그렇습니다. jQuery 경험이 커짐에 따라 훨씬 쉬워 질 것입니다. 그러나 제 외부 코드를 읽는 사람이라도 코드를 읽을 수 있어야합니다. 이와 관련하여 jQuery는 IMO에 올바른 방향으로 가고 있지 않습니다. 대부분의 코드는 보통 입니다. 현재까지이 위대한 틀에 대한 나의 유일한 주요 비판입니다.

메서드 체인, @noah, 새로운 것 같은 .delay() 또는 그 이름이 무엇인지, 나는 완전히 생각합니다. 나는 그것에 대해 아무 말도하지 않고있다.

+0

논쟁이 아니라, 단지 당신이 좋아하지 않는 코드의 어떤면이 궁금합니까? –

+0

논쟁 중 하나도 아닙니다. 그러나 Paul과 같이 놀랍습니다. – Matt

+0

jQuery를 사용하여 작성한 코드가 마음에 들지 않습니까? 예 : 메소드 체인 및 모든 것? – noah

6

지금까지 내가 아는 한, 프로토 타입 및 jQuery를 대부분 중복 제외 저것 jQuery는 주로 DOM 조작, 아약스, 이벤트 등에 중점을두고 있으며 클래스, 상속 등과 같은 Prototype의 기능을 실제로 가지고 있지는 않습니다. 그러나 이러한 것들이 필요하지 않고 프레임 워크 만 원한다면 브라우저 간 DOM 조작, 아약스, 이벤트 등에서 jQuery가 갈 길이라고 생각합니다.

+1

그러나 동시에, 나는 당신이 jQuery (실제로는)로 할 수없는 Prototype으로 할 수있는 일은 없다고 생각합니다. 그래, 직접적으로 번역하지 못하는 몇 가지 세부 사항이 있지만 프로토 타입에 다시 보내지는 문제는 아직 없습니다. – dclowd9901

+1

동의, 단지 js lib가 필요한 경우 크로스 브라우저 DOM 조작 및 아약스, jquery (IMHO) 최선의 선택입니다. –

4

둘 다 함께 사용할 수 있습니다. jQuery가로드 된 후 jQuery.noConflict();으로 전화하면됩니다. 그렇다면 $("whatever") 대신 jQuery("whatever")을 작성해야합니다. Prototype은 jQuery가 제공하지 않는 많은 기능을 제공합니다.

그러나 프로토 타입은 방해가되는 종류입니다. jQuery는 현재 왕이며, 꽤 좋은 이유가 있습니다. 최신 플러그인과 위젯을 원한다면 jQuery가이를 가지고있을 것이다.

Underscore.js은 프로토 타입과 동일한 기능을 대부분 제공하며 객체 프로토 타입과 전역 이름 공간을 사용하지 않습니다. Underscore plus jQuery는 Prototype에서 이전하는 것을 아주 간단하게 만들어야합니다.

+0

Underscore.js가 재미있어 보입니다! 링크 주셔서 감사합니다. –

2

저는 2006 년부터 Prototype을 사용 해왔고 추악한 코드에 대한 Pekka의 감정을 나타냅니다. 프로토 타입은 더욱 우아합니다.

저는 Prototype (+ Scriptaculous) 커뮤니티의 철저한 후원자 였지만 슬프게도 Prototype은 마인드 쉐어와 시장 점유율을 잃고 있습니다. jQuery에 대한 지식을 바탕으로 경력을 쌓을 수 있습니다. 프로토 타입에는 그다지 중요하지 않습니다.

jQuery를 사람들이 프로토 타입의 사람들이 더 많은 하드 코어 프로그래머 것 같다 그들이 자신을 필요 구축하는 경향이있는 반면, 그들이 어떻게 작동하는지 알지 못하고, 플러그인을 사용하여 더 행복 할 것 같다.

jQuery 로의 전환은 그리 고통스럽지 않았습니다. 이 기능은 다른 이름으로 만 동일합니다. 더 많은 문서와 샘플 코드를 사용할 수 있으므로 픽업을 쉽게 할 수 있습니다.

프레임 워크는 속도와 기능면에서 서로 도약하는 움직이는 표적입니다. 모두 개선되고 있습니다. Y가 시간이 지남에 따라 변할 것입니다.

프로토 타입의 절약 유예가 Scripty2 일 수 있다고 생각합니다. 이것은 Prototype을 사용하는 놀랍고 새로운 애니메이션 엔진입니다. 그것이 시장에 내놓는다면 (심지어 베타 버전이 아니더라도) 프로토 타입에 관심이 다시 생길 수 있습니다. 그 이상으로 나는 그것이 항상 지지자를 가질 것이지만 주류에서 사라질 것이라고 생각한다.

+0

잠시 프로토 타입을 사용했는데 정말 좋아하지만 다른 프레임 워크 (jquery와 dojo 같은)가 가지고있는 위젯과 플러그인은 다른 회사의 프레임 워크 중 하나를 위해 프로토 타입을 포기하도록 회사를 압박하고 있습니다. – tmeisenh

4

직접 질문에 답변하려면 : 예, 전환해야합니다. 네, 맞습니다.

나는 당신이 괄호를 좋아하지 않는다고 말한 것을 알고 있습니다 ... 당신은 당신이 아름답다고 생각하는 원형 코드의 스 니펫을 제공 할 수 있습니까 (jQuery itize 비교를 위해)?

0

나는 그렇게 생각한다. 나는 jquery를 종교적으로 사용하며 Javascript Pro가 아닙니다. 제 생각에는 사용하기 쉽고, 그것에 관한 가장 강력한 것들 중 하나입니다.

2

다른 작업을하고 싶다면 JQuery로 이동하십시오. prototype과 함께 아름답고 직관적 인 JavaScript 스틱이 마음에 들면 - 그게 사라지지 않을 것입니다!

관련 문제