2012-02-11 1 views
1

개인적으로 Coffeescript는 괜찮습니다.하지만 저는 오히려 그것이 내 Rails 앱에서 지원하는 플레이어가 될 것이며, 대부분의 논리는 아닙니다. 내가 볼 수 있듯이 Rails에서 Backbone.js 또는 Spine.js를 사용할 때 많은 논리를 복제해야합니다. 이러한 프레임 워크의 이점을 얻거나 rack-pjax를 사용하여 실시간 업데이트를 위해 기본적으로 js가있는 단일 페이지 응용 프로그램을 만들 수 없습니까?하나의 페이지 앱에 대해 Rails에서 Backbone.js 또는 Ember.js와 같은 MVC 프레임 워크가 정말로 필요합니까?

+0

"필요하십니까?" 아니요, Javascript는 MVC없이 작성되었으며 작성되었습니다. 그것은 유익 할 것인가? 혹시. 너에게 잔인한가요? 아무도 말할 수 없지만 당신. – deceze

+0

다른 옵션은 App Engine, Pyjamas, Cappuccino입니다. 일반적으로 단일 페이지 웹 응용 프로그램은 더 큰 프레임 워크를 사용하여 수행됩니다. 당연히, 당신의 자신을 쓰는 것이 더 쉬운 경우에 1 개 그것을 배우기! 또는 단일 페이지 응용 프로그램이 비교적 간단하다면 javascript와 ajax를 사용하십시오. –

답변

1

그럼 무엇을하고 싶습니까? 더 이상 페이지를 새로 고칩니다. 이 경우 rack-pjax가 작동해야합니다. 더 빠른 속도의 응답 성 UI를 원한다면 좋은 해결책이 아닐까 걱정됩니다.

단일 페이지 응용 프로그램은 서버의 부하와 복잡성을 심각하게 줄이기 때문에 선호됩니다 + viewlogic & serverlogic 사이에는 멋진 추상화가 있습니다.

서버는 기본적으로 API가되며 클라이언트는 모든 API 데이터를 브라우저에 렌더링합니다. 이렇게하면 서버가 크게 단순화되고해야 할 작업이 훨씬 적습니다. (승리!)

클라이언트 측면에서 우리는 많은 개선 사항을 볼 수 있습니다. 올바르게 완료되면 데이터에 대한 이벤트 및 상태 변경을 기반으로 지속적으로 자신을 다시 나타냅니다. 이러한 접근 방식은 UI 레이어에서의 커플 링 (및 복제)을 줄이고 사용자를 위해 반응 형 UI를 제공합니다. (승리!)

을 그 단일 페이지 응용 프로그램에 기존 서버 - 사이드 뷰 렌더링 응용 프로그램을 다시 작성하더라도 그 다음 가서 pjax :

염두에 두십시오 사용에 대해 많이 신경 쓰지 않는 경우 JS 프론트 엔드를 사용하는 것은 까다로운 사업입니다. 아마 대대적 인 재 작성으로 끝날 것입니다. JS 프론트 엔드에 페이지의 일부만 작성하여 실험 해 볼 수도 있습니다.

+0

클라이언트 쪽 렌더링은 일반적으로 서버 쪽 렌더링을 대체하지 않습니다. 그것만 거울. 오래된 브라우저를 신경 쓰지 않고 검색 봇에서 크롤링 할 수 없다면 말입니다. – devth

+0

요즘에는 https://github.com/airbnb/rendr와 같은 솔루션이 있습니다. 아직 사용하지 않았다. – SpoBo

+0

요구 사항에 따라 다릅니다. 내용이 무거울 경우, 그렇습니다. 미러링해야합니다 (pjax가 더 좋은 시나리오입니다). 웹 앱이라면 오래된 브라우저 나 서재를 조이십시오.필요 없음. 대부분의 구형 브라우저는 더 이상 지원되지 않습니다. 그것은 오래된 주장입니다. – Oddman

0

rack-pjax는 브라우저가 요청할 때마다 페이지를 새로 고치는 것을 방지하지만 서버는 요청할 때마다 전체 HTML 페이지를 계속 보내고 있습니다. 귀하의 목표가 페이지 새로 고침이없는 "단일 페이지"응용 프로그램 인 경우, rack-pjax가 작동하지만로드하는 대신 JSON을 처리하는 프레임 워크를 사용하면 많은 대역폭을 절약하고 응답 성이 뛰어난 응용 프로그램을 만들 것입니다. 전체 페이지

간단한 앱의 경우 백본 또는 척추와 같은 것으로 시작하는 것이 좋습니다. 더 복잡한 애플 리케이션을 위해, 당신은 빨리 그 작은 프레임 워크로 많은 상투적 인 코드를 작성하고 Ember 또는 Cappuccino와 같은 것이 당신을 위해 무거운 짐을 처리하는 것이 더 나을 것입니다.

단일 페이지 응용 프로그램을 원한다면 논리의 일부 또는 대부분이 javascript로 직접 작성되거나 coffeescript로 작성되고 javascript로 컴파일 될 것입니다. 물론 서버에서 특정 로직이 필요합니다 (유효성 검사와 마찬가지로 JS 코드의 유효성 검사 로직을 사용하더라도 사람들이 서버에 불량 데이터를 보내고 보낼 수 있음).

관련 문제