2012-12-11 1 views
4

레일. 문제는 jQuery가 필요한 모든 것이기 때문에 사용하기에 과도한 것처럼 보입니다. 나는 거기에 더 가벼운 접근 방식이 있다고 생각하고 있었고, 약간의 가벼운 javascript 라이브러리 (또는 전혀 사용하지 않음)를 사용하기 위해 UJS를 대체 ​​/ 재 작성하고 여전히 올바르게 작동하도록 생각했습니다.내가 "원격"링크 및 양식 (AJAX 트리거)에 꽤 많이 달려 레일로 작성된 응용 프로그램을 최적화하기 위해 노력하고있어 원격 jQuery를하고 UJS없이 링크와 대안

+0

내가 우리 개발자들에게 JQuery와 사용할 수없는함으로써 실수 임시 jQuery 코드를 방지하고자하는의 관점에서이에 관심이 사용자 정의 드라이버를 지원/개발/디버깅을 보낸다. –

+0

는 @GabeKopley 아니라, 당신은 AJAX 핸들러를 구축 체크 아웃 http://youmightnotneedjquery.com/으로 시작할 수 없습니다 열심히, 그리고 함께'documentQueryAll' 당신은 꽤 멀리 – Phortuin

+0

당신이 knockout.js에 봤어 온거야? –

답변

1

레일 3.0 이후 ActionView 헬퍼는 돌출 인라인 자바 스크립트를 생성하지 않습니다. Ajax 요청을 만들기 위해 알아야 할 것은 생성 된 DOM에 포함되어있다. 그래서 당신이 선호하는 자바 스크립트 라이브러리를위한 ujs 드라이버를 만들 수 있습니다.

그러나 개인적으로 저는 이것을하지 않습니다. JQuery는 그렇게 큰 과잉은 아니다. 그리고 사용자가 일부 CDN에서 페이지에 링크 할 수 있다는 사실과 이전에 사용자 브라우저에 캐시 된 jquery의 확률을 고려할 때 JQuery를 제거하면 얻을 수있는 이점은

+0

당신이 바로, 그것은 단지 그것의 10 % 전체 라이브러리를 사용 _wrong_ 보인다 TomažZaman @ 기능 –

+2

의 내가 크 누스가 가장 ... ""프로그래머는, 시간의 엄청난 양에 대해 생각하거나 걱정 중요하지 않은 속도를 낭비했다 생각 이러한 프로그램의 일부는 디버깅 및 유지 관리를 고려할 때 실제로 부정적인 영향을줍니다. 우리는 시간의 약 97 %를 차지하는 작은 효율성을 잊어 버려야합니다. 조숙 한 최적화는 모든 악의 근원입니다. 그러나 중요한 3 %에서 기회를 포기해서는 안됩니다. "jQuery를로드하거나 CDN에서로드하는 경우 걱정할만한 문제가있을 것입니다. :) – engineerDave

+0

@engineerDave의 정답에서 배우십시오. 성능 문제를 측정 할 수 있습니다. 사용자에게 가장 중요한 것인가를 결정하는 데 매우 좋은 첫 번째 단계입니다. 문제가되는 것이 "옳은가"또는 "잘못된 것"에 상관하지 않습니다. 많은 사람들이 두뇌를 가지고 있습니다. 사용자가 실제로 필요로하는 것을 수행하는 데 시간과 노력을 들여서 일을 바로 잡으려고 노력하십시오. Google의 "조기 최적화"는 지금까지 응답에서 청취해야하는 내용을 덜 정중하게 보여줍니다. –