프레임워크와 라이브러리의 차이?
프레임워크도 라이브러리아닌가?? 정의를 살펴보자.
Table of Content
간단한 정의
프레임워크
원하는 기능 구현에 집중하여 개발할 수 있도록 일정한 형태와 필요한 기능을 갖추고 있는 골격, 뼈대를 의미
예시
•
Java 서버 개발에 사용되는 Spring
•
Python 서버 개발에 사용되는 Django, Flask
•
안드로이드 앱 개발에 사용되는 Android
•
아이폰 앱 개발에 사용되는 Cocoa Touch
•
웹 개발에 사용되는 Angular, Vue.js 등
•
자바 기반의 JSP를 위한 프레임 워크 Struts
•
루비로 작성된 MVC패턴을 이용하는 Ruby on Rails
라이브러리
소프트웨어를 개발할 때 컴퓨터 프로그램이 사용하는 비휘발성 자원의 모임. 즉 특정 기능을 모와둔 코드, 함수들의 집합이며 코드 작성 시 활용 가능한 도구들을 의미
예시
•
JUnit 라이브러리: 테스트를 작성하기 위한 표준 라이브러리로 많이 사용
•
JDBC 라이브러리: Java에서 데이터베이스와 상호작용하기 위한 표준 인터페이스를 제공하는 라이브러리
•
Jackson 라이브러리: Jackson은 Java 객체를 JSON으로 변환하거나 JSON을 Java 객체로 변환하는데 사용
•
Slf4j 및 Logback 라이브러리: Java 애플리케이션에서 로깅을 위한 표준 라이브러리로 많이 사용
•
웹에서 사용자 인터페이스 개발에 사용되는 React.js
프레임워크 vs 라이브러리
프레임워크와 라이브러리의 차이점은 "제어 흐름"의 권한이 어디에 있는가?
라이브러리를 사용할 때 사용자는 애플리케이션 코드의 흐름을 개발자가 직접 제어해야 합니다. 개발 시 필요한 기능이 있을 경우 능동적으로 라이브러리를 호출하여 사용하거나 기존에 구성된 함수나 코드를 가져다 써야 합니다.
반면 프레임워크는 애플리케이션의 코드가 프레임워크에 의해 사용됩니다. 애플리케이션 코드는 프레임워크가 짜 놓은 틀에서 수동적으로 동작 하기 때문에 제어의 흐름은 프레임워크가 가지고 있고 사용자가 그 안에 필요한 코드를 작성하게 됩니다.
Related Posts
Search