Meteor Theory
미티어란?
미티어는 클라이언트(browser)부터 애플리케이션 서버(meteor server), 데이터베이스(Mongo DB)에 이르기까지
자바스크립트로 구성된 풀스택 플랫폼이다. 또한 미티어는 명령어 한 줄만으로 빠르게 개발 환경을 구성할 수 있으며,
브라우저부터 데이터베이스까지 실시간으로 데이터를 동기화하는 애플리케이션을 쉽게 작성할 수 있다.
미티어 패키지 저장소(atmosphere)에 있는 수많은 패키지를 나의 프로젝트에 설치하고 사용할 수 있다.
미티어 - 빠르게 구성하는 개발 환경
미티어는 명령줄에서 입력하는 한 줄의 프로젝트 생성 명령만으로 자체에 내장된 데이터베이스를 사용할 수 있다.
내장된 몽고 DB 는 JSON 을 저장하는 데이터베이스로 요즘 주목받고 있는 NoSQL 데이터베이스 중 하나다.
물론 운영 환경에서는 외부에 있는 별도의 몽고 DB 를 사용하여 시스템을 구성하는 것도 가능하다
JSON 이란? JavaScript Object Notation 의 약자로 속성-값 쌍으로 이루어진 데이터 오브젝트를 전달하기 위해 사람이 읽을 수 있는 텍스트로 사용하는 표준 포맷이다.
NoSQL 이란? Not Only SQL 의 약자로, RDBMS 형태의 관계형 데이터베이스가 아닌 다른 형태의 데이터 저장 기술을 의미한다.
더 많은 정보는 여기서 참조 [http://unabated.tistory.com/entry/MongoDB-NoSQL-%EC%9D%B4%EB%9E%80]
브라우저와 서버 간 실시간 데이터 동기화
미티어는 발행/구독(publish/subscribe)이라는 구조로 브라우저와 서버 간의 데이터 교환이 이루어진다.
이 교환은 실시간으로 이루어지므로 데이터의 지속적인 변화를 실시간으로 보여주는 애플리케이션을 작성할 때 아주 좋다.
게다가 코드 몇 줄만으로 쉽게 동기화를 구현할 수 있다.
풀스택 자바스크립트
클라이언트와 서버에 이르기까지 모두 자바스크립트만으로 구현한다.
기본 데이터베이스로는 몽고 DB 를 사용한다.
몽고 DB 는 JSON 을 저장하는 NoSQL 데이터베이스다.
클라이언트에서 작성된 데이터 포맷을 데이터베이스까지 같은 형태로 저장할 수 있다.
그야말로 풀스택 자바스크립트이다.
모바일 통합 개발 환경
미티어에서 개발한 앱은 데스크톱뿐만 아니라 Android, iOS 에서 사용할 수 있는 패키지로 배포할 수 있다.
특히 모바일 환경은 내장된 코르도바를 통하여 하이브리드 앱 형태로 배포하므로
별도의 컴파일 환경을 구축할 필요가 없어 미티어만으로 앱 제작이 가능하다.
코르도바란(Cordova)? Apache 재단에서 지원중인 하이브리드 앱 제작을 위한 프레임워크이다.
안드로이드, iOS, Window Phone 등 8 개의 플랫폼을 지원한다.
풍부한 패키지
atmosphere 는 미티어 패키지 저장소이며,
Node.js 의 npm(node package manager = 노드계의 앱스토어(설치, 삭제, 업그레이드, 의존성 관리)) 과 비교될 수 있다.
미티어 콘솔에서 “meteor add 패키지명” 정도의 입력만으로 해당 패키지를 프로젝트에 적용할 수 있다.
예를 들어 미티어도 유명한 패키지 중 하나인 트위터 부트스트랩을 프로젝트에 추가해서
웹 페이지를 좀 더 깔끔하게 만들고 싶다면프로젝트 폴더에서 한 줄만 입력하면 된다.
$ meteor add twbs:bootstrap
또한, 우리가 만든 모듈을 atmosphere 에 패키지로 등록할 수도 있다.