Framework?
소프트웨어 개발 : Framework
Framework란 Frame(틀, 규칙/법칙) + Work(일, 소프트웨어의 목적) 을 의미하는 Work의 합성어로 소프트웨어 개발에서 일종의 뼈대나 템플릿 같은 역할을 수행한다. 이 틀 안에서 개발자들은 주어진 규칙과 구조를 따라 하나의 어플리케이션을 개발하고 또 구축하는데 있어 모든 어플리케이션의 공통적인 개발 환경을 제공해주는 것으로 개발에 필요한 화면구현, DB연동, 개발환경들에 공통적인 부분을 제공함으로써 개발 시간과 비용을 줄이고 생산성을 높여준다.
Framework의 특징
1. 구조화된 환경 제공
- 프레임워크는 개발환경을 구조화하여 효율적인 코드구현을 돕는다.
- 화면구현, 데이터베이스 연동 등 기본적인 기능들을 효과적으로 관리할 수 있는 구조를 제시한다.
2. 코드 재사용성 증가
- 프레임워크를 사용하면 공통적인 코드를 재사용할 수 있어 개발시 시간과 비용을 절감할 수 있다.
3. 개발 생산성 향상
- 프레임워크의 도입으로 기존의 반복적인 작업이 줄어들어 개발시간이 단축되고 프로세스의 최적화로 전체 프로젝트의 생산성이 향상된다.
Framework를 사용하는 이유
1. 개발 생산성이 향상된다.
- 기본적인 구조와 기능들이 미리 구축되어 있어 개발자는 핵심 기능에만 집중할 수 있어 빠르고 효율적인 개발이 가능하다.
2. 유지보수가 뛰어나다.
- 프레임워크가 제시하는 명확안 구조화 규칙은 코드의 일관성을 유지하여 유지보수가 쉽고 간편해진다.
3. 최신기술 트렌드에 대응하기 쉽다.
- 프레임워크는 최신 트랜드와 기술을 적용하기 쉽도록 설계되어 대응하기 용이하다.
4. 일정 이상의 품질을 기대할 수 있다.
Framework 와 Library
Framework | Library | |
설명 | 프레임워크는 소프트웨어의 특정 문제를 해결하기 위해 상호 혀벽하는 클래스와 인터페이스의 집합으로 개발자들은 프레임워크 안에서 정의된 규칙에 따라 코드를 작성하게 된다. |
라이브러리는 특정 작업을 수행하는 코드들을 모아놓은 것으로 개발자들의 필요에 따라 라이브러리 함수를 호출하여 사용할 수 있다. |
장점 | 일관된 방식의 개발 특정 작업에 대한 코드가 이미 프레임워크에 내장되어 있기 때문에 개발시간을 단축시킬 수 있다. 재사용성 및 유지보수가 용이하다. |
코드 재사용, 효율적인 코드관리, 유연한 사용 |
단점 | 프레임워크별 특성과 규칙이 존재하기 때문에 초기 학습이 필요하다. 프레임워크의 규칙과 구조에 얽매이게되어 유연성이 제한될 수 있다. |
버전의 변경 혹은 충돌로 인해 의존성문제가 발생할 수 있다. |