2013-02-01 4 views
4

단일 페이지 응용 프로그램 (SPA)을 구축하는 데 필요한 모든 기술을 배우고 있습니다. 요약하자면, 프론트 엔드가 API 웹 서비스 (json ~ socket.io)를 사용하여 백엔드와 만 통신하는 별도의 레이어로 앱을 구현하려고합니다. 프론트 엔드는 기본적으로 Backbone.js (+ html5, css3, jquery) 및 node.js (+ mongodb, express 등)를 사용하는 백엔드입니다. 소켓을 사용하는 데 대한 단서는 socket.io 때문입니다.backbone.js + node.js - express.js

내 질문에 어쩌면 꽤 기본적인 소리가 들리지만 여전히 이해가 가지 않습니다.

  1. 이 구성에서는 Express.js를 사용해야합니까? 내가 아는 한 Express.js의 주요 기능은 웹 API를 제공하고 라우팅을 통해 웹 페이지를 제공합니다. 하지만 Backbone.js를 SPA로 사용하여 프론트 엔드 전체를 구축하고 Socket.io를 통해 CRUD를 제공하려는 경우 Express.js가 필요합니다.

  2. 이 구성에서 노드 서버는 socket.io crud 명령을 수신합니다. 맞습니까? 여기에서는 나머지 API 서버로 Express.js를 사용할 필요가 없습니다.

  3. 웹 API 및 실시간 CRUD 멀티 캐스트 작업 (예 : Socket.io)을 원한다면 Node.js를 백엔드로 사용해야하나요, 아니면 다른 기술을 사용할 수 있습니까?

나는 누군가가 몇 가지 대답으로 나를 밝힐 수 있기를 희망하며, 귀하의 시간과 지원에 대해 미리 감사드립니다.

편집자 용 : 수개월이 지난 현재 수락 된 답변에 큰 문제가 있습니다. 난 항상 그들을 받아들이지 만, stackoverflow 항상 내가하지 않는 것을 보여줍니다. 일부 stackoverflow 편집기가이 문제에 도움이 될 수 있다면 정말 감사하겠습니다.

+1

요약하면 처음 두 질문에 대한 대답은 '예'이고 마지막 하나는 '아니오'입니다. 자세한 내용은 wiki https://github.com/LearnBoost/socket.io/wiki를 확인하십시오. – almypal

답변

3

이 구성에서는 Express.js를 사용해야합니까?

아니요. socket.io의 유일한 요구 사항은 청취입니다. http.Server.

이 구성에서 노드 서버는 socket.io crud 명령을 수신합니다. 맞습니까?

가능합니다. SPA가 WebSocket 요청을 만들기 시작하는 데 필요한 (정적 인) 파일을 제공 할 수 있어야합니다.

[...] Node.js를 백엔드로 사용해야하나요, 아니면 다른 기술을 사용할 수 있습니까?

반드시 그렇지는 않습니다. socket.io 라이브러리에는 Node.js가 필요합니다. 하지만 기능 만 있으면 'In other languages'아래에 다른 옵션이 있습니다.

+0

안녕하세요, 조나단, 답변 해 주셔서 대단히 감사합니다. 여기에 큰 개념적 문제가 있다고 생각합니다. 가능한 경우 감사 드리겠습니다. 그것을 지워 라. Node.js가 html, css 및 javascript와 같은 정적 파일을 제공하는 것을 원하지 않는다면 (전통적인 Express.js 응용 프로그램을 사용하여 완료해야 함과 같이) 백엔드에서 완전히 독립적이기를 원하기 때문에, 정적 콘텐츠를 누가 제공해야합니까? 나는 내 SAP 컨텐츠를 의미합니다.대단히 감사합니다. –

+0

@MichaelTrend * 정적 서버가 필요합니다. 그것은 socket.io 또는 다른 서버 시스템 (nginx, apache 등)과 동일한 'http.Server'가 될 수 있습니다. WebSockets은 [원본 교차 연결을 지원합니다] (http://stackoverflow.com/a/4044020). –

+0

안녕하세요 Jonathan Lonowski, 내가 원한다면 개인적인 관점에서 조언을 SPA를 구축하는 것입니다? 서빙 html + css + javascript를 통해 http.server() 또는 gninx를 통해? –

관련 문제