2014-01-16 5 views
3

내가 응용 프로그램을 개발, 모든 일에 게시물과 많은 문서를 읽고 자바 스크립트 전체 스택에 새로운 해요 그러나 나는 다음과 같은 문제에 붙어 비트 :SailsJS

꽤 비슷한 기능을 제공하지만 인터넷에서 서로 대조되는 두 가지 프레임 워크가 있습니다 (가능한 한 멀리 말할 수 있습니다)

SailsJS - 서버 측 MVC 프레임 워크는 Express를 기반으로합니다. BreezeJS (+ AngularJS) - 클라이언트 측면 MVC

명백하게 나는 앵글과 돛을 결합 할 수있다. 아, NPM에는 몇 가지 시도가 있지만 Breeze를 추가로 사용하지 않는 방법은 중복성 때문입니까 아니면 그냥 바보 같은 아이디어입니까?

는 내가 계산 집약적 인 백엔드 프로세스가있는 SPA 개발의 생각

내가 여부를이에 대한 피드백을 찾고 있어요

Mongo - Node : { Express - Sails } - Breeze - Angular 

처럼 뭔가에 (예를 들어, 대용량 데이터에 기계 학습은 몽고 문서 ~ 수백만 설정) 스택 종류 (특히 Breeze/Sails 부분)는 좋지 않은 생각입니다. 또한 자바 스크립트 전체 스택 아키텍처 디자인 결정에 대한 조언이나 링크에 정말 감사드립니다.

감사합니다.

답변

8

기본적으로 언급 한 모든 소프트웨어는 하나의 제품에서 사용할 수 있습니다. 그것은 각 구성 요소의 목적/강도 이해하는 것이 비록 중요 :

1. MongoDB를

을이 하나가 꽤 분명하다 : 데이터베이스 엔진.

2 Node.js를

너무이 하나를 서버 측 자바 스크립트 당신의 API에 전원을 공급합니다.

3. Express.js

은 이제 더 흥미로운 지 고있다. Express는 Node.js의 서버 측 웹 응용 프로그램 프레임 워크이지만 매우 기본적인 기능을 제공하므로 기본적인 기능을 제공하고 숨겨진 마법과 다른 멋진 기능을 제공하지 않습니다.

4. Sails.js 반대로

는 항해는 상자 밖으로 API 시작하여 소켓으로 끝나는, 마법을 많이 제공합니다. 비록 Express 위에 구축되었지만, Sails는 서버 측 Javascript 프레임 워크로서 완전히 다른 접근법을 따르며 단순성에 비해 편리합니다. 우리가 SPA에 대해 말하면, Sails가 제공해야 할 가장 유용한 것은 분명히 바로 API입니다. 5 분 내에 실행하고 실행할 수 있습니다.

5. Angular.js

는 여기에서 우리는 클라이언트 측에 받고있다. Angular를 사용하면 클라이언트 측 JavaScript를보다 잘 구성하고 브라우저에서 매우 복잡한 작업을 쉽게 수행 할 수 있습니다. 물론 Angular (또는 Backbone, Ember, Knockout 등과 같은 유사한 프레임 워크)는 요즘 우리가 리치 클라이언트 응용 프로그램에 대해 이야기 할 때 꼭 있어야합니다.

6. Breeze.js

마지막으로, 바람은 두꺼운 클라이언트 웹 응용 프로그램에서/액세스 데이터를 구성 할 수있는 방법을 제공합니다. Angular, Backbone 또는 Knockout을 사용하는 경우 Breeze는 ORM/ActiveRecord 개념과 유사한 방식으로 데이터를 관리하는 데 도움을줍니다.

이러한 모든 구성 요소는 쉽게 함께 작동 할 수 있습니다. 의심 할 여지가 없습니다 (때로는 사람들이 평균, 평균, BMEAN 스택에 대해 이야기하고 있습니다. 모든 문자는 프레임 워크/구성 요소 이름의 첫 글자 임). 하지만 궁극적으로 제품에서 얼마나 많은 제품을 사용해야할지 결정하는 것은 사용자의 몫입니다. 접근법의 한 예로, Mongo/Node 기반으로 시작한 다음 인생을 단순화 (장기적으로)하거나 복잡하게 만들지 여부를 묻는 방식으로 필요한 프레임 워크를 선택할 수 있습니다.

+0

이러한 프레임 워크를 엔드 - 투 - 엔드 스택에서 보완 적으로 위치시키는 훌륭한 개요를 가져 주셔서 감사합니다. – Ward