라이브러리, 프레임워크

Yuni·2023년 4월 9일
0
post-thumbnail

라이브러리와 프레임워크는 개발자들이 애플리케이션을 빠르고 쉽게 구축하고 유지보수할 수 있도록 도와주는 도구입니다.

라이브러리

라이브러리는 애플리케이션 개발에서 필요한 함수나 기능들을 모아놓은 집합체로 해당 함수나 기능들은 다른 프로그램에서 재사용할 수 있습니다. jQuery나 React 등이 라이브러리에 속합니다.

특징

  • 소규모: 라이브러리는 보통 몇 개의 파일로 이루어져 있으며, 애플리케이션의 특정 기능을 수행하기 위한 함수나 클래스 등의 작은 단위로 구성되어 있습니다.
  • 자유도: 라이브러리는 애플리케이션의 구조나 흐름을 제어하지 않으며, 개발자가 필요한 기능을 가져와서 자유롭게 사용할 수 있습니다.
  • 유연성: 라이브러리는 사용하는 언어나 플랫폼에 따라서 다양한 형태로 제공될 수 있습니다.

또한 라이브러리는 애플리케이션 개발에서 필요한 기능들을 빠르게 개발할 수 있도록 도와줍니다. 예를 들어, 데이터베이스 연결, 네트워크 통신, UI 컴포넌트 등을 라이브러리로 제공하면 개발자는 이를 사용하여 더욱 빠르고 쉽게 애플리케이션을 개발할 수 있습니다.



프레임워크

프레임워크는 라이브러리처럼 애플리케이션 개발에서 필요한 기능들을 제공하는 도구입니다. 하지만 라이브러리와는 다르게 프레임워크는 애플리케이션의 구조나 흐름을 제어하며 개발자가 프로그램의 뼈대를 만든 뒤 그 위에 애플리케이션을 개발하는 방식으로 동작합니다. 파이썬의 Django, 자바의 Spring, 자바스크립트의 expressJS가 이에 해당합니다.

프레임워크는 애플리케이션의 개발 방식, 구조, 규칙 등을 정의하고, 개발자는 이를 따라야 합니다. 이러한 아이디어를 제어의 역전이라고 합니다. 즉, 도움을 받기 위해 만들어진 프레임워크에게 제어의 흐름을 넘겨 개발자는 정해진 규칙에 따라 코드를 작성해 신경써야 할 부분을 줄일 수 있습니다.

특징

  • 대규모: 프레임워크는 라이브러리보다 더욱 큰 규모로 이루어져 있으며, 애플리케이션의 전체적인 구조를 제어합니다.
  • 제어: 프레임워크는 제어의 흐름이 프레임워크에 있기 때문에 개발자는 프레임워크가 제공하는 규칙과 구조를 따라야 합니다.
  • 상호작용: 프레임워크는 개발자가 작성한 코드와 상호작용하여 애플리케이션을 완성합니다. 따라서 프레임워크가 제공하는 기능들을 적절하게 활용해야 합니다.

프레임워크는 애플리케이션의 개발 생산성을 높이고, 개발자들이 일관된 방식으로 개발을 진행할 수 있도록 도와주지만 프레임워크는 개발자들이 따라야 할 규칙과 구조를 정의하고 있기 때문에 더 많은 학습과 이해가 필요합니다. 또한 프레임워크의 제한적인 구조 때문에, 애플리케이션의 기능을 추가하거나 변경하는 작업이 더욱 복잡해질 수 있습니다.



결론

일반적으로 프레임워크는 라이브러리보다 더 큰 규모의 개발 도구이기 때문에, 프레임워크는 라이브러리를 포함하고 있을 가능성이 높습니다. 대부분의 프레임워크에서 함께 제공되는 라이브러리들은 프레임워크와 호환되도록 설계되어 있습니다. 하지만 모든 프레임워크가 라이브러리를 포함하는 것은 아니기 때문에 몇몇 프레임워크는 외부 라이브러리를 사용하는 경우가 있습니다. 이 경우에는, 해당 프레임워크에서 필요한 라이브러리를 참조하거나 직접 라이브러리를 추가하여 사용해야 합니다.

라이브러리와 프레임워크는 모두 애플리케이션 개발에서 필요한 기능들을 제공하는 도구입니다. 하지만 라이브러리는 자유도가 높고 소규모이며, 개발자가 필요한 기능을 가져와서 자유롭게 사용할 수 있습니다. 반면 프레임워크는 애플리케이션의 구조와 흐름을 제어하며, 개발자가 프레임워크가 제공하는 규칙과 구조를 따라야 합니다.




참고사이트
https://cocoon1787.tistory.com/745
https://code-lab1.tistory.com/284
https://eroul-ri.tistory.com/5

profile
Look at art, make art, show art and be art. So does as code.

0개의 댓글