소프트웨어 개발에 있어 중요한 하나의 뼈대 역할 요소, 프레임워크에 대해서 상세히 살펴봤습니다.
개발자의 개발 경험이나 스타일에 따라 결과물(소스)의 형태가 다릅니다. 개인이 운영하는 시스템일 경우에는 큰 문제가 되지는 않지만 여러 사람이 공동작업을 진행할 경우 문제가 발생하곤 합니다. 서로의 결과물을 공유하는 데 있어서 상대방의 스타일을 이해하는데 시간이 필요하며 개발 스킬의 차이가 클 경우 이해하기 힘든 경우도 발생합니다.
이러한 문제를 해결하기 위해 개발 표준 가이드(명명 규칙, 스크립트 작성규칙, 디렉토리 구조 등)를 정의하고 표준에 맞춰 개발될 수 있도록 한다. 그리고 자주 사용되는 기능이나 사이트 전체와 관련된 기능 (로그인, 세션관리, 권한관리 등)을 공통으로 관리하여 재사용성을 높일 수 있도록 하고 있는데, 그것이 바로 프레임 워크라 할 수 있겠습니다.
구조화된 스크립트를 통해 개발자의 스크립트 패턴을 정형화 할 수 있도록 되어있으며 개발자가 반복적으로 해야 하는 공통부분을 최소화 할 수 있도록 설계되어 있습니다. 이를 통해 개발자는 자신이 맡은 세부 업무개발에 집중할 수 있으며 개발표준 준수 및 개발품질 향상에 도움을 주고 있다고 합니다. 그렇다면 이 프레임워크가 무엇인지 자세히 살펴보도록 하겠습니다.
프레임 워크는 어떠한 목적을 달성하기 위해 복잡하게 얽혀 있는 문제를 해결하기 위한 하나의 구조이며, 소프트웨어 개발에 있어 하나의 뼈대 역할을 하고 있습니다. 즉, 앱 개발에 필요한 스크립트를 위에서 아래로 이은 것과 같은 관점에서 정리한 스크립트 모음집이라고 할 수 있습니다.
체계적인 코드관리로 유지보수가 용이한 것은 물론, 기본 설계 및 기능 라이브러리를 제공하기도 하여 개발 생산성이 높은 편입니다. 코드에 대한 재사용성 또한 높은 편이며, 추상화된 코드 제공을 통해 확장이 넓은 편에 속하기도 합니다. 최근 웹 UI 개발 환경에서 프레임워크라는 용어가 많이 등장한다. 이는 기존 개발환경에서도 많이 사용되던 용어로써 웹 UI 개발 환경에서도 프레임워크를 필요하게 됩니다. 이때 프레임 워크가 활용된다고 볼 수 있겠습니다.
웹의 경우 텍스트와 이미지를 구조에 맞춰 표현하는 수준의 화면구성이 많았지만 기업업무 시스템을 웹으로 구성하기 시작하면서 많은 변화가 있었습니다. 예를 들어 웹에서 그리드형태의 화면을 표현할 경우 Table/Div 태그를 활용하여 화면을 구성하면 끝입니다.
하지만 기업업무에서 사용되는 그리드는 정렬, 컬럼 위치/사이즈변경 등의 기능을 많이 사용하는데, 이를 순수하게 스크립트로 작업할 경우 복잡한 처리와 성능의 한계가 발생합니다. 그리고 스크립트 표준 준수 및 개발품질 문제가 발생할 수 있으며 유지보수를 어렵게 할 수도 있습니다. 이와 같은 문제를 자바스크립트 프레임워크를 통해 해소할 수 있는 것입니다.
앞서 언급해드린 것처럼 프레임워크는 어떠한 목적을 달성하기 위해 복잡하게 얽혀 있는 문제를 해결하기 위한 하나의 구조이며, 소프트웨어 개발에 있어 하나의 뼈대 역할을 하고 있습니다. 그리고 앱 개발에 필요한 스크립트를 정리한 모음집이라고 언급해드렸는데 이와 관련해서 라이브러리 또한 같은 뜻을 가지고는 있지만 서로 다릅니다.
여기서 라이브러리란 소프트웨어의 구성요소 중 하나로, API를 기반으로 대상 플랫폼에서 바로 실행할 수 있도록 모듈화된 프로그램 모음집이라 할 수 있습니다. 프레임워크의 경우, 여러 기능들을 가진 클래스와 라이브러리가 특정 결과물을 구현하고자 합쳐진 형태라고 할 수 있는데, 라이프 사이클이나 일종의 상태를 가집니다.
즉, 이 둘의 결정적인 차이는 자유도라는 점인데, 프레임워크를 가지고 프로그램을 만들기 시작하면 어떤 규약을 꼭 지키면서 만들어야 하지만 라이브러리는 도구인 만큼 이 프레임워크가 가지고 있는 규약을 지키면서 나머지 자유로운 부분은 어떠한 도구를 써도 무방하다는 것에 있습니다. 하지만 결국 둘 다 프로그램을 쉽게 만들기 위해서 만든 것들이라는 점에서 공통점이 있습니다.
2023.06.20 - [IT] - 프롬프트란 뜻 엔지니어 지니 사용법
2023.06.18 - [IT] - 아틀라시안 무료 사용법 가격 자세한 특징들!
'IT' 카테고리의 다른 글
덕덕고 개인정보보호 가능한 브라우저 추천 (0) | 2023.06.25 |
---|---|
코발트 스트라이크 악성코드 탐지 주의해야 한다 (0) | 2023.06.22 |
프롬프트란 뜻 엔지니어 지니 사용법 (0) | 2023.06.20 |
아틀라시안 무료 사용법 가격 자세한 특징들! (0) | 2023.06.18 |
마이크로스트레티지 원 비트코인 업체 자세히 살펴보자 (0) | 2023.06.15 |
댓글