Nodejs와 SignalR : 왜 서버 측 자바 스크립트가 필요한가요?


91

Node.js에 대해 알고 있었기 때문에 항상 그 팬이었습니다. 그러나 오늘 저는 ASP.NET을위한 대체 비동기식 확장 가능 실시간 모델을 제공하는 SignalR 에 대해 알게 되었습니다.

내가 아는 한, SignalR에 비해 Node.js의 주요 이점은 클라이언트-서버간에 코드를 공유하는 것입니다 (또 다른 이점은 크로스 플랫폼이라는 것입니다). SignalR의 주요 이점은 훨씬 더 성숙한 프레임 워크이며 훨씬 더 좋습니다. 도구 (IDE) 지원. 그래서 궁금합니다. SignalR이 여기에 있다면 Windows에서 Node.js가 더 이상 필요합니까? 내가 모르는 Node.js의 장점이 있습니까?


28
여기에 약간의 혼란이있는 것 같습니다. Node.js는 개발 플랫폼이며 SignalR은 ASP.NET 용 라이브러리입니다. 더 나은 비교는 node.js + socket.io와 ASP.NET + SignalR입니다. 명확하게하기 위해이 질문을 업데이트 할 수 있습니까?
leggetter

6
참과 거짓, SignalR은 .NET 용 라이브러리입니다.
davidfowl 2012

답변:


108

SignalR은 Socket.IO 및 Node.js의 실행 가능한 대안입니다. 그러나 서버에서 javascript를 사용하는 다른 이유가 있습니다.

  1. 스택을 평평하게 만듭니다. 요즘 거의 모든 웹 사이트는 브라우저에 자바 스크립트가 있어야하며, 서버에서도 사용한다면 능숙해야 할 배치에서 하나의 언어를 잘라낼 수 있습니다.

  2. 메시지 전달은 매우 자연 스럽습니다. 어디서나 JSON! 특히 JSON을 사용하는 문서 데이터베이스와 결합하면 모든 메시지 전달은 JSON 객체가됩니다. 이렇게하면 시스템 전체에서 발생해야하는 메시지 브로커 링의 양이 줄어 듭니다.

  3. Microsoft가 아닙니다. 저는 개인적으로 Microsoft가 개발 커뮤니티를 위해 한 일을 좋아합니다. 그들은 환상적인 도구와 최고의 프레임 워크와 언어 중 하나를 만듭니다. 즉, 일부 사람들은 Microsoft를 싫어하는 것을 좋아합니다.

  4. 비용. Microsoft 도구를 무료로 또는 매우 저렴한 가격으로 얻을 수있는 여러 가지 좋은 방법이 있습니다 (Express 에디션 및 Biz Spark). Microsoft 도구 작업과 관련된 비용은 여전히 ​​더 높습니다. 나는이 비용이 대부분의 경우 생산성 향상의 가치가 있다고 생각하지만 모두가 동의하는 것은 아닙니다.

위의 것 외에도 스레딩 모델로 인해 IIS에서 긴 폴링 요청을 확장 할 수 없다는 이야기가 여전히 있습니다. 이것은 약간의 진실을 가지고 있지만 좋은 코드 디자인 과 약간의 서버 조정을 통해 대부분 이러한 문제를 해결할 수 있습니다.


6
Hanselman의 블로그 항목 hanselman.com/blog/…읽었 습니다. ASP.NET/SignalR 채팅 응용 프로그램이 수만 또는 수십만 클라이언트에 서비스를 제공 할 수 있다는 사실이 정말 놀랍습니다. 나는 그들이 그렇게하는 방법을보고 깊이 파고하지 않았다, 그러나 ... 가까운 Nodejs 할 수있는 방법 "확장 성"으로의
콴 마이

7
ASP.NET MVC와 같은 것을 사용하는 경우 JavaScript, HTML, CSS, C # 및 Visual Studio를 알아야합니다. 서버 측에서 JavaScript를 사용하면 JavaScript, HTML, CSS로 줄일 수 있습니다.
Daniel Lidström

4
일반적으로 asp.net 및 .net은 실제로 MS 전용이 아닙니다. IDE 용 sharpdevelop 및 monodevelop과 대체 .net 런타임 용 mono를 확인하십시오. 이것은 포인트 3 & 4를 제거합니다. 또한, 저는 하나의 언어 패러다임을 믿지 않습니다. 처음 시작하지 않는 한 여러 언어를 배우는 것은 어렵지 않습니다. 2의 경우 JSON에서 .net 객체를 만드는 것은 그렇게 어렵지 않습니다. 또한 긴 폴링 및 실시간 통신 교체를 위해 SignalR을 확인하십시오
bbqchickenrobot 2013 년

7
@ruffrey 당신은 말하고 있었습니까? asp.net/open-source OWIN을 사용하여 SignalR을 자체 호스팅 할 수도 있습니다.
Timothy Strimple 2013

4
@cbmeeks 다양한 작업을위한 다양한 도구. 월마트가 배후에서 상당히 진지하고 값 비싼 데이터베이스 설정을 가지고 있다고 확신하지만, 그렇다고해서 Node.js로 모바일 웹 사이트를 최적화하는 것을 막지는 못했습니다. Node.js를 성공적으로 배포하는 모든 대기업에서 이것이 사실임을 알게 될 것입니다. 나는 그들 중 많은 사람들이 Mongo에 저장된 것이 있는지 의심합니다.
Timothy Strimple
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.