아약스가 많은 웹 애플리케이션을위한 패턴


12

지금까지는 웹 응용 프로그램 개발을위한 MVC 패턴을 좋아했습니다. 웹의 경우 주로 PHP (Kohana 및 CodeIgniter 프레임 워크 사용)와 Ruby (RoR)로 개발했습니다.

내 응용 프로그램이 Ajax 측 (단일 페이지 응용 프로그램 등)에서 무거워 짐에 따라 MVC의 기본 개념을 배신 할 수는 없었지만 Javascript는 대부분의 작업을 수행합니다. 뷰 또는 더 많은 js / json 코드를 요청하기 위해 컨트롤러를 호출하면 잘못된 것 같습니다.

컨트롤러에서 모든 라우팅 작업을 유지하기 위해 노력한 후에는 기본적으로 작업과 Javascript (즉, 프레임 워크의 PoV에서 뷰의 일부)로 작업을 분할했습니다. JSON을 요청하는 경우 MVC의 파괴는 더욱 분명 같습니다 요청을하고있는 JS 코드 입니다 컨트롤러; 프레임 워크의 컨트롤러는 모델 데이터의 프록시 역할을합니다. 실제로 요청합니다.

그래서 무엇을 조사해야합니까?

예를 들어 backbone.js 및 문서 기반 json-spitting 데이터베이스 (couchDB)를 백엔드로 사용하는 순수한 자바 스크립트 응용 프로그램에 대해 생각하고 있었지만 관계형 데이터베이스를 좋아합니다.

또 다른 옵션은 다음과 같습니다. PHP / ruby ​​/ go / whatnot에서 "routed models"을 만들었습니다. 그들은 요청을 분석하고 db를 호출하고 json을 돌려줍니다.

이 방법은 흥미로워 보이지만 실질적인 문서 나 학업 분석이 부족하기 때문에 약간의 도약이 두렵습니다.

아이디어?


Socketstream 과 같은 것으로 마이그레이션하려고합니다 . 실시간 클라이언트 대량 응용 프로그램을 위해 설계된
Raynos

2
변화를 두려워하지 마십시오. 관계형 데이터베이스는 그 자리에 있지만 프로젝트에서 관계형 데이터베이스를 요구하지 않으면 사용하지 마십시오.
beatgammit

답변:


1

학문적 분석이 없다면 직접 해보십시오. 다음 소규모 프로젝트를 실험 해보고 마음에 드는지 확인하십시오. Lisp가 왜 자주 사용되지 않더라도 Lisp를 선택했는지에 대한 Paul Graham의 글을 읽으십시오. http://www.paulgraham.com/avg.html

MVC 자바 스크립트 프레임 워크가 많이 있습니다. 주로 자바 스크립트 응용 프로그램을 빌드하려면 수행하십시오.

레일을 사용하거나 데이터베이스에 대한 래퍼 인 프레임 워크에서 편안한 API를 작성하기 만하면 관계형 데이터베이스를 포기할 필요가 없습니다. 서버 기반 논리 애플리케이션 인 경우 데이터베이스를 호출하는 것처럼 API를 호출하십시오.

또한이 방법으로 앱을 빌드하면 오프라인 지원에서 매우 쉽게 빌드 할 수 있습니다.


나는 다음 프로젝트를 위해 이것을 시도 할 것입니다. 자바 스크립트 프레임 워크는 무엇을 제안합니까? 내가 지금 살펴본 유일한 것은 백본입니다.
cbrandolino

@cbrandolino 백본은 내가 가지고 놀던 제한된 시간에서 좋아 보입니다. 더 작은 프로젝트 를 위해 sammyjs.org 를 확인하고 싶을 수도 있습니다 .
세스 아처 브라운
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.