일반적으로 웹사이트나 앱을 개발할 때에는, 프레임워크를 이용하여 작성하는 경우가 대부분이다. 그렇다면 이 "프레임워크"란 무엇일까?
프레임워크(FrameWork) : 어떠한 목적을 달성하기 위해 복잡하게 얽혀있는 문제를 해결하기 위한 구조며, 소프트웨어 개발에 있어 하나의 뼈대 역할을 하는 것
- 즉, 일정한 틀을 가지고 있으며, 개발자는 그저 뼈대에 살을 붙이듯 원하는 대로 채워 넣으면, 프로그램을 완성해주는 것이라 생각하면 된다.
그렇다면 대표적인 프레임워크엔 무엇이 있을까?
대표적인 예로 유명한 Django(장고)를 살펴보자.
장고는 MVT패턴이 적용된 프레임워크로, Model, View, Template라는 패턴에 맞게 개발을 하면 된다. 따라서 개발자는 Model, View, Template에 해당하는 부분에 원하는 코드를 잘 채워넣어주기만 하면, 장고 프레임워크가 이를 상호유기적으로 실행하여 구동하게 된다. 즉, 장고는 파이썬 위에서 실행되는, 하나의 뼈대라고 생각하면 된다.
실제로 모든 코드를 작성한 후 django runserver
만 해주면 서버가 돌아가게 된다.
그렇다면 노드(Node JS)는 프레임워크라고 할 수 있을까?
Node.js는 자바스크립트(javascript)를 실행하는 하나의 환경이라고 할 수 있다.
따라서 노드는 프레임워크가 아니기 때문에, 프로그램의 구조에 대한 설계를 모두 개발자가 해야 한다는 의미이다.
요약하자면 Node.js는 프레임워크가 아닌 그저 단순한 자바스크립트 실행 환경일 뿐이라는 것이다
리액트는 라이브러리로 알고 있습니다만..