<CS 지식> Framework vs Library

Google 아니고 Joogle·2022년 4월 15일
0

CS 지식

목록 보기
3/22

Framework?

  • 소프트웨어의 구체적인 부분에 해당하는 설계와 구현을 재사용이 가능하게끔 일련의 협업화된 형태로 클래스들을 제공하는 것
  • 특정 프로그램을 개발하기 위한 여러 요소들과 메뉴얼인 룰을 제공하는 프로그램
  • 하나의 애플리케이션을 구축할 때, 모든 애플리케이션의 공통적인 개발 환경을 제공해주는 것. 개발에 필요한 화면구현, DB연동, 개발환경 들에 공통적인 부분을 제공함으로써 개발 시간과 리소스 비용을 절감해 생산성을 높여주는 것

Framework의 예

  • STRUTS Framewrok : 자바 기반의 JSP만을 위한 프레임워크
    자바기반의 JSP만을 위한 프레임워크로, 다양한 운영체제에서 활용 가능.
    웹 개발은 보통 프론트엔드와 백엔드 영역으로 나뉘는데, 이를 디자이너 프론트엔드 영역과 개발자의 백엔드 영역으로 분리해서 개발을 하자는 목적으로 만들어진 기술이 MVC(Model, View, Controller) model2.
    이러한 MVC 기반으로 나온 프레임워크가 스트럿츠 프레임워크이고, MVC 모델을 이용한 웹 애플리케이션 구축이 매우 용이

  • Spring Framework : J2EE에서 제공하는 대부분의 기능을 지원, JAVA 개발에 있어서 대표적인 프레임워크, JDBC를 비롯하여 iBatis, 하이버네이트, JPA등 DB처리를 위해 널리 사용되는 라이브러리와 연동을 지원.
    또한 전자정부 표준프레임워크의 기반이 되는 기술이기 때문에 스프링 프레임워크의 활용도는 높아지고 있음

Library?

  • 소프트웨어를 개발하기 쉽게 어떤 기능을 제공하는 도구
  • 대상 환경 (플랫폼)에서 바로 실행될 수 있는 형태로 제공되며, 실제 실행되어 기능을 수행하는 단편화된 프로그램이라는 점이 API와 다름
  • 프로그래밍 언어에서 라이브러리를 사용할 수 있도록 소스코드 수준에서 인터페이스를 노출시킨 것이 API
  • 라이브러리는 동작하는 완전한 프로그램이 아닌, 특정한 부분 기능만을 수행하도록 제작된, 컴파일되어 기계어의 형태로 존재하는 프로그램

Framework vs Library

  • 프레임워크를 가지고 프로그램을 만들기 시작하면 어떤 규약을 꼭 지키면서 만들어야 한다
  • 라이브러리는 일종의 '도구'로, 프레임워크가 가지고 있는 규약을 지키면서 나머지 자유로운 부분은 어떠한 도구를 써도 무방
profile
Backend 개발자 지망생

0개의 댓글