[node.js] node.js와 meteor.js의 차이점은 무엇입니까? [닫은]

그래서 저는 meteor.js에 대해 많이 듣고 읽었습니다. 튜토리얼은 프레임 워크로서 매우 스포티 해 보이지만 웹 프로그래밍에 관해서는 여전히 약간의 초보자입니다.

저는 지난 한 달 반 동안 node.js를 실제로 배우고 모든 것이 어떻게 결합되는지 알아 내기 위해 노력했습니다. 저는 빠르고 쉽게 시작하고 실행하는 것과 함께 제공되는 커뮤니티가 마음에 듭니다 (이는 Node에 대해 얻을 수있는 프레임 워크의 수를 예증합니다).

하지만 유성은 어떻습니까? 그것의 진정한 장점은 무엇이며 차이점은 무엇입니까? 누군가 node.js 사용자로 시작하여 ‘변환’했습니까? 아니면 여전히 호기심 많은 새 프레임 워크입니까?



답변

느슨한 비유는 “Rails가 Ruby에 대한 것처럼 Meteor는 Node에 대한 것”입니다. 서버에서 Node를 사용하는 크고 독단적 인 프레임 워크입니다. 노드 자체는 HTTP 요청을 송수신하고 다른 I / O를 수행하는 기능을 제공하는 저수준 프레임 워크 일뿐입니다.

Meteor는 근본적으로 야심적입니다. 기본적으로 제공되는 모든 페이지는 실제로 서버와 동기화 된 Handlebars 템플릿입니다. 리더 보드 예제를 사용해보십시오. “이름 및 점수 나열”이라는 템플릿을 만들고 클라이언트가 이름이나 점수를 변경할 때마다 페이지가 해당 클라이언트뿐만 아니라 해당 클라이언트를보고있는 모든 사용자를위한 새 데이터로 업데이트됩니다. 페이지.

또 다른 차이점 : Node 자체는 안정적이며 프로덕션에서 널리 사용되지만 Meteor는 “미리보기”상태에 있습니다. 심각한 버그가 있으며 Meteor의 데이터 중심 개념 모델 (예 : 애니메이션)에 맞지 않는 특정 작업은 수행하기가 매우 어렵습니다.

새로운 기술을 사용하는 것을 좋아한다면 Meteor를 사용해보십시오. Node에 구축 된보다 전통적이고 안정적인 웹 프레임 워크를 원한다면 Express를 살펴보십시오 .


답변

Meteor는 node.js 위에 구축 된 프레임 워크입니다. node.js를 사용하여 배포하지만 몇 가지 차이점이 있습니다.

핵심은 노드의 모듈 기반 시스템 대신 자체 패키징 시스템을 사용한다는 것입니다. Node.js를 사용하여 웹 애플리케이션을 쉽게 만들 수 있습니다. 노드는 다양한 용도로 사용될 수 있으며 그 자체로는 동적 웹 콘텐츠를 제공하는 데 끔찍합니다. Meteor의 라이브러리는이 모든 것을 쉽게 만듭니다.


답변

Meteor의 강점은 현재 작업중인 모든 사람의 업데이트를 볼 수있는 소셜 응용 프로그램 중 일부에 잘 작동하는 실시간 업데이트 기능입니다. 이러한 업데이트는 웹 브라우저에서 로컬 미니 몽고 (클라이언트 측 MongoDB 하위 집합) 데이터베이스 업데이트로 커버 아래에있는 MongoDB 컬렉션의 하위 집합을 복제하는 데 중점을 둡니다 (이로 인해 템플릿에서 여러 렌더링 이벤트가 실행 됨). 다중 렌더 업데이트에 대한 후반부도 약점입니다. UI가 UI 새로 고침시기를 제어하도록하려면 (예 : HTML을로드하고 모든 AJAX 호출 및 UI 업데이트를 제어하는 ​​클래식 jQuery AJAX 페이지)이 메커니즘과 싸우게됩니다.

Meteor는 MongoDB와 함께 아래에있는 Node.js 플러그인 (Handlebars.js, Spark.js, Bootstrap css 등) 스택을 사용합니다 (npm 대신 자체 패키징 메커니즘 사용). 생각해보십시오. 하지만 때때로 당신은 그것과 싸우게됩니다 … 예를 들어, 부트 스트랩 테마를 커스터마이즈하고 싶다면, 부트 스트랩의 responsive.css 파일의 로딩 순서를 엉망으로 만들어서 더 이상 반응하지 않습니다. 3.0이 곧 출시됩니다).

따라서 모든 “풀 스택 프레임 워크”와 마찬가지로 앱이 의도 한대로 작동하는 한 모든 것이 잘 작동합니다. 그 범위를 넘어서 경계선을 넓히면 결국 프레임 워크와 싸우게 될 수 있습니다.


답변