본문 바로가기
IT

프레임워크란 예시 라이브러리 차이점은?

by 얼리컴티 2023. 6. 21.
반응형

소프트웨어 개발에 있어 중요한 하나의 뼈대 역할 요소, 프레임워크에 대해서 상세히 살펴봤습니다.


개발자의 개발 경험이나 스타일에 따라 결과물(소스)의 형태가 다릅니다. 개인이 운영하는 시스템일 경우에는 큰 문제가 되지는 않지만 여러 사람이 공동작업을 진행할 경우 문제가 발생하곤 합니다. 서로의 결과물을 공유하는 데 있어서 상대방의 스타일을 이해하는데 시간이 필요하며 개발 스킬의 차이가 클 경우 이해하기 힘든 경우도 발생합니다.

 

이러한 문제를 해결하기 위해 개발 표준 가이드(명명 규칙, 스크립트 작성규칙, 디렉토리 구조 등)를 정의하고 표준에 맞춰 개발될 수 있도록 한다. 그리고 자주 사용되는 기능이나 사이트 전체와 관련된 기능 (로그인, 세션관리, 권한관리 등)을 공통으로 관리하여 재사용성을 높일 수 있도록 하고 있는데, 그것이 바로 프레임 워크라 할 수 있겠습니다.

 

구조화된 스크립트를 통해 개발자의 스크립트 패턴을 정형화 할 수 있도록 되어있으며 개발자가 반복적으로 해야 하는 공통부분을 최소화 할 수 있도록 설계되어 있습니다. 이를 통해 개발자는 자신이 맡은 세부 업무개발에 집중할 수 있으며 개발표준 준수 및 개발품질 향상에 도움을 주고 있다고 합니다. 그렇다면 이 프레임워크가 무엇인지 자세히 살펴보도록 하겠습니다.

 

 

프레임 워크는 어떠한 목적을 달성하기 위해 복잡하게 얽혀 있는 문제를 해결하기 위한 하나의 구조이며, 소프트웨어 개발에 있어 하나의 뼈대 역할을 하고 있습니다. 즉, 앱 개발에 필요한 스크립트를 위에서 아래로 이은 것과 같은 관점에서 정리한 스크립트 모음집이라고 할 수 있습니다.

 

체계적인 코드관리로 유지보수가 용이한 것은 물론, 기본 설계 및 기능 라이브러리를 제공하기도 하여 개발 생산성이 높은 편입니다. 코드에 대한 재사용성 또한 높은 편이며, 추상화된 코드 제공을 통해 확장이 넓은 편에 속하기도 합니다. 최근 웹 UI 개발 환경에서 프레임워크라는 용어가 많이 등장한다. 이는 기존 개발환경에서도 많이 사용되던 용어로써 웹 UI 개발 환경에서도 프레임워크를 필요하게 됩니다. 이때 프레임 워크가 활용된다고 볼 수 있겠습니다.

 

반응형

 

웹의 경우 텍스트와 이미지를 구조에 맞춰 표현하는 수준의 화면구성이 많았지만 기업업무 시스템을 웹으로 구성하기 시작하면서 많은 변화가 있었습니다. 예를 들어 웹에서 그리드형태의 화면을 표현할 경우 Table/Div 태그를 활용하여 화면을 구성하면 끝입니다.

 

하지만 기업업무에서 사용되는 그리드는 정렬, 컬럼 위치/사이즈변경 등의 기능을 많이 사용하는데, 이를 순수하게 스크립트로 작업할 경우 복잡한 처리와 성능의 한계가 발생합니다. 그리고 스크립트 표준 준수 및 개발품질 문제가 발생할 수 있으며 유지보수를 어렵게 할 수도 있습니다. 이와 같은 문제를 자바스크립트 프레임워크를 통해 해소할 수 있는 것입니다.

 

 

앞서 언급해드린 것처럼 프레임워크는 어떠한 목적을 달성하기 위해 복잡하게 얽혀 있는 문제를 해결하기 위한 하나의 구조이며, 소프트웨어 개발에 있어 하나의 뼈대 역할을 하고 있습니다. 그리고 앱 개발에 필요한 스크립트를 정리한 모음집이라고 언급해드렸는데 이와 관련해서 라이브러리 또한 같은 뜻을 가지고는 있지만 서로 다릅니다.

 

여기서 라이브러리란 소프트웨어의 구성요소 중 하나로, API를 기반으로 대상 플랫폼에서 바로 실행할 수 있도록 모듈화된 프로그램 모음집이라 할 수 있습니다. 프레임워크의 경우, 여러 기능들을 가진 클래스와 라이브러리가 특정 결과물을 구현하고자 합쳐진 형태라고 할 수 있는데, 라이프 사이클이나 일종의 상태를 가집니다.

 

즉, 이 둘의 결정적인 차이는 자유도라는 점인데, 프레임워크를 가지고 프로그램을 만들기 시작하면 어떤 규약을 꼭 지키면서 만들어야 하지만 라이브러리는 도구인 만큼 이 프레임워크가 가지고 있는 규약을 지키면서 나머지 자유로운 부분은 어떠한 도구를 써도 무방하다는 것에 있습니다. 하지만 결국 둘 다 프로그램을 쉽게 만들기 위해서 만든 것들이라는 점에서 공통점이 있습니다.

 


2023.06.20 - [IT] - 프롬프트란 뜻 엔지니어 지니 사용법

2023.06.18 - [IT] - 아틀라시안 무료 사용법 가격 자세한 특징들!

2023.06.15 - [IT] - 마이크로스트레티지 원 비트코인 업체 자세히 살펴보자

2023.06.14 - [IT] - 컴포넌트 뜻 종류 등 모든 것!

반응형

댓글