Discover Meteor 를 다 읽고 느낀점

Posted by MinSik on February 3, 2015
처음에는 meteor가 단순히 프로토타입 용도로만 쓸만 할거라고 생각 했었는데
이 책을 다보고 나서는 생각이 바뀌었다.
충분히 production 환경에서도 쓸 수 있을것 같다.

특징들을 간단히 정리해 보면

1. Client side mongo db

가장 큰 특징은 client side에도  mongo db(mini mongo)가 떠 있어서
데이터가 서버와 동기화 된다는 것이다.
따로 서버와 데이터를 주고 받는 로직이 필요 없기 때문에
처음에 프로토타이핑 할때 굉장히 편하다.
하지만 데이터가 커지면 어떻게 하나 했는데
책에 보면 publication, subscription 모델을 이용해서 해결한다.

2. Reactivity

그리고 맘에 드는 부분중에 하나는 Reactivity(반응성) 이다.
이게 미티어에서 잘 제공해주는 것중의 하나인데
데이터가 변경되면 화면에 리프레쉬 없이 바로바로 반영을 해준다.

3. Template

화면을 템플릿 단위로 분할하여 코드가 굉장히 깔끔해진다.
템플릿은 보통 html 과 js 파일로 구성한다.

4. 대기시간 보정(Latency Compensation)

이게 처음에 봤을때 좀 신기한 부분이었는데
데이터의 변경이 있을때 클라이언트에서는 일단 바로 반영하고
나중에 서버의 결과를 받아서 업데이트 하는 방식이다.
이렇게 해서 웹앱의 반응성을 끌어올릴수 있다.

5. 패키지 시스템

meteor 에서 제공해주는 패키지도 편리하게 사용할 수 있도록 잘 해놓았고
https://atmospherejs.com/ 이 사이트에 들어가면
다른 개발자들이 제공해주는 다양한 패키지들을 이용할 수 있다.
무엇보다도 패키지를 가져다 사용하는게 정말 코드 한줄만 추가하면 되는 방식이라 편하다.

6. 결론

일단 meteor로 개발을 하면 재미있다.
코드 변경사항이 웹브라우저를 리프레쉬 할 필요없이 바로바로 반영되며
데이터의 변경사항도 화면에 바로바로 반영된다.
자기가 구상 서비스를 프로토타이핑 해보고 싶을때는 정말 좋을것 같고
production도 불가능하지 않다는 생각이 든다.
물론 나중에가면 scale out 방안 같은걸 고민해 봐야겠지만..
처음에 외부 자바스크립트 라이브러리를 추가하는 것때문에 좀 고생을 했었는데
그건 http://yms9654.blogspot.kr/2015/01/meteor-javascript-library.html 여기에 간단히 정리를 했다.
책도 한글판이 온라인에 공개되어 있다.
http://kr.discovermeteor.com/