라이브러리, 프레임 워크 및 API의 차이점은 무엇입니까? 그들은 모두 나에게 똑같아 보입니다. 나는 사람들이 이것을 생각하고 싶다.
라이브러리, 프레임 워크 및 API의 차이점은 무엇입니까? 그들은 모두 나에게 똑같아 보입니다. 나는 사람들이 이것을 생각하고 싶다.
답변:
라이브러리는 특정 목적을 수행하는 함수 / 객체 모음입니다. 다양한 프로젝트에서 라이브러리를 사용할 수 있습니다.
프레임 워크는 응용 프로그램 작성에 도움이되는 패턴 및 라이브러리의 모음입니다.
API는 다른 프로그램이 직접 액세스하지 않고도 프로그램과 상호 작용할 수있는 인터페이스입니다.
다시 말해서 라이브러리를 응용 프로그램의 애드온 / 조각으로, 프레임 워크를 응용 프로그램의 골격으로, API를 응용 프로그램의 외부를 향한 부분으로 생각하십시오.
지금까지는 좋은 대답을했지만 한 가지 핵심 사항이 누락되었습니다 . 프레임 워크는 IoC를 사용합니다 . 코드는 프레임 워크로 둘러싸여 있습니다. 그 안에 살고 있습니다. 대조적으로 코드 는 라이브러리 또는 API 만 사용 합니다. 그것은 바깥에 산다. IoC가 그 차이입니다.
라이브러리는 일반적인 작업을 수행하기 위해 작성된 코드 모음입니다. 라이브러리 코드는 비교적 안정적이며 버그가없는 경향이 있습니다. 적절한 라이브러리를 사용하면 작성해야하는 코드의 양을 줄일 수 있습니다. 응용 프로그램의 코드 줄 수를 줄이면 기능 제공 속도가 높아집니다. 대부분의 경우 자신의 코드를 작성하는 것보다 라이브러리 루틴을 사용하는 것이 좋습니다.
API (Application Programming Interface)는 응용 프로그램이 사용 가능한 기능에 액세스 할 수 있도록하는 일부 기능에 대한 인터페이스입니다. API는 인터페이스라고 할 수 있습니다. API는 시스템, 라이브러리, 프레임 워크, 프로그램 및 응용 프로그램을 포함한 여러 수준으로 존재합니다. API를 구현하는 코드가 구현되기 전에 API를 정의해야합니다.
API의 일부는 여러 가지 이유로 더 이상 사용되지 않을 수 있지만 API는 안정적이어야합니다. API를 더 광범위하게 사용할수록 변경하기가 더 어렵습니다. 많은 메소드가 더 이상 사용되지 않지만 대부분의 Java 1.0 API를 계속 사용할 수는 없습니다.
프레임 워크는 응용 프로그램을보다 간단하게 구축하도록 설계된 API 모음입니다. 프레임 워크는 재사용 가능한 컴포넌트에 대한 구현을 제공합니다. 좋은 프레임 워크는 애플리케이션에 특화된 경향이 있습니다.
Java Collections Framework는 콜렉션을 처리하는 데 사용할 수있는 다양한 유형의 오브젝트에 대한 API 콜렉션입니다. 다양한 컬렉션에 API 계층을 제공합니다. Java Collections Framework에서 SortedSet 인터페이스는 Set 인터페이스를 확장하여 Collection 인터페이스를 확장합니다. 이 API는 추상 인터페이스이며 실제 구현은 이름이 다릅니다. Collections Framework는 컬렉션 구현을 단순화하고 개발 중에 구현 변경을 단순화합니다.
J2EE 개발을 목표로하는 Java Spring Framework에서 볼 수 있듯이 프레임 워크는 더 작은 프레임 워크로 빌드 될 수 있습니다. Spring은 12 개 이상의 프레임 워크로 구성되며, 그 중 많은 프레임 워크는 자체적으로 사용되거나 다른 프레임 워크로 대체 될 수 있습니다.
적절한 라이브러리, API 및 프레임 워크를 사용하면 개발을 단순화 할 수 있습니다. 이러한 구성 요소는 일반적인 문제를 처리하고 개발 팀이 응용 프로그램 관련 문제에 집중할 수 있도록합니다.
프레임 워크는 라이브러리에서 한 단계 향상됩니다. 툴박스가 라이브러리라면 작업장이 프레임 워크가됩니다.
위키 백과는 말합니다
API는 소프트웨어 시스템의 구성 요소가 사용하는 일련의 기능과 상호 작용하기위한 인터페이스를 설명하는 추상화입니다.
API와 사용자 인터페이스의 중요한 차이점은 API를 통해 다른 소프트웨어 / 서비스가 솔루션과 프로그래밍 방식으로 상호 작용할 수 있다는 것입니다.
API는 애플리케이션 (dll 또는 플러그인을 통해) 또는 웹 사이트 및 서비스 (REST 및 웹 서비스를 통해) 모두에 대해 빌드 될 수 있습니다.
API는 소스에서 사용할 수있는 객체 및 메소드와 관련하여 다른 것을 사용하는 방법을 정의합니다. 예를 들어 Twitter 또는 Facebook을 사이트에 통합하면 Twitter 또는 Facebook의 API를 사용하여 올바른 데이터가 업데이트됩니다.
프레임 워크는 때때로 자체 언어를 거의 형성 할 수 있기 때문에 약간 더 커지는 경향이 있습니다. jQuery는 자체 구문을 가지며 내 코드에 대한 의미에서 약간 더 많은 가중치를 부여하는 프레임 워크의 예입니다. 프레임 워크는 또한 API와 유사한 의미로 플랫폼을 구성 할 수 있습니다. 예를 들어 Win32API 또는 .Net Framework에는 각각 응용 프로그램을 빌드하는 수많은 방법이 있으므로 API가 포함 된 프레임 워크와 프레임 워크로 간주되는 API가있을 수 있습니다.
라이브러리는 API 또는 프레임 워크를 구현하는 이진 파일 인 경향이 있으므로 일부 경우 API 또는 프레임 워크를 사용해야하는 비트입니다. 적어도 이것이 제가이 용어들과 그 차이점을 보는 방식입니다.
라이브러리는 일반적인 작업을 단순화하는 데 사용되는 코드 모음입니다. 클래스, 함수 또는 언어 또는 플랫폼에 특정한 것이 될 수 있습니다. 일반적인 작업 (문자열 작성, 분할, 검색 또는 정렬 등)에 대한 도우미를 제공하는 문자열 조작 라이브러리가 좋은 예입니다.
API (application programming interface)는 다른 응용 프로그램, 시스템 또는 기술과 함께 작동하는 방법에 대한 정의 ( '인터페이스')입니다. 본질적으로 다른 시스템과 상호 작용할 수있는 작업을 정의합니다. API 는 라이브러리 일 수 있습니다 (API가 라이브러리 또는 클래스 세트로 랩핑됨을 의미 함). 그러나 API는 데이터베이스, 웹 서비스, 다른 애플리케이션 또는 운영 체제에 관계없이 항상 외부 시스템을 참조한다는 점이 다릅니다 그 자체.
프레임 워크는 더 큰 개념입니다. 일반적으로 일반적인 작업을 수행하기위한 많은 라이브러리와 API가 포함됩니다. 개념 수준이 높을뿐 아니라 도구 모음뿐만 아니라 디자인 패턴, 모범 사례 및 방법론 모음이기도합니다. 소프트웨어 프레임 워크는 일반적인 프레임 워크 의 확장입니다. 의미는 사물을 구축하는 기반이되고 지원 및 구조를 제공하며 요구 사항에 대한 지침과 정의를 제공합니다.
응용 프로그램은 프레임 워크를 기반으로하는 라이브러리를 사용하여 개발되며 API를 통해 통신합니다.
앱을 구축 할 때 온라인 이미지 처리 애플리케이션이라고하면
응용 프로그램에 전화가 올 때
발신자에게
이것이 존재하는 이유 :