Meteor JavaScript 프레임 워크는 어떻게 작동합니까? [닫은]


108

나는 우연히 유성 하고 흥미로운 보인다 동안, 나는 그것이 어떻게 작동하는지 알고 싶어요. 즉, 기존의 웹 응용 프로그램은 다음과 같이 작동합니다. 데이터베이스에서 데이터를 가져와 웹 페이지에 동적으로 추가하는 스크립트가 서버에 있으며 사용자가 제출 한 데이터는 다른 스크립트를 통해 데이터베이스에 추가됩니다.

그러나 이러한 것들이 Meteor에서 어떻게 작동합니까? Meteor의 다른 부분은 서로 어떻게 관련되어 있습니까?



8
이것은 건설적이고 사실적인 질문입니다. 모든 유효한 답변은 "사실, 참조 또는 특정 전문 지식에 의해 뒷받침"되어야합니다. 분명히 casperOne은 질문을 건설적이지 않은 것으로 지정하는 질문이나 기준을 오해했습니다.
Charlie Flowers

3
그러나이 질문은 "확장 된 토론"을 유도 할 가능성이 높으며 "답변"이 없습니다.
durron597

9
@ durron597 나는 당신이 질문에 대한 대답이 매우 크다고 말하고 있다고 생각합니다 (오해 한 경우 수정하십시오). 나는 그것을 볼 수 있지만 그것은 "건설적이지 않다"는 것과 같지 않다. 아래에 표시되는 상용구 요약에서 "건설적이지 않음"의 정의는 "비 건설적"태그가 비 객관적인 질문에 대한 것임을 분명히합니다. 이 질문은 100 % 객관적입니다. Meteor는 작동하는 방식으로 작동합니다. 여기에 여러 의견이 나타나기 시작하면 그중 하나를 제외한 모든 의견이 잘못 될 것입니다.
Charlie Flowers

@mplungjan "Data on the Wire. Meteor는 네트워크를 통해 HTML을 보내지 않습니다. 서버가 데이터를 전송하고 클라이언트가 렌더링 할 수 있도록합니다." 7 가지 원칙의 첫 번째 원칙.
Alexander Mills

답변:


81

Meteor 는 HTML을 실시간으로 우아하게 업데이트하는 프레임 워크입니다.

Meteor의 장점은 템플릿과 데이터 모델 만 생성하면된다는 것입니다. 나머지 일반적인 상용구 코드는 숨겨져 있습니다. 모든 동기화 코드를 작성할 필요는 없습니다.

Meteor의 핵심 조각은 다음 조각을 사용하여 직접 만들 수 있습니다.

  • 데이터 모델이 업데이트 될 때 자동으로 업데이트되는 템플릿 을 제공합니다 . 일반적으로 Backbone.js , Ember.js , Knockout.js 또는 다른 도구를 사용하여 수행됩니다 .

  • 클라이언트 / 서버 메시징 을 통해 이루어집니다 WebSocket을 같은 것을 사용 socks.js 또는 socket.io를 .

  • MongoDB에 대한 클라이언트 측 연결 은 정말 멋집니다. MongoDB 서버 드라이버를 클라이언트에 복제합니다. 불행히도 마지막으로 확인한 결과이 데이터베이스 연결을 보호하는 작업을 계속하고있었습니다.

  • 지연 보상은 간단히 서버 서버에 업데이트를 전송, 먼저 클라이언트 측 모델을 업데이트하고 있습니다.

Meteor 사이트 또는 GitHub에서 찾을 수있는 다른 깔끔한 부분이있을 수 있습니다 .


10
좋지만 이것은 실제로 질문을 해결하지 않습니다.
Prisoner ZERO

2
어쩌면이 질문에 숨겨진 질문에 대답 않습니다
무하마드 Umer

1
이 답변은 meteor가 웹 소켓을 사용하여 모든 클라이언트 / 서버 통신을 수행함을 명확하게 나타냅니다. 나는 그것이 또한 질문에 답했다고 생각합니다.
Usama Ahmed

meteor js와 node js는 v0.9에서 여전히 관련이 있습니까?
yozawiratama

28

면책 조항 :이 답변은 Meteor Server 용 JavaScript 클라이언트 라이브러리 인 Meteor 에 대해 설명 합니다. 원래 질문의 모호함으로 인해 추가되었으며 유사한 답변을 검색하는 방문자가 직면 한 유사한 모호함을 명확히하는 데 도움이 될 수 있지만 차이점에 대해서는 확신이 없습니다.

Meteor JavaScript 프레임 워크 에 대해 읽으려면 xer0x 의이 답변 을 참조하십시오 .

Meteor Server의 문서에서 언급했듯이 Meteor는 Comet 의 구현입니다 . 차례로 혜성은 AJAX 의 대응 물입니다 .

AJAX의 경우 일반적으로 클라이언트가이를 수행해야한다고 판단 할 때 요청합니다. 서버에서 업데이트를 가져 오려면 서버를 호출해야합니다. 5 초마다.

Comet의 경우 연결이 지속적이기 때문에 서버에서 업데이트가 더 빨라집니다. 연결은 AJAX에서와 같이 클라이언트에 의해 설정되지만 서버는 업데이트가 있거나 실행 제한에 도달 할 때까지 응답하지 않습니다 (서버의 스크립트에 실행 제한이있을 수 있음).

Meteor의 경우 특정 서버 측 코드 (예 : Meteor Server)와 클라이언트에서 적절한 코드 (이 경우 Meteor 클래스처럼 보입니다)가 필요한 데이터의 지속적인 스트림을 얻을 수 있습니다.


1
Meteor가 있고 Meteor Server가 있습니다. 원래 질문은 전자에 관한 것이고이 대답은 후자에 관한 것 같습니까? meteor.commeteorserver.org
ile

2
아니요, Meteor.com 항목은 혜성의 진보 된 형태입니다. 특히 긴 폴링을 사용하므로 크롬 개발 도구에서 볼 수 있습니다.
wmil

1
@ile : 예, Meteor ( github.com/meteor/meteor ) 라는 JavaScript 프레임 워크 가 있고 Meteor Server ( meteorserver.org/client-docs ) 의 클라이언트 부분 인 Meteor.js 가 있습니다. 나는 이것이 질문이 너무 모호 하여이 OP 중 어느 것이 실제로 염두에 있었는지 알 수 없다고 생각합니다.
Tadeck 2012

5
@ile 사실 저는 meteor.com에 관심이있었습니다. 나는 실제로 당신의 코멘트 전에 meteorserver.org에 대해 몰랐습니다.
Jatin

2
meteor.js 프레임 워크는 meteor http 서버가 아닙니다. 프레임 워크를 만든 사람들의 잘못된 이름 지정 선택에도 불구하고. 자세한 내용은 meteor.com 을 참조하십시오 .
xer0x 2012

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.