면접준비

프레임워크는 왜 쓸까?

소금_msg 2022. 12. 6. 18:18

프레임워크란?

프로그램의 기초를 구축할 수 있는 코드의 집합이다. 어떤 프로그램을 만들기 위한 기본 틀.

예를틀어 자동차를 만들때 자동차의 뼈대를 프레임워크라고 생각하면 된다.

프레임워크와 라이브러리와 비교하자면

라이브러리는 자동차의 사이드미러, 핸들, 창문.. 이렇게 필요에 의해 추가할 수 있는 모듈이라고 생각할 수 있다.

 

프레임워크를 사용하는 이유

개발 프로세스 간소화

프레임워크에서 제공하는 도구와 패키지가 일반적인 개발 절차를 처리하기때문에

이미 만들어진 코드를 재사용하게 되므로 시간과 비용을 아낄 수 있다.

초급 개발자에게 고급 개발자 못지않은 방법을 제공하므로 소스코드를 작성하는 시간을 크게 줄일 수 있다.

 

코드 길이 간소화 및 완성도

대부분의 프레임워크는 세션관리, 인증과 같은 기능을 제공하기 때문에 웹 개발 작업을 더 간소화 시킬 수 있으며, 이러한 프레임워크의 기능은 다수의 개발자가 사용하며 수정하고 보완했기 때문에, 이미 검증된 코드들로 이루어져 있으며

이를 이용하여 완성도 높은 프로그램을 구축할 수 있다.

 

유지보수가 용이하다.

개발자가 직접 소스코드를 작성하면, 담당자의 변동 및 부재시에 혼동이 생기기 쉽고, 인수인계가 제대로 되지 않았다면 분석하는 시간이 추가로 필요하지만, 프레임워크를 사용한다면 코드가 체계적이고 상대적으로 정형화 되기 때문에, 개발자가 중간에 교체되더라도 리스크가 적고, 소스코드의 유지보수도 상당히 용이해진다.

 

보안

개발자는 일반적으로 SQL 인젝션, CSRF(사이트 간 요청 위조) 등 외부 공격을 방어하기 위해 추가적인 소스코드를 작성해야하지만, 프레임워크에서는 개발자가 웹사이트 혹은 애플리케이션을 보호할 수 있는 방법을 제공해서 따로 보안을 위한 소스코드를 추가할 필요가 없다.

 

프레임워크 사용의 단점 

학습이 필요하다

다양한 기능을 제공하고, 미리 만들어져있는 기능을 사용하기 위해서 학습이 필요하다.

 

제약사항

기본적으로 설계된 구조를 바탕으로 코드를 작성하고 기능을 완성해야하기 때문에, 코드를 유연하게 개발하는 데에는 한계가 있을 수 있다.

 

크기

프레임워크는 많은 기능을 제공한다. 개발자가 필요하지 않은 기능도 포함된다는 것을 의미하고 개발 용량이 커질 수 있으며, 불필요한 기능이 메모리를 차지하기 때문에 리소스 낭비로 이어질 수 있다.

 

결론

프레임워크는 많은 기능을 제공하며 프로그램을 빠르고 효율적으로 빌드업 할수 있게 해주는 강력한 툴이지만,

사용하기 위해서는 그에 맞는 학습이 필요하고, 제공하는 기능과 설계된 구조를 벗어난 작업에는 유연성이 떨어진다는 단점도 가지고 있다.

하지만 프레임워크는 웹 개발의 프로세스를 크게 단축시켰고, 개발자가 신경써야 하는 여러 부분들을 축소시킴으로써 많은 도움이 되고 있다.

 

 

참고 블로그

https://velog.io/@whitecloud94/%ED%94%84%EB%A0%88%EC%9E%84%EC%9B%8C%ED%81%ACFramework%EB%9E%80

 

프레임워크(Framework)란?

공부하며 작성한 포스트입니다. 틀린 내용이나 부실한 설명이 있다면 알려주세요.😁 프레임워크는 프로그램의 기초를 구축할 수 있는 코드의 집합이다. 이를 집을 짓는것으로 비유를 해 보자.

velog.io