2009-07-16 5 views
4

C# 또는 Java와 같은 다른 언어로 GUI 기반의 큰 응용 프로그램을 빌드 할 때 MVP, MVC, MVVM 및 프리즘 (WPF/Silerlight)과 같은 완벽한 지침 패키지가있어 코드를 유지 관리하고 확장하며 유지할 수 있습니다 정상적인 수준에서 애플리케이션의 복잡성.html/javascript RIA 개발의 패턴은 무엇입니까?

그러나 html/javascript로 작성된 큰 RIA 애플리케이션의 경우 정말 좋은 리소스를 찾기가 어렵습니다.

html/javascript (Gmail, Google 캘린더, Google 문서 도구와 같은 응용 프로그램을 만들 때)에서 큰 RIA 응용 프로그램을 만들려면 어떻게해야합니까?

답변

3

리치 인터넷 어플리케이션의 개발은 여전히 ​​매우 젊은 주제이며, 점점 더 많은 접근법이 매일 매일 더 많이 등장하고 있습니다. 또한 자바 스크립트는 엔터프라이즈 개발자가 사용하는 언어와 전혀 다른 언어입니다.

당신이해야 할 일은 JavaScript로 직접 개발하는 것을 피하려고하는 것입니다. 물론 JS 부분 (GWT 및 .NET Framework AJAX 구성 요소는 상당히 훌륭하게 작동하고 있습니다)을 익히는 데 도움이되는 많은 프레임 워크가 있지만 언어 자체의 모든 잠재력을 사용할 수는 없으며 귀하의 리치 인터넷 응용 프로그램은 귀하의 서버 측 프로그래밍 언어/프레임 워크와 그 능력에 영원히 구속 될 것이며, 이는 전혀 필요하지 않으며 저의 의견으로는 나쁜 설계입니다. 클라이언트 프로그래밍과 가능한 한 많은 양면 프로그래밍을 분리 할 것입니다. 구식 웹 응용 프로그램과 달리 모든 데이터를 비동기 적으로 요청하고 처리 할 수 ​​있으므로 웹 서버를 생성 할 필요가 없습니다 (서버 측 언어로 HTML 생성을 생성 함) 모든 HTML을 생성 할 필요가 없습니다. 서버 측의 데이터와 클라이언트 측의 표현을 분리하면 RIA 개발이 다른 접근법 (예 : 구형 서버 측 MVC 프레임 워크 중 하나에서 시도하는 것과 같음)에서 가져올 수있는 복잡성이 상당히 줄어 듭니다.

클라이언트 측에서는 원하는 것을 선택하는 것이 좋습니다. 서로 다른 생각을 가진 프레임 워크가 많이 있습니다. 당신은 DOM manipulation, 구성 요소 기반의 것들은 focus on GUI elements 또는 클라이언트 쪽의 MVC pattern 다음에 중점을 두게 할 수 있습니다.

+0

입력 해 주셔서 감사합니다. 나는 당신이 연결하는 javascriptmvc 프레임 워크를보고있다. Aptana에서 개발 한 흥미로운 프로젝트 인 ActiveJS (http://activerecordjs.org/)는 매우 유망 해 보입니다. –

+0

흠, Aptana 제품을 좋아하지만 ActiveJS는 Jaxer 지향적 인 것처럼 보입니다. (양쪽에 JavaScript가 있어도 클라이언트와 서버의 느슨한 결합에 도달 할 수는 없습니다.) 그러나 나는 그것을 확실히 볼 것이다. – Daff

1

패턴은 상당히 언어에 구애받지 않습니다. 내가 아는 javascript/html에는 특별한 것이 없습니다. 글쎄, 모듈 패턴을 제외하고, 실제로는 애플리케이션 디자인이 아니지만 스타일에 관한 것입니다.

당신은 딱딱한 C# Java 클래스 기반의 정적 인 객체 지향 세계를 사용하고 있기 때문에 lisp 및 haskell과 같은 함수형 프로그래밍 언어를 살펴보고 해당 유형의 디자인 패턴을 살펴볼 것을 제안합니다. , 신선하고 재미있는 것을 찾고 있다면. Javascript는 기능적 언어 패턴 또는 객체 지향 패턴을 수용 할 수 있습니다.

javascript.crockford.com을 통해 어떤 종류의 것들이 자바 스크립트에서 가능하며 어떤 스타일 패턴이 적합한 지 몇 가지 아이디어를 읽어보십시오.

응용 프로그램 디자인은 기본적으로 모든 언어에서 동일합니다.