공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!! 포스팅 내용이 찾아주신 분들께 도움이 되길 바라며 더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^
|
이번 포스팅에서는 프레임워크와 라이브러리의 차이에 대해 포스팅하려고 하는데요.
이 포스팅 내용은 제가 구글링을 해서 찾은 내용들은 제가 알기 쉽게 정리하고자 하게 되었습니다.
다른 블로그들에서 본 내용들이 있을 수 있습니다.
먼저 두 개념에 대해 알아야겠죠?
개념들은 위키 백과사전에서 검색했습니다.
- 프레임워크(Framework) : 프레임워크를 검색하면 소프트웨어 프레임워크가 나옵니다.
1. 소프트웨어 프레임워크
: 소프트웨어 프레임워크(software framework)는 복잡한 문제를 해결하거나 서술하는 데 사용되는
기본 개념 구조이다. 간단히 뼈대, 골조(骨組), 프레임워크(framework)라고도 한다.
이렇게 매우 폭넓은 정의는 이 용어를 버즈워드(buzzword)로서,
특히 소프트웨어 환경에서 사용할 수 있게 만들어 준다.
그 외에 두 가지 프레임워크를 찾아볼 수 있습니다.
2. 웹 어플리케이션 프레임워크
: 웹 애플리케이션 프레임워크(Web application framework)는 동적인 웹 페이지나,
웹 애 플리케이션, 웹 서비스 개발 보조용으로 만들어지는
애플리케이션 프레임워크의 일종이다.
웹 페이지를 개발하는 과정에서 겪는 어려움을 줄이는 것이 주 목적으로
통상 데이터베이스 연동, 템플릿 형태의 표준, 세션 관리, 코드 재사용 등의 기능을
포함하고 있다.
3. 애플리케이션 프레임워크
: 애플리케이션 프레임워크(Application Framework)는
프로그래밍에서 특정 운영 체제를 위한
응용 프로그램 표준 구조를 구현하는 클래스와 라이브러리 모임이다.
간단하게 프레임워크라고도 부른다.
재사용할 수 있는 수많은 코드를 프레임워크로 통합함으로써 개발자가
새로운 애플리케이션을 위한 표준 코드를 다시 작성하지 않아도 같이 사용된다.
애플리케이션 프레임워크는 그래픽 사용자 인터페이스(GUI)의 구현에 일반화되었다.
그 까닭은 GUI 응용 프로그램의 기본 구조의 표준화를 촉진하는 경향이 있기 때문이다.
응용 프로그램의 기본 코드 구조가 명백하므로 표준 프레임워크를 사용하면
자동으로 GUI 툴을 만드게 된다.
프레임워크의 구현은 객체 지향 프로그래밍 기법이 사용되고 있는
응용 프로그램 고유의 클래스가 프레임워크의 기존 클래스를 상속할 수 있다.
위 개념들을 보니 우리가 흔히 말하는 프레임워크는
애플리케이션 프레임워크인 것 같네요 ㅎㅎ
- 라이브러리(library)
: 주로 소프트웨어를 개발할 때 컴퓨터 프로그램이 사용하는 비휘발성 자원의 모임이다.
여기에는 구성 데이터, 문서, 도움말 자료, 메시지 틀, 미리 작성된 코드, 서브루틴(함수),
클래스, 값, 자료형 사양을 포함할 수 있다.
OS/360 및 이후 세대에서는 파티션 데이터 세트로 부른다.
솔직히 이런 정의만 보면 두 개의 차이는 커녕 각 단어의 개념도 이해하기가 쉽지 않죠 ㅎㅎ
두 개의 차이를 예를 들어 설명해보겠습니다.
먼저 프레임워크는 목적을 이루기 위한 하나의 '수단' 이라고 생각하시면 됩니다.
그리고 라이브러리는 '도구' 라고 생각하시면 돼요.
무슨 말이냐하면 어떠한 수단은 목적이 있기에 필요한 거죠?
해외여행을 가기위해 비행기를 타거나 배를 타는 것처럼
하지만 도구에는 특정한 목적이 없습니다. 물론 최적화된 용도는 있지만,
위 두 개는 각자의 장단점이 있습니다.
프레임워크는 목적이 정해져 있기 때문에 목적을 벗어나면 사용할 수가 없어요
비행기를 가지고 집을 짓거나 할 수 없는 것처럼.
=> 애초에 프로그래밍 규칙이 정해져 있습니다.
하지만 라이브러리는 '도구' 이기 때문에
숟가락은 밥먹을 때 가장 최적화된 도구이지만 숟가락으로 못을 박을 수도 있고,
땅을 파거나 할 수도 있죠.
어떤 블로그에서는 아래처럼 간단하게 차이를 설명해주시고 있네요.
http://출처: http://zinee-world.tistory.com/125
어플리케이션의 Flow를 누가 쥐고 있느냐다. 프레임워크는 전체적인 흐름을 스스로가 쥐고 있으며 사용자는 그 안에서 필요한 코드를 짜 넣는다. 반면 라이브러리는 사용자가 전체적인 흐름을 만들며 라이브러리를 가져다 쓰는 것이다. |
이상입니다!!
요즘 대표적인 자바스크립트
프레임워크에는 AngularJS,
라이브러리에는 ReactJS 가 있습니다.
'개발 etc' 카테고리의 다른 글
AWS amazon EC2 인스턴스 root 계정활성화 ssh 외부접속 활성화 (0) | 2017.09.27 |
---|---|
jsp java 에서 Class.forName("com.mysql.jdbc.Driver") 호출 안하고, servlet에서 호출하기! (0) | 2017.09.27 |
mysql auto_increment reset , auto_increment set 1, auto_increment 1로 초기화하기 (0) | 2017.06.13 |
티스토리 소스 코드 넣기 소스 코드 플러그인 syntaxhighlighter 플러그인 하는 방법 (0) | 2017.06.10 |
mysql database table 에 한글 물음표로 입력될 때 해결방법 (0) | 2017.05.26 |