티스토리 뷰
JavaScript는 뭐고 Node.js는 뭐고 Express는 무엇일까?
간단히 말해서 JavaScript(이하 자스)는 언어이다.
컴퓨터와 대화하기 위해서 사람이 기본적으로 알아야 하는 소통하기 위한 언어.
자바스크립트는 원래 웹사이트를 만들기 위한(보이는 쪽 - 프론트엔드) 언어였지만 백엔드(보이지 않는 쪽) 개발을 위해
구글에서 Node.js라는 V8엔진으로 빌드되는 자바스크립트 런타임을 만들었다.
이 런타임 위에서 자바스크립트로 개발하면서 서버의 개발도 가능하게 된 것이다.
런타임은 언어가 돌아가는 환경이라고 보면 되고 넓게 보면 프로그램이 돌아갈 수 있는 환경이라고 해석 할 수 있다.
노드가 나오기 전에는 웹브라우저로 밖에 자스를 이용 할 수 없었다.
하지만 Node.js는 이제 알겠지만 그럼 Express는 뭘까?
프로그램을 개발하는 것은 나혼자 하는 것도 아니고 시간이 무한한 것도 아니다.
따라서 모두가 쉽게 알아 보거나 사용할 수 있고 시간을 단축시켜서 셋팅해주는 어떠한 툴이 필요하다.
이러한 코드 및 툴의 집합을 프레임워크라고 하며 Node.js를 개발하는데에 아주 유용한 프레임워크의 종류중 하나가
Express인 것이다.
다시 한번 말하지만 프레임워크(Express)가 없어도 서버 구축이 가능하다. Node.js에 내장돼 있는 HTTP 모듈이나 다른
유용한 모듈들을 사용해서 말이다. 하지만 서버를 예외 없고 모두가 쉽게 알 수 있고 일정한 규칙을 따라서 개발을 하고
싶다면 라우터나 미들웨어 등 일일이 신경써야 할 것이 한두가지가 아니다. 이를 Express에서 효율적으로 편하게 할 수
있도록 하는 것이다.
그럼 위에서 말을 했다. 프레임워크란 프로그램을 개발하는데에 있어서 편리함을 위해 모아놓은 코드 및 툴 집합이라고.
그렇다면 라이브러리는 무엇일까? 라이브러리도 비슷하다. 매번 똑같은 코드 또는 똑같은 환경이 나왔을 때 편의를 위해
미리 구현된 것이 바로 라이브러리라고 이해하면 된다.
그럼 프레임워크, 라이브러리 둘 다 미리 만들어놓은 환경을 가져다 쓰는 것인데, 둘 사이의 차이점은 무엇일까?
개발을 하면서 느낄 수 있지만 둘은 약간 다르다.
라이브러리는 개발자가 가져다 쓰면서 구현을 하지만 라이브러리를 언제 쓸지는 개발자가 정할 수 있으며 호출시기도
개발자 마음대로 할 수 있다. 하지만 프레임워크를 쓴다는 것은 개발자가 프레임워크 위에 설 수 없으며 프레임워크에서
정한 개발 플로우대로 따라야 한다는 것이다. 즉 프레임워크 주도하에 개발을 하는 것과 내가 개발을 하는데 라이브러리
를 쓴다는 것은 엄연한 차이가 있다. 정말 쉽게 말하면 자유도의 차이라고나 할까.. 이정도면 이해가 되었을 것이다.
'공부' 카테고리의 다른 글
[책]객체지향의 사실과 오해 정리 (0) | 2021.01.08 |
---|---|
[파워포인트/Mac]디자인 아이디어 안나오게 하는 법 (2) | 2020.11.27 |