개발공부 임고미

[Frontend] 프레임워크/ 라이브러리 /플러그인 개념 및 차이점 본문

리액트/이론

[Frontend] 프레임워크/ 라이브러리 /플러그인 개념 및 차이점

임고미 2020. 9. 3. 11:12
728x90
300x250

프레임워크/ 라이브러리 /플러그인

 

1. Framework(프레임워크)

  프레임워크는 뼈대나 기반구조를 뜻하는데, Application 개발 시 필수적인 코드, 알고리즘, 데이터베이스 연동 등과 같은 기능들을 위해 어느정도 뼈대(구조)를 제공해주는 것입니다. 그러므로 그러한 뼈대 위에 프로그래머가 코드를 작성하여 Application을 완성시켜야 합니다. 어느정도 뼈대를 제공해 주기 때문에, 객체 지향 개발을 하면서 일관성 부족 등의 문제를 해결해 줍니다. 

그래서 소프트웨어에서는 프레임워크를 아래와 같이 정의하곤 합니다.

 소프트웨어의 특정 문제를 해결하기 위해서 상호 협력하는 클래스와 인터페이스의 집합 

 2. Library(라이브러리)

  Library는 특정 기능에 대한 도구 or 함수들을 모은 집합입니다. 즉, 프로그래머가 개발하는데 필요한 것들을 모아둔 것입니다.

Library는 프로그래머라면 누구나 한번쯤은 써봤을 것이며, 스스로 써보지 않았다라고 생각하는 사람도 라이브러리가 무엇인지 몰라서 그렇게 얘기하는 것일 뿐, 자기도 모르게 써보았을 것입다. Library 역시도 아래와 같이 간단하게 정의할 수 있습니다. 

   + 라이브러리와 모듈 : 모듈의 의미는 구성 단위, 구성부분 이고 라이브러리는 도서관이라는 뜻을 가지고 있습니다. 개발에서는 라이브러리와 모듈을 동일한 의미라고 생각하시면 됩니다. 자주 사용하게 되는 코드를 하나의 함수나 클래스라는 단위로 묶어서 코드를 재사용하게 됩니다.
   즉 이러한 함수 또는 클레스들을 모아서 라이브러리 또는 모듈이라고 부릅니다 . 
( = 거의 동일한 개념으로 재사용이 가능한 코드의 집합체)

  단순 활용이 가능한 도구들의 집합 

 

3. Framework와 Library의 차이

 언뜻 보면 Framework와 Library 모두 개발자에게 필요한 것들을 모아둔 것이라고 착각할 수 있지만 큰 차이가 존재합니다.

이미 이곳에 오기 전에 Framework와 Library의 차이에 대해서 눈치를 채신 분들이 많으실 것입니다. 

생각하신대로 둘의 차이는 Flow(흐름)에 대한 제어 권한이 어디에 있느냐의 차이입니다. 프레임워크는 전체적인 흐름을 자체적으로 가지고 있으며, 프로그래머가 그 안에 필요한 코드를 작성하는 반면에 라이브러리는 사용자가 흐름에 대해 제어를 하며 필요한 상황에 가져다 쓰는 것입니다. 

이 내용을 한 문장으로 정리하자면 프레임워크에는 제어의 역전이 적용되어있다는 것입니다.

-- 이해가 잘 안되면 참고 : https://jokergt.tistory.com/89

 

프레임워크란?

프레임워크의 개념을 한번에 잡아주는 좋은 글이다.. 프레임워크란 단어처럼 많이 쓰이면서도 애매한 단어가 없는 것 같다. 일단 구글링을 해 본 결과 다음과 같은 정의를 찾을 수 있었다.   ===

jokergt.tistory.com

3. Library와 pug-in의 차이

Plug-in은 어떤 특정한 하나의 문제를 해결하기 위한 component.
→ jQuery에 plug-in이 많은데, 이들은 주로 어떤 하나의 문제를 해결하기 위한 것들입니다.
    ex) Slider나, Modal

Library비슷한 성격을 가진 plug-in의 집합이라 보시면 됩니다. jQuery를 주로 library라고 하는데, jQuery의 catchphrase인 'write less, do more'라는 문제를 해결하기 위해, DOM Search 관련 Method, Ajax call 같은 편의 기능들을 제공해주지요.

참고 :  (https://blog.gaerae.com/2016/11/what-is-library-and-framework-and-architecture-and-platform.html)
참고 : https://okky.kr/article/357488

 

728x90
300x250

'리액트 > 이론' 카테고리의 다른 글

[리액트]export default와 export  (5) 2020.09.07
[Javascript] Ajax와 axios?  (0) 2020.09.03
[React] props와 state  (1) 2020.09.02
[React] JSX사용하기 / Fragment 사용하기  (0) 2020.09.02
[React] 리액트란 ?  (0) 2020.09.02
Comments