2013-04-16 3 views
3

첫 SPA를 실험으로 개발할 계획입니다. 단일 페이지에서 작업 할 수있는 대화 형 포럼 플랫폼에 대한 아이디어가 있습니다. 알림 및 모든 멋진 기능이 포함되어 있습니다.대화 형 단일 페이지 응용 프로그램

나는 오랫동안 서버 측에서 PHP와 AJAX를 사용하여 많은 웹 응용 프로그램을 개발했습니다. 문제는 이것이 내 상황 (또는 비슷한 상황)에 어떻게 적용될 수 있는가하는 것입니다. 사용자는 로그인해야하며 내용을 고려하여 업데이트를 받아야합니다 (새로운 답글, 새로운 주제 및 목록이 표시됨). 나는 요청 - 응답 인 표준을 생각하며, 내가 본 것처럼 여기서는 그렇지 않다.

사용자와 서버 간의 연결은 지속적이어야합니다. 긴 폴링 아약스 애플리케이션을 만들려면 단일 페이지 앱을 고려해야하는 이유는 무엇입니까? 서버가 연결된 사용자 목록을 유지하고 node.js, socket.io 등의 업데이트를 푸시해야합니다. 이러한 기술은 웹 개발 분야에서 새로운 것으로 보인다.

제 질문은 무엇입니까? Twitter가 어떻게 작동하는지, Facebook이 어떻게 작동하는지, Gmail이 어떻게 작동하는지 ... Knockout.js, Sammy.js, Backbone, Underscore 등의 기술을 고려합니다. 이것들은 훌륭하고 나는 그들을 처리 할 수 ​​있습니다. 서버는 어떻습니까? 유명한 "실시간"웹은 어떻습니까?

위 예제의 전략에 대한 조언이 유용하고 받아 들여집니다.

미리 읽어 주셔서 감사합니다.

+0

이것은 SO 질문보다 토론 게시물의 더 많은 것이다. – Vector

+0

그럼 여전히 질문입니다. 대답이 필요해. 우리는 연령대에 대해 그것이 좋은지 아닌지에 대해 토론 할 수 있습니다. 단지 표준 방식 (또는 가장 적용 가능성이 높은 방식)이 필요합니다. – nLamprok

답변

3

상태를 저장하는 실시간 응용 프로그램의 표준을 묻는다면 아무 것도 없습니다. "고양이를 피하십시오"라는 다양한 방법이 있습니다.

Barebones 끝의 Socket.io는 AJAX long-polling 또는 websocket을 사용할지 여부를 추상화합니다. 웹 소켓을 지원하지 않는 브라우저는 자동으로 AJAX long-polling으로 전환합니다.

"요청/응답"모델은 http 이상이 아니며, 이벤트 및 수신기의 pub/sub 모델을 사용하는 웹 소켓을 통해 사용됩니다. 예를 들어, 서버 측의 리스너는 twitter api 연결에서 새 트윗을 감지하고 클라이언트 측 소켓 리스너의 웹 소켓을 통해 이벤트를 브로드 캐스팅합니다. 그러면 클라이언트가 수신 한 새 정보로 실시간으로 DOM을 업데이트합니다 websockets ....... 이벤트와 리스너와의이 소켓 통신은 두 가지 방법으로 진행됩니다. 나는 어떤 코드로 붙여 넣을 것이지만, 내 컴퓨터에 소켓 코드가없고, socket.io를 익스프레스로 사용하는 것만으로도 밧줄을 보여줄 것이다.

편집 : "표준 방법"은 서버 쪽에서는 Socket.io/Express이고, 클라이언트 쪽에서는 Backbone/Socket.io입니다.

안개 크릭에 의해 Trello 실시간 스택의 뛰어난 건축 기술 : http://blog.fogcreek.com/the-trello-tech-stack/

+0

나는 당신의 대답에 대해 너무 기쁩니다. 개발 세계에 상대적으로 새로운 기술로 이동할 위험이 없어야합니까? (이러한 프레임 워크의 대부분은 정말 새로 워야합니다. – nLamprok

관련 문제