웹개발

프레임워크(framework)의 개념

티베트 모래여우 2020. 10. 9. 11:57
반응형

Framework(프레임워크)는 어떤 어플리케이션을 개발하기 위해 필요한 기본적인 클래스와

라이브러리등이 모두 포함되어있는 환경을 의미합니다.

쉽게 생각하자면, FrameWork라는 명칭에서 볼 수 있듯이

Frame(틀 속에서)Work(작업한다)라고 생각하시면 됩니다.

기본적인 도구를 제공하는 환경 속에서 애플리케이션을 만드는 것이죠.

웹 애플리케이션을 개발한다면 거의 대부분 들어가는 로그인 기능

어떤 서비스나 애플리케이션을 개발할때는 공통적으로 사용되는 기능이 있기 마련입니다.

웹 애플리케이션을 예로 들자면 회원 가입/로그인/로그아웃 등의 사용자 관리 기능이 있겠죠?

그런데 하나의 웹 애플리케이션을 만들 때 마다 저런 기능을 계속해서 손수 구현하는것은 정신건강에도 좋지 못할 뿐더러 시간적으로도 상당한 손실입니다. 매번 웹을 만들 때 마다 손수 유효성 검사 코드를 짜고 로그인/아웃 코드를 한 땀 한 땀 코딩한다면..

난죽택

이러한 상황을 방지할 수 있는게 프레임워크라고 생각하시면 됩니다.

상기한 웹 애플리케이션을 예로 들자면, 사용자 관리 등의 기능을 빠르고 쉽게 구현할 수 있도록 환경을 제공해 주는 것이 프레임워크의 역할입니다.

다만 "환경을 제공한다" 라는 말에서 알 수 있듯, 프레임워크를 이용한 개발을 할 때에는 절대적으로 프레임워크의 룰에 따라야 합니다. 개발자의 입맛대로만 코드를 구성 할 수는 없습니다.

 


 

그렇다면 프레임워크와 라이브러리의 차이는 무엇일까요?

둘의 차이는 극명하고도 단순합니다.

라이브러리는 내가 원하는 시점에 라이브러리를 호출해서 사용하는 형태입니다.

즉, 내 코드에 라이브러리가 포함되어있는 형태입니다. 주도권이 개발자에게 있는 것이죠.

하지만 프레임워크는 반대입니다. 프레임워크 속에서 코드를 써 내려가는 형태라고 생각하시면 됩니다.

즉, 프레임워크에게 주도권이 있기 때문에 프레임워크의 룰(가이드라인)을 절대적으로 따라야 합니다.


프레임워크의 장/단점

장점

1. 유지보수가 용이하다.

2. 코드를 재사용하기 쉽다.

3. 개발 시간을 단축시켜주기 때문에 생산성이 높고 안정적이다.

4. 통일성을 보장한다(팀 단위 작업에 유리).

단점

1. 프레임워크에 대한 추가적인 학습을 필요로 하며, 경우에 따라 그 난이도가 높을 수도 있다.

2. 완벽하게 자유로운 코딩을 제한한다.

3. 필요로 하지 않는 기능도 포함되어 있을 수 있기 때문에 전체적인 애플리케이션의 용량이 증가한다.

반응형