RAD 12월 10일, 2021에 포스트됨 공유하기 12월 10일, 2021에 포스트됨 원문 링크: https://blogs.embarcadero.com/5-of-the-top-reasons-why-you-should-use-apis/ 작성자(작성일): Muminjon (2021.11) API (Application Programmable Interface, 애플리케이션을 프로그래밍할 수 있는 인터페이스)는 애플리케이션들 간에 서로 상호작용 할 수 있도록 하는 중재자, 즉 연결 다리 역할을 한다. 개발자가 API 통합 방밥에 익숙하지 않으면, 수많은 코드를 맨바닥부터 새로 작성하느라 쓰지 않아도 될 시간까지 엄청나게 소모하게 된다. 다시 말하면, 지나치게 열심히 일하게 될 수도 있다는 뜻이다! 많은 코드를 맨바닥부터 새로 작성하느라 시간을 낭비하고 있지 않은가? 바로 이 점이 소프트웨어에 API를 통합하는 것을 고려해야 하는 가장 중요한 이유이다. 이제부터 할 이야기는 애플리케이션을 하나 만들 때마다 매번 바퀴를 새로 만들지 않도록 하는 방법에 대한 것이다. API가 처리해 줄 수 있는 것인데도, 직접 코딩는데 들이는 시간만이 아니다. 코드를 많이 붙여 나가다 보면 그만큼 오류(버그) 또는 생각하지 못한 동작이 생길 가능성이 그만큼 더 생긴다. 혼자 작성한 코드에는 '군중의 지혜'가 들어있지 않지만, API에는 들어있다. 해당 전문가가 제공하는 전문 API는 대게 사용자/소비자가 이미 수천명이나 된다. 즉 비록 해당 API가 문제를 일으켰거나 결함이 있었을 지라도 이미 발견되고 수정되었을 수 있다. 어려운 일을 다른 누군가가 하도록 내버려 두는 것은 늘 어려운 일이기도 하지만, 늘 현명한 선택이다. 그렇지 않은가? API 사용하기는 어려운가? 4년 전 처음 프로그래밍 인턴십에 참가했을 때, 한 달 내내 웹 앱에 다른 API를 통합하는 작업에 시간을 보낸 적이 있었다. 그 때는 통합이 어렵다는 걸 처음 알게 되었는데, API를 하나 통합해보고 나니 너무 쉽고 재밌어졌다. 내가 해야 했던 일은 API 문서화에 신경 쓰면 되는 것이었다. RAD스튜디오 델파이로 스킬을 극대화 할 수 있는 도움을 받을 수 있었다. RAD스튜디오에는 REST 디버거와 놀랍도록 강력한 REST 컴포넌트와 같은 도구들이 있어 어려운 작업들은 이 기능들이 처리해주었고, 적은 코드양만으로도 앱에 최대 성능을 적용하는 데 도움이 되었다. 이 글의 튜토리얼을 마치고 나면, 유용하면서도 사용하기 쉬운 이 도구들을 활용해 크로스 플랫폼 델파이 앱에 정말 많은 개발자들이 사용하는 여러 API 중 하나를 쉽고 빠르게 통합하는 방법을 익히게 될 것이다. 이 점은 다른 컴퓨터 언어 사용자들이 종종 간과하고 있는 델파이의 필살기이다 - RAD스튜디오의 "RAD"는 "신속한 애플리케이션 개발"을 의미하는데, 마케팅 비유인 것만은 아니다. RAD스튜디오는 아이디어를 최대한 빠르게 앱에 실현시킬 수 있도록 해준다. 많은 경쟁 기술들이 시간이 지나면서 쇠퇴하는 런타임 지원에 의존하다보니 같이 퇴화해버리거나 유행에 뒤처지기도 하지만, 델파이 애플리케이션만은 오랜 기간 작동한다. 이는 견고함으로 유명한 델파이 애플리케이션의 안정성이 뒷받침되었기에 가능한 것이다. 이 글에서 데스크탑, 모바일 앱에 API를 사용하는 것과 관련하여 배울 수 있는 내용은 무엇인가? 이 튜토리얼이 API 통합 작업을 싲가할 때, 도움이 되기를 바란다. 다루는 내용: 다양한 API를 살펴보고, 데스크탑과 모바일 애플리케이션에 어떤 기능을 적용할 수 있는지 알아본다. 앱에서 사용할 수 있도록 API를 통합하는 방법을 알아본다. API를 적용해 델파이에서 데모 크로스 플랫폼 앱을 코딩해본다. 준비물은 RAD스튜디오와 델파이 프로그래밍 기본 지식 뿐이다! API 연결의 자동화가 되어 있는가? 델파이 파이어몽키와 APILayer API로 크로스 플랫폼 앱 구축에 대한 튜토리얼은 수십가지가 있다. 그 중 한가지 예가 전에 MediaStack API를 활용한 크로스 플랫폼 델파이 파이어몽키 뉴스 애플리케이션이다. API를 사용하려면 어떻게 해야 할까? 활용 가능한 예제는? 이커머스 웹 애플리케이션의 경우, 결제 처리에 Braintree와 같은 API 한 개와 사용자의 지리적 위치 처리를 해 줄 API 한 개, 이렇게 활용해 사용자의 주소를 확인하고 관련 제품을 보여주곤 한다. IP 정보와 지리 위치 조회에는 IPStack을 활용할 수 있다. 델파이 파이어몽키 기반의 데모 애플리케이션과 IPStack 통합에 대한 더 많은 내용은 다음 링크를 통해 자세히 확인할 수 있다: https://blogs.embarcadero.com/building-a-ip-to-geolocation-app/ API로 핵심적이고 고유한 앱 기능 개발에 집중하는 방법은? API를 활용하면, 기존 기능의 향상과 더불어 더 좋아진 핵심 기능 제공에 더 많은 시간을 투자할 수 있게 된다. APILayer는 다음과 같은 기능에 대한 자동화를 제공하며 매우 유용하게 활용할 수 있다. 언어 탐지 VAT 번호 확인 환율/통화 전환 전화번호 또는 이메일 주소 확인 API로 앱에 필요한 유지보수 양을 줄일 수 있는 방법은? API에 문제가 생기면, 전담팀에서 즉시 문제를 해결한다. APILayer API로 수백만 개의 요청도 문제없이 처리할 수 있다. 제품에 API를 통합하면 경쟁력있는 소프트웨어를 신속하게 출시할 수 있다. API는 간단하면서도 중요한, 영향을 미칠 수 있는 기능을 간편하게 관리할 수 있도록 해준다. API를 델파이 파이어몽키 크로스 플랫폼 앱에 통합할 수 있는 방법은? 델파이는 20년 이상 업계를 선도하고 있는 신속한 애플리케이션 개발(RAD) 환경이다. 모든 유형의 애플리케이션을 신속하게 프로토타입으로 제작할 수 있고, 멀티 디바이스용으로 바로 개발할 수 있다. 델파이로 개발 시간을 5배까지 단축 가능하다. 이는 근거없는 이야기가 아니다 - 엠바카데로는 이 주장을 뒷받침할 연구 결과를 기술백서로 제공하고 있다. 이 글에서는 간단한 튜토리얼로, 델파이 파이어몽키와 내장된 REST 클라이언트 라이브러리를 사용해 CountryLayer API를 통합하는 내용을 다룬다. CountryLayer API란? CountryLayer API는 비즈니스에 활용할 수 있는 신뢰도 높은 실시간 국가 데이터 API이다. 세계 모든 국가에 대한 정확한 정보를 검색할 수 있다. 정확한 지리 정보 데이터(geodata)로 품질을 높일 수 있다. 무료 API 액세스 키는 무료 구독 플랜에 등록해 받을 수 있다. API를 통합하기 전에, API가 어떻게 설계되고 데이터가 어떻게 제공되는지를 알아야 한다. 여기에서 REST 디버거를 활용할 수 있다. REST 디버거를 사용해, 미리 구성되어 있는 REST 클라이언트 컴포넌트를 클립보드에 쉽게 복사하고 앱 폼 위에 붙여넣을 수 있다. 다음은 델파이 파이어몽키로 크로스플랫폼 네이티브 앱을 구축할 수 있는 폼 디자이너이다. 로우 코드 델파이 앱에 REST 컴포넌트로 라이브바인딩을 활용하는 방법은? 강력한 기능의 라이브바인딩 디자이너를 활용하면, 아래 확인할 수 있는 것처럼 UI 컴포넌트를 모든 데이터에 연결할 수 있다. API 엔드포인트에 요청을 보낼 때마다 커스터마이징이 필요하다면, 다음과 같이 소량의 코드를 작성해 한 국가 관련 정보를 얻을 수 있다. procedure TForm1.BtnSearchClick(Sender: TObject); begin RESTClient2.ResetToDefaults; RESTClient2.Accept := 'application/json'; RESTClient2.AcceptCharset := 'UTF-8, *;q=0.8'; RESTClient2.BaseURL := Format('http://api.countrylayer.com/v2/name/%s?access_key=%s&fullText=%s', [Edit1.Text, 'a27f44dd66e6153fa97baf552a367554', 'True']); RESTRequest2.Execute; var JSONValue := TJSONObject.ParseJSONValue(RESTResponse2.Content); var JSONArray := JSONValue.GetValue<TJSONArray>(''); for var ArrayElement in JSONArray do begin Memo1.Lines.Append('Name: ' + ArrayElement.GetValue<String>('name')); Memo1.Lines.Append('Alpha2Code: ' + ArrayElement.GetValue<String>('alpha2Code')); Memo1.Lines.Append('Capital: ' + ArrayElement.GetValue<String>('capital')); Memo1.Lines.Append('Region: ' + ArrayElement.GetValue<String>('region')); end; end; procedure TForm1.Button1Click(Sender: TObject); begin RESTRequest1.Execute; end; 다음과 같이 결과를 확인할 수 있다. 왜 앱에서 API를 사용해야 할까? 요약하자면: API를 사용하는 것은 곧 많은 양의 코드 작성을 피할 수 있다는 의미이다 - 그리고 적은양의 코드는 실수할 수 있는 잠재적인 확률이 낮아져 곧 품질이 향상됨을 뜻한다. 누군가가 통계와 데이터의 복잡한 마샬링(marshalling)을 쉽게 쓸 수 있도록 '아주 작은 사이즈'의 잘 정리된 청크(chunk)에 통합하는 힘든 작업을 수행해준다. 인기있는 API에는 수천 또는 수백만의 사용자가 있으며 이들을 통해 '군중의 지혜'가 생기게 된다. 즉 비록 해당 API가 문제를 일으켰거나 결함이 있었을 지라도 이미 발견되고 수정되었을 수 있다. API 제공사들은 사용자들이 배상을 요구하는 상황을 만들고 싶어하지 않으며, 그런 문제가 발생하기 전에 만족도를 유지하고자 하기 때문에 새로운 문제를 더더욱 신속하게 해결하고자 한다. API를 사용하면 국가 데이터나 IP 정보 등 정보 수집에 필요한 인프라의 유지보수와 비용을 절감할 수 있다. 이와 같은 데이터들 중 일부는 개인 개발자들이 손쉽게 이용할 수 없는 경우도 있고, 소규모 조직의 경우에도 법적 책임이나 추가 라이선스 구매가 필요할 수 있다. RAD스튜디오 델파이를 사용하면, API 연동이 매우 간편해진다. 내장되어 있는 강력한 REST 디버거와 REST 컴포넌트, 라이브바인딩 등 추가 도구들을 활용할 수 있기 때문이다. 사실상 코드 라인이 없는 셈이다. 기억할 점은, 델파이와 델파이 컴포넌트 재사용 설계 방법론은 늘 로우 코드 플랫폼을 추구해왔으며, 이는 지금도 마찬가지이다. 델파이 앱에서 CountryLayer API를 사용하는 데모의 소스 코드는 어디에서 확인할 수 있을까? CountryLayer API 데모의 전체 델파이 소스 코드는 다음 링크를 통해 확인할 수 있다: https://github.com/checkdigits/CountryLayer_example API는 최적의 효율성을 위한 기능을 제공해 엔지니어링 시간을 단축해준다. 델파이는 5배까지 더 빠른 개발 환경과, 단 하나의 코드 베이스만으로 여러 플랫폼에 앱을 배포할 수 있는 기능을 제공한다. 바로 지금 무료 평가판을 사용해 이 모든 기능들을 직접 경험해볼 수 있다. 무료 평가판 다운로드: https://www.devgear.co.kr/products/start-for-free 인용하기 이 댓글 링크 다른 사이트에 공유하기 더 많은 공유 선택 사항
Recommended Posts
이 토의에 참여하세요
지금 바로 의견을 남길 수 있습니다. 그리고 나서 가입해도 됩니다. 이미 회원이라면, 지금 로그인하고 본인 계정으로 의견을 남기세요.