MEAN 스택: 두 판 사이의 차이

내위키
편집 요약 없음
편집 요약 없음
 
(같은 사용자의 중간 판 6개는 보이지 않습니다)
1번째 줄: 1번째 줄:
동적 웹사이트와 웹 애플리케이션 개발을 위한 [[풀 스택]] 플랫폼의 일종. 클라이언트와 서버, [[데이터베이스]] 프로그래밍까지 [[자바스크립트]] 한 가지로 통일할 수 있다. 한 가지 프로그래밍 언어로 퉁칠 수 있으니 한두 명의 개발자가 북치고 장구치고 상모까지 돌려야 하는 스타트업을 중심으로 인기가 쭉쭉 올라가고 있다.
동적 웹사이트와 웹 애플리케이션 개발을 위한 [[풀 스택]] 플랫폼의 일종. 클라이언트와 서버, [[데이터베이스]] 프로그래밍까지 [[자바스크립트]] 한 가지로 통일할 수 있다. 한 가지 프로그래밍 언어로 퉁칠 수 있으니 한두 명의 개발자가 북치고 장구치고 상모까지 돌려야 하는 스타트업을 중심으로 인기가 쭉쭉 올라가고 있다. 심지어 [[Angular]]를 이용해서 모바일 앱까지 만들어버릴 수도 있다.


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


* [[MongoDB]] : 문서 기반의 [[NoSQL]] [[데이터베이스]]. 문서의 표준 형식이 바로 [[JSON]]이다. 다른 언어로도 사용할 수 있지만 일단 [[JSON]] 기반이므로 [[자바스크립트]]와 가장 잘 붙는 편이다. <del>[[NoSQL]]이 싫으면 [[MariaDB]]로 갈아 붙이면 어떨까? 그래도 MEAN인데.</del>
* [[MongoDB]] : 문서 기반의 [[NoSQL]] [[데이터베이스]]. 문서의 표준 형식이 바로 [[JSON]]이다. 다른 언어로도 사용할 수 있지만 일단 [[JSON]] 기반이므로 [[자바스크립트]]와 가장 잘 붙는 편이다. 대다수 클라우드 서비스가 [[NoSQL]] 서비스를 할 때 가장 많이 지원하고 있어서 사용자층도 가장 넓다. <del>[[NoSQL]]이 싫으면 [[MariaDB]]로 갈아 붙이면 어떨까? 그래도 MEAN인데.</del>
* [[ExpressJS ]]: [[Node.js]]에서 가장 널리 쓰이는 웹 프레임워크.
* [[ExpressJS]]: [[Node.js]]에서 가장 널리 쓰이는 웹 [[프레임워크]].
* [[AngularJS]] : [[구글]]에서 개발한 [[MVC]] 기반 클라이언트 측 [[자바스크립트]] 프레임워크.
* [[Angular]] : [[구글]]에서 개발한 [[MVC]] 기반 클라이언트 측 [[자바스크립트]] [[프레임워크]]. 원래 이름은 AngularJS였지만 2.0부터는 [[자바스크립트]]의 파생형인 [[타입스크립트]]를 기본으로 바꿨으며, 그에 따라 '[[자바스크립트]]'를 뜻하는 JS를 이름에서 빼버렸다.
* [[Node.js]] : [[자바스크립트]] 엔진 기반의 웹 서버.
* [[Node.js]] : [[자바스크립트]] 엔진 기반의 웹 서버.


이 네 가지의 머릿글자를 따면 MEAN이 된다. 발레리 카프로프라는 개발자가 자신의 [[블로그]]에서 이 용어를 제안했다. [[자바스크립트]] 기반 풀 스택이라면 이들 중 M, E, N은 대체로 이견이 없지만 A는 좀 얘기가 다른데, 일단 [[JQuery]]라는 놈이 클라이언트 측 [[자바스크립트]] 프레임워크에서 가장 잘 나가고 있고, [[페이스북]]에서 개발한 React라는 놈도 있다. 그래도 [[AngularJS]]가 많은 주목을 받고 있으며 [[구글]]을 등에 업고 사용층도 빠르게 늘고 있는 것은 사실이다.
이 네 가지의 머릿글자를 따면 MEAN이 된다. 발레리 카프로프라는 개발자가 자신의 [[블로그]]에서 이 용어를 제안했다. [[자바스크립트]] 기반 풀 스택이라면 이들 중 M, E, N은 대체로 이견이 없지만 A는 좀 얘기가 다른데, 일단 [[JQuery]]라는 놈이 클라이언트 측 [[자바스크립트]] 라이브러리 중에서는 가장 잘 나가고 있었고 [[페이스북]]에서 개발한 [[React]]가 [[JQuery]]를 추월한 실정이다. [[Vue.js]] 역시 사용자가 늘고 있다. [[Angular]] 역시 [[구글]]을 등에 업고 사용층을 빠르게 늘려 나갔다. 참고로 [[JQuery]], [[React]]나 [[Vue.js]] 라이브러리는 주로 '뷰'에 집중하고 있는 반면, [[Angular]]는 프론트엔드의 풀 스택이라고 할 정도로 다루는 범위가 넓은, 하나의 [[프레임워크]] 수준으로 덩치가 크다. 한편으로는 그만큼 배워야 할 것도 많고 진입장벽이 높다는 게 문제.<ref>여기에 Angular 2부터는 [[타입스크립트]]를 기반 언어로 바꾸었다. [[타입스크립트]]가 가지는 장점이 있긴 하지만 [[자바스크립트]] 개발자로서는 프로그래밍 언어를 하나 더 배워야 하므로 진입 장벽이 좀 더 올라간 셈이다.</ref> 시간이 지날수록 [[React]]나 [[Vue.js]]의 인기가 올라가고 [[Angular]]가 밀리는 분위기라<ref>[[JQuery]]는 점점 구닥다리로 밀리면서 기존 코드의 호환성 차원에서 쓰이는 경우가 많고, [[React]]로 갈아엎는 곳도 늘어나고 있다.</ref>, MEAN 스택보다는 'A'를 'R'이나 'V'로 대신하는 풀 스택 개발 쪽이 좀더 많이 쓰이고 있다.
 
{{각주}}

2022년 1월 26일 (수) 08:46 기준 최신판

동적 웹사이트와 웹 애플리케이션 개발을 위한 풀 스택 플랫폼의 일종. 클라이언트와 서버, 데이터베이스 프로그래밍까지 자바스크립트 한 가지로 통일할 수 있다. 한 가지 프로그래밍 언어로 퉁칠 수 있으니 한두 명의 개발자가 북치고 장구치고 상모까지 돌려야 하는 스타트업을 중심으로 인기가 쭉쭉 올라가고 있다. 심지어 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로 갈아엎는 곳도 늘어나고 있다.