2010-11-24 3 views
0

MVC2를 사용하여 웹 응용 프로그램을 빌드합니다. 우리 프로젝트에는 몇 가지 복잡한 페이지가 있습니다. 그들은 많은 양의 사용자 인터랙티비티, 실시간 재고 데이터 및 차트를 필요로하며 페이지를 새로 고칠 필요가 없습니다.ASP.NET MVC2를 기반으로하는 리치 클라이언트 웹 응용 프로그램의 프론트 엔드 구현에 대한 조언

프런트 엔드 개발과 ASP.NET MVC2에 익숙하지 않습니다. 잠시 동안 사용 한 후에는 프레젠테이션 레이어에 대한 양식 기반 프레임 워크라고 생각합니다 (아마도 잘못된 것입니다). 대부분의 UI 작업이 하나의 웹 페이지 내에서 수행되는 경우 아약스와 자바 스크립트를 사용하여 데이터를 렌더링하고 UI 로직을 실행하는 것이 좋습니다.

그러면 우리의 앱에서 UI를 렌더링하는 두 가지 방법이 있습니다. UI 모델을 MVC2를 사용하여 뷰에 바인딩하고 javascript를 사용하여 뷰를 채우는 것입니다. 이것은 너무 우아하지 않거나 점점 더 많은 견해가 구현되면 혼란을 야기 할 수 있습니다.

MVC2 컨트롤러가 RESTful UI 모델 데이터 제공 업체로서 좋은 것처럼 보입니다. 그래서 컨트롤러 (모델 데이터) -> HTML 레이아웃 + 자바 스크립트 (UI 로직)로 솔루션을 만드는 것이 이러한 풍부한 클라이언트 웹 앱을 구현하는 좋은 방법이 될 수 있다고 생각합니다. 그것을하는 것이 좋은 습관입니까? 또는 이런 종류의 프로젝트에 대한 귀하의 조언은 무엇입니까? 참조 용 웹 리소스 (기사 또는 샘플 프로젝트)가 있습니까?

고마워요.

답변

1

작업이 데이터 만 반환하도록하는 것은 좋지 않지만, JSonP는 경량이며 다른 도메인에서 아약스 요청을하기 위해 JSon 객체를 반환 할 수 있습니다. 새 템플릿 JQuery PlugIn을 사용하여보기를 렌더링 할 수 있습니다.

+0

안녕하세요, David, 조언 해 주셔서 감사합니다. 이 템플릿 재사용은 멋지다. Btw, 당신은 자주 자바 스크립트 코드의 무거운 코드베이스의 복잡성을 어떻게 처리합니까? 왜냐하면 C# 코드로 유지하고 재사용하는 것이 쉽지 않기 때문입니다. –

+0

JavaScript에 대해 할 수있는 일은 많지 않습니다. JS 파일에서 코드를 분리하는 대신 동일한 HTML 페이지에 두는 것이 아니라 논리의 대부분이 서버 측에 남아 있어야한다는 점을 기억하십시오. 데이터를 렌더링하십시오. 이 라이브러리는 http://clientdependency.codeplex.com/에서 폭과 크기를 줄이는 데 도움이 될 수 있습니다. JS, CSS 파일의 압축, 캐시 및 기타 기능을 지원합니다. Visual Studio http://nuget.codeplex.com/에 대한이 플러그 인은 ClientDependency 및 기타 라이브러리를 설치하는 데 도움이됩니다. –

0

내 제안은 자바 스크립트없이 작동하도록 애플리케이션을 빌드하는 것입니다. 그런 다음 JQuery (JavaScript 라이브러리)와 Ajax를 사용하여 사용자 환경을 개선하십시오.

RIA 요구 사항이 Jquery로 수행 할 수있는 것 이상이 될 수 있다는 사실을 알고 있어야합니다. 이 시나리오에서는 다른 솔루션 (HTML5, SilverLight, Flash 등)을 고려할 수 있습니다. 아니면 RIA 요구 사항을 낮추십시오.

+0

감사합니다. 우리는 SilverLight가 사용자 인터랙티비티가 많이 필요한 복잡한 시장 차트를 구현한다고 생각합니다. –

관련 문제