2011-04-06 2 views
1

다음은 내가 구상중인 것입니다. 데이터베이스 (SQL Server 2008 공간 유형/쿼리를 광범위하게 사용)를 가져옵니다. 저장소 패턴을 기반으로 데이터 액세스를 작성하십시오. 컨트롤러가 매우 "발견 가능한"URL 스키마 (/ Products/TVs/Sony/27in/All 등)를 기반으로 JSON 데이터를 반환하도록 설정합니다.ASP.NET MVC 3에서 jQuery JSON 요청을 "페이지가없는"디자인으로 사용하는 API 기반 디자인의 단점은 무엇입니까?

대부분의 js 코드가 클라이언트 측에서 캐시되도록 뷰 사이에서 공유되는 별도의 파일로 코어 JavaScript 프레임 워크를 빌드하십시오.

핵심 프레임 워크 메소드를 사용하여 검색 가능한 URL을 호출하고 JSON 호출을 통해 데이터를 가져온 다음 MS jQuery 템플릿을 사용하여 클라이언트에서 렌더링합니다.

가능한 경우 데이터베이스 호출을 피하기 위해 서버 호출 (ala 출력 캐싱)이 가능한 한 많이 캐시됩니다.

이렇게하면 컨트롤러에서 발생했던 저장소 호출 중 많은 부분이 코어 프레임 워크를 사용하여보기에서 발생하고 있다고 생각합니다. 서버에서 많은 부하를 제거하고 고객에게 일하십시오.

이 디자인에 대한 경험이 없으므로이 디자인의 단점은 내가 예상하지 못했습니까? 이런 종류의 주제에 대해 좋은 기사가 있습니까? 나는 a bit on ZURBlog을 발견했다.

+2

인트라넷 응용 프로그램에서이 기능이 멋지다고 생각하지만 공개적으로 마주 치는 사이트에서는 잘 작동하지 않을 것이라고 생각합니다. – Ryan

+0

Dag nabbit ... 나는 그것이 사실이라고 생각한다. 그러나 제로 그것이 내가 좋겠다고 생각하는 방법. 아 글쎄, 나는 아직도 이런 식으로 스트랩 OAuth를 구현할 수있을 것이라고 생각한다. 그리고 그것을 선택된 서드 파티 개발자들이 활용할 API라고 부른다. ;) – Chaddeus

+0

자바 스크립트 무거운 경로를보고 싶다면이 라이브러리를 체크 아웃해야합니다. http://stackoverflow.com/questions/5112899/knockout-js-vs-backbone-js-vs – Ryan

답변

5

명백한 단점은 Javascript에 100 % 의존하고 있다는 것입니다.

먼지가 많은 곳이나 자바 스크립트 기능이 제한적인 클라이언트를 떠날 수 있습니다.
귀하의 사이트는 아마도 HTML 버전도 제공하지 않는 한 검색 엔진에서 그다지 잘하지 못할 것입니다.
접근성 문제가있을 수 있습니다.

순수한 자바 스크립트 사이트는 가능하지만 웹의 기준은 여전히 ​​HTML입니다. 기본 HTML 페이지부터 시작하여 자바 스크립트 및 JSON 전용 데이터 전송을 사용하여 점진적으로 향상시켜 더 빠른 페이지로드를 제공 할 수 있습니다.

+0

분명히 유효한 포인트입니다. 따라서 순수한 성능에 대한 사고 방식에 쉽게 접근 할 수 있습니다. 내 트래픽의 거의 90 %가 페이스 북에서 유래했지만 검색 엔진 트래픽을 배제하고 싶지 않은 SEO 사람은 살인자 다. 나는 네 말이 맞다고 생각하는데, 하이브리드 구조가 가장 좋을 것 같다. Google이 기존 html "페이지"에 동적으로로드되는 jQuery 템플릿 HTML을 색인 할 수있는 방법이 있습니까? – Chaddeus

+0

@Chad 나는 검색 엔진이 실제로 Javascript를 실행하지 않는다고 생각하기 때문에 검색 엔진을 통해서만 기본적으로 검색 할 수 있습니다. – deceze

+0

예, Google에서 색인 생성 할 수있는 방식으로 ajax 페이지를 작성하는 방법에 대한 기사를 읽었지만 회상 적으로 보입니다. 아마도 하이브리드 디자인을 고수하거나 크롤러에게 순수한 HTML 방식으로 표시되는 뷰를 만들지 만 방문자는 Google의 법을 위반하지 않는 방식으로 자바 스크립트 버전을 얻습니다. – Chaddeus

관련 문제