2012-09-25 2 views
6

앞으로 NodeJS로 RT 웹 앱을 만들기를 고대하고 있습니다. Rails에서 나온 NodeJS 및 Async JS 프로그래밍을 좋아했습니다.NodeJS로 실시간 앱 작성

Node를 사용하여 몇 가지 실험을 실행 한 다음 함께 사용하기 위해 도구와 리소스를 검색 할 때 많은 문제가 발생했습니다.

저기서 도서관과 구성 요소가 많이 발견되어 대규모의 잘 작성되고 구현 된 RT 웹 앱을 구축하는 방법에 대해 혼란스러워했습니다.

프레임 워크를 사용하면 앱이 NodeJS 이상 실행됩니다.

나는 자동 UI 새로 고침과 같은 실시간 기능을 제공하기 위해 클라이언트 측 라이브러리 인 knockout.js을 읽었으며 jQuery로 도출 할 수 있다고 생각한다. 또한 socket.io이 발견되었습니다. 작성자 : Socket.IO aims to make realtime apps possible in every browser and mobile device, blurring the differences between the different transport mechanisms. It's care-free realtime 100% in JavaScript. 그래서 socket.io는 호환성에 대해 알고 있습니다. 어떨까요? backbone.js? 어디로가는거야?

너무 많은 것들이있어서 충격을 받았습니다. 나는 무엇을 배워야 하는가? 어떤 모듈을 실을만한 가치가 있습니까? NodeJS와 Express에 집중하지만 대부분의 책/스크린 캐스트는 이전 버전의 nodej를 다룹니다. 그래서 나는 그것의 공식적인 API에 의해 인도되고있다. 이제 귀하의 조언을 구하고 거기에 모든 정보를 어떻게 든 구성하십시오. 제 가정이 정확하지 않으면 올바른 방향을 가르쳐 주시고 제 학습에 도움이되는 다른 모듈을 제안 해주십시오. 사전

답변

7

에서

덕분에 당신은 Node.js를 서버 측 라이브러리를 분리하는 것은 클라이언트 측 (브라우저) 라이브러리와 JQuery와 같은 기술, 백본 모두에서 (을 통해 NPM 등) 유용 할 수 있습니다 , 녹아웃 등 ... 당신이 그것에 대해 생각할 때. 폴링을 피하기 위해 브라우저와 서버 사이의 지속적인 소켓 연결을 노출하는 socket.io조차도 사용자가 사용하는 클라이언트 기술을 결정하지 않습니다.

서버에서 단색 웹 API (random example)를 노출하는 데 중점을 둡니다. 클라이언트 기술은 서버에 영향을 미치지 않고 바꿀 수 있습니다. 그들이 교차하는 유일한 장소는 Jade와 같은 뷰 기술을 사용하는 경우입니다. 또한 서버가 클라이언트 파일을 제공하고 클라이언트가 두꺼운 자바 스크립트 응용 프로그램 (knockout, jquery 등을 사용하여 ...)에서 좋은 서버 웹 API를 호출하는 순수 분리를 수행하는 옵션입니다.

일부 사람들은 백본과 노드를 사용하여 this article과 같이 클라이언트와 서버 모델을 통합하려고합니다. 그것은 가능한지 여부를 말하기 위해 얼마나 많은 데이터를 사용 하느냐에 달려 있지만 클라이언트와 서버를 연결하여 단점을 가질 수있는 서버를 상태 저장하게 만듭니다 (수평 확장, 선호도 등이 필요합니다). 개인적으로 나는 그 많은 마술 (바인딩, 상태, 동기화 등)에주의해야한다. 노드는 일을 단순하고 가볍고 빠르게 유지하는 것입니다. 빠른 프런트 엔드 네트워크 서버입니다.

2 센트 (일부는 동의하지 않을 수 있음) 서버의 노드로 시작하여 저장소 (mongoDb 등 ...)를 선택하십시오. 디자인은 solid RESTful (hypermedia) API - 클라이언트에 관계없이 좋은 webapi. 그런 다음 기본 html/css/js, 아마도 jquery 클라이언트로 시작하여 녹아웃 등을 추가하십시오. 클라이언트 기술을 확장 할 때. 그러면 새로운 기술 바람이 변화하면서 서버와 독립적으로 클라이언트 기술을 대체 할 수 있습니다.

잘 설계된 시스템의 특징이다

- 모든 :

희망 안개 :

0

당신은 할 수 있습니다 중 일부를 정리하는 데 도움이 다시 작성하지 않고도 잡습니다/서브 시스템을 대체 할 수있는 능력이 실시간 Javascript 앱에 집중하고 있다면 유성을보세요. http://meteor.com/