MEAN 스택

내위키

동적 웹사이트와 웹 애플리케이션 개발을 위한 풀 스택 플랫폼의 일종. 클라이언트와 서버, 데이터베이스 프로그래밍까지 자바스크립트 한 가지로 통일할 수 있다. 한 가지 프로그래밍 언어로 퉁칠 수 있으니 한두 명의 개발자가 북치고 장구치고 상모까지 돌려야 하는 스타트업을 중심으로 인기가 쭉쭉 올라가고 있다. 심지어 Angular를 이용해서 모바일 앱까지 만들어버릴 수도 있다.

MEAN 스택은 정확히 말하면 풀 스택을 위한 몇 가지 소프트웨어를 묶은 일종의 번들 개념이다. 다음과 같은 요소로 구성되어 있다.

이 네 가지의 머릿글자를 따면 MEAN이 된다. 발레리 카프로프라는 개발자가 자신의 블로그에서 이 용어를 제안했다. 자바스크립트 기반 풀 스택이라면 이들 중 M, E, N은 대체로 이견이 없지만 A는 좀 얘기가 다른데, 일단 JQuery라는 놈이 클라이언트 측 자바스크립트 라이브러리 중에서는 가장 잘 나가고 있었고 페이스북에서 개발한 ReactJQuery를 추월한 실정이다. Vue.js 역시 사용자가 늘고 있다. Angular 역시 구글을 등에 업고 사용층을 빠르게 늘려 나갔다. 참고로 JQuery, ReactVue.js 라이브러리는 주로 '뷰'에 집중하고 있는 반면, Angular는 프론트엔드의 풀 스택이라고 할 정도로 다루는 범위가 넓은, 하나의 프레임워크 수준으로 덩치가 크다. 한편으로는 그만큼 배워야 할 것도 많고 진입장벽이 높다는 게 문제.[1] 시간이 지날수록 ReactVue.js의 인기가 올라가고 Angular가 밀리는 분위기라[2], MEAN 스택보다는 'A'를 'R'이나 'V'로 대신하는 풀 스택 개발 쪽이 좀더 많이 쓰이고 있다.

각주

  1. 여기에 Angular 2부터는 타입스크립트를 기반 언어로 바꾸었다. 타입스크립트가 가지는 장점이 있긴 하지만 자바스크립트 개발자로서는 프로그래밍 언어를 하나 더 배워야 하므로 진입 장벽이 좀 더 올라간 셈이다.
  2. JQuery는 점점 구닥다리로 밀리면서 기존 코드의 호환성 차원에서 쓰이는 경우가 많고, React로 갈아엎는 곳도 늘어나고 있다.