API 란 무엇입니까?
"API"라는 용어가 나타날 가능성이 높습니다. 운영 체제, 웹 브라우저 및 앱 업데이트는 개발자를 위해 새로운 API를 발표하기도합니다. 그러나 API는 무엇인가??
응용 프로그래밍 인터페이스
API라는 용어는 약자이며 "Application Programming Interface"의 약자입니다.
레스토랑의 메뉴와 같은 API를 생각해보십시오. 메뉴는 주문할 수있는 요리 목록과 각 요리에 대한 설명을 제공합니다. 원하는 메뉴 항목을 지정하면 레스토랑의 주방에서 작업을 수행하고 완성 된 요리를 제공합니다. 레스토랑이 그 음식을 어떻게 준비하는지 정확히 알지 못한다..
마찬가지로 API는 개발자가 수행 할 수있는 일련의 작업과 해당 작업에 대한 설명을 나열합니다. 개발자는 운영 체제가 "다른 이름으로 저장"대화 상자를 작성하고 표시하는 방법을 반드시 알아야 할 필요는 없습니다. 앱에서 사용할 수 있음을 알 필요가 있습니다..
개발자가 결과를 얻기 위해 자신의 데이터를 API에 제공해야 할 수도 있기 때문에 이것은 완벽한 은유가 아닙니다. 아마도 부엌과 함께 사용할 수있는 재료를 제공 할 수있는 멋진 레스토랑과 같을 것입니다..
그러나 그것은 광범위하게 정확합니다. API를 사용하면 개발자가 플랫폼 구현을 활용하여 시간을 절약 할 수 있습니다. 이렇게하면 개발자가 작성해야하는 코드의 양을 줄이는 데 도움이되며, 동일한 플랫폼에서 더 많은 앱 일관성을 유지할 수 있습니다. API는 하드웨어 및 소프트웨어 리소스에 대한 액세스를 제어 할 수 있습니다..
개발자가 쉽게 사용할 수있는 API
iPhone 용 앱을 개발하고 싶다고합시다. Apple의 iOS 운영체제는 다른 모든 운영체제처럼 많은 수의 API를 제공하여 사용자 편의성을 향상시킵니다..
예를 들어 웹 브라우저를 삽입하여 하나 이상의 웹 페이지를 표시하려는 경우 애플리케이션 전용으로 처음부터 자신의 웹 브라우저를 프로그래밍 할 필요가 없습니다. WKWebView API를 사용하여 응용 프로그램에 WebKit (Safari) 브라우저 객체를 포함합니다..
아이폰의 카메라에서 사진이나 비디오를 캡처하려면 자신의 카메라 인터페이스를 작성할 필요가 없습니다. 카메라 API를 사용하여 iPhone에 내장 된 카메라를 앱에 내장 할 수 있습니다. API를 쉽게 만들 수없는 경우 앱 개발자는 자체 카메라 소프트웨어를 만들고 카메라 하드웨어 입력을 해석해야합니다. 그러나 애플의 운영체제 개발자들은 모든 노력을 다 해 개발자들이 카메라 API를 사용하여 카메라를 임베드 한 다음 앱을 개발할 수 있습니다. 그리고 Apple이 카메라 API를 향상 시키면이 API를 사용하는 모든 앱에서 자동으로 개선 된 기능을 활용하게됩니다..
이는 모든 플랫폼에 적용됩니다. 예를 들어 Windows에서 대화 상자를 만들겠습니까? 이를위한 API가 있습니다. Android에서 지문 인증을 지원 하시겠습니까? 이를위한 API도 있으므로 안드로이드 제조업체의 모든 지문 센서를 테스트 할 필요가 없습니다. 개발자는 바퀴를 계속해서 다시 개발할 필요가 없습니다..
리소스에 대한 API 액세스 제어
API는 응용 프로그램에 반드시 사용 권한이없는 하드웨어 장치 및 소프트웨어 기능에 대한 액세스를 제어하는데도 사용됩니다. 이것이 API가 보안에서 종종 큰 역할을하는 이유입니다..
예를 들어 웹 사이트를 방문한 적이 있고 웹 사이트에서 정확한 위치를 확인하라는 메시지를 브라우저에서 본 경우 해당 웹 사이트는 웹 브라우저에서 위치 정보 API를 사용하려고합니다. 웹 브라우저는 웹 개발자가 사용자의 위치에 쉽게 액세스 할 수 있도록하기 위해 API를 제공합니다. 사용자는 "어디에 있습니까?"라고 물어볼 수 있으며, 브라우저는 GPS 또는 근처 Wi-Fi 네트워크에 액세스하여 실제 위치를 찾는 데 열심히 노력합니다.
그러나 브라우저는 API에 대한 액세스를 제어 할 수 있기 때문에이 정보를 API를 통해 노출합니다. 웹 사이트가 정확한 물리적 위치에 대한 액세스를 원할 때 얻을 수있는 유일한 방법은 위치 API를 사용하는 것입니다. 웹 사이트에서 웹 사이트를 사용하려고하면 사용자 -이 요청을 허용하거나 거부 할 수 있습니다. GPS 센서와 같은 하드웨어 리소스에 액세스하는 유일한 방법은 API를 사용하기 때문에 브라우저는 하드웨어에 대한 액세스를 제어하고 어떤 앱이 할 수 있는지 제한 할 수 있습니다.
이와 동일한 원칙은 iOS 및 Android와 같은 최신 모바일 운영체제에서 사용됩니다. 여기서 모바일 앱은 API에 대한 액세스를 제어하여 시행 할 수있는 권한을 갖습니다. 예를 들어 개발자가 카메라 API를 통해 카메라에 액세스하려고하면 권한 요청을 거부 할 수 있으며 앱은 기기의 카메라에 액세스 할 수 없습니다.
Windows, Mac 및 Linux에서와 같이 사용 권한을 사용하는 파일 시스템은 파일 시스템 API에 의해 사용 권한이 적용됩니다. 일반적인 응용 프로그램은 원시 물리적 하드 디스크에 직접 액세스 할 수 없습니다. 대신 앱은 API를 통해 파일에 액세스해야합니다..
API는 서비스 간 통신에 사용됩니다.
API는 여러 가지 다른 이유로도 사용됩니다. 예를 들어, 웹 사이트에 Google Maps 객체가 삽입 된 것을 본 적이 있다면 해당 웹 사이트는 Google지도 API를 사용하여 해당지도를 삽입합니다. Google은 이와 같은 API를 웹 개발자에게 공개하고 API를 사용하여 복잡한 객체를 웹 사이트에서 바로 볼 수 있습니다. 이와 같은 API가 없으면 개발자는 자체지도를 만들어 웹 사이트에 대화식지도를 넣기 위해 자체지도 데이터를 제공해야 할 수도 있습니다.
또한 API이기 때문에 타사 웹 사이트에서 Google지도에 대한 액세스를 제어하여 Google지도 웹 사이트를 보여주는 프레임을 엉망으로 포함시키지 않고 일관된 방식으로 사용하도록 할 수 있습니다.
이것은 많은 다른 온라인 서비스에 적용됩니다. Google 번역에서 텍스트 번역을 요청하거나 웹 사이트에 Twitter의 Facebook 댓글이나 트윗을 포함시키기위한 API가 있습니다..
또한 OAuth 표준은 다른 서비스로 웹 사이트에 로그인 할 수있게 해주는 여러 API를 정의합니다. 예를 들어 Facebook, Google 또는 Twitter 계정을 사용하여 해당 사이트에 대한 새 사용자 계정을 만들지 않고 새 웹 사이트에 로그인 할 수 있습니다 . API는 개발자가 서비스와 통신하는 방법과 해당 개발자가받을 것으로 예상되는 출력의 종류를 정의하는 표준 계약입니다.
이 과정을 마치면 API가 무엇인지 더 잘 알 수 있습니다. 궁극적으로 개발자가 아닌 이상 API가 무엇인지 알 필요가 없습니다. 그러나 소프트웨어 플랫폼 또는 서비스가 다양한 하드웨어 또는 서비스에 대한 새로운 API를 추가 한 것을 보게되면 개발자가 그러한 기능을 쉽게 활용할 수 있어야합니다..
이미지 크레디트 : patpitchaya / Shutterstock.com.