API, 저수준 언어, 일렉트론

minjun kim·2024년 12월 1일

API

프엔과 백이 데이터를 서로 주고받는 형태
하나의 프로그램 또는 라이브러리를 외부의 다른 곳에서도 사용할 수 있도록 해주는 인터페이스
웹 개발에서는 이개념을 확장해 백엔드 서버가 가지고 있는 기능을 프론트엔드의 인테페이스로 제공한다는 의미

백엔드 개발자의 API개발은 프엔과 주고받을 데이터를 처리하기 위한 서버 프로그램을 개발한다는 뜻

이렇게 API로 개발된 서버 프로그램을 서버 컴퓨터에서 실행하면, 그 서버를 API서버라고 함

또한 백과 프엔 개자는 서로 어떤 API를 사용하여 통신할지 미리 정의해야한다.
이렇게 여러 API들을 정의한 문서를 API문서라고 하며

개발 시작 전에 API문서를 JSON형태로 미리 작성하는 것이 일반적.

API 문서 작성 예시

요청 메서드 : POST
요청 경로 : /orders

요청데이터 
[
	{
    	"id" : 1,
        "amount" : 1
    },
    {
    	"id" : 3
        "amount" : 1
    }
 ]


응답 데이터 
{
	"id" : 1,
    "orderedProducts": [
    	{
        	"id" : 1
            "name" : 상품1
            "price" : 10000,
            "amount" : 1
        },
        {
	        "id" : 3
            "name" : 상품3,
            "price" : 30000,
            "amount" : 1
        }
        
    
    ],
    "totalPrice" : 40000,
    "state" : "CREATE"
   
}



API 문서에는 무엇을 적을까요

작성자나 사내 컨벤션에 따라 조금씩 다르겠지만 거의 모든 API문서가 공통으로 적는 항목들이 있습니다.

  • Interface ID: 여러 API 항목들을 구별하는 ID
  • Endpoint: 요청 경로 + HTTP 메서드
  • Description: 간단한 설명
  • Request Payload: 클라이언트가 요청 시 보내는 데이터
  • Response Data: 서버가 응답으로 보내는 데이터

https://velog.io/@bvv8808/nullsafety4
해당 글을 참고했습니다.


저수준 언어

컴퓨터가 이해하기에 용이한 기계어(0과 1만으로 이루어진 언어)에 가까운 어언어를 뜻한다.
인간 친화적인 고수준 언어에 비해 상대적으로 속도는 빠르지만, 메모리 관리와 같이 신경써야 할 부분이 많다.

  • 따라서 코드를 작성하는 방법도 어렵기 때문에 로직 외적으로 신경 써야 할 것이 많은 웹 애플리케이션 개발에는 부적절하다.
  • 종종 파일 시스템처럼 속도를 끌어올리는 것이 중요한 시스템의 경우 일부 API를 저수준언어로 개발하기도 한다.

강력한도구, 일렉트론

비주얼 스튜디오 코드나 디스코드, 슬랙등은 모두 일렉트론으로 만들어짐.
일렉트론 등장전은 각 플랫폼에 맞는 언어별로 각각 앱을 만들어줘야 했다.
-> 네이티브 앱

OS가 윈도우라면 윈도우에 맞는 언어로 macOS에 맞는 언어로 각각 만들어 줘야 했기 때문에 동일한 UI를 가지는 앱인데도 서로 다른 언어로 두 번씩 코드를 작성해 줘야 했다. 이 방식은 비효율적인 뿐아니라 네이티브 앱 개발언어를 모르는 웹 개발자가 데스크톱 앱을 만들어야 하는 아주 어려운 일이었다. 그런데 일렉트론이 등장하면서 마치 웹 페이지의 UI를 만드는 것처럼 HTML, CSS, 자바스크립트를 활용하여 데스크톱 앱까지 만들 수 있게 되었다.

개인 프젝 진행시 일렉트론을 활용하면 편리할 뿐 아니라 지원하는 기업에도 좋은 어필이 될것이다.

profile
배움의 흔적을 남기고 싶습니다.

0개의 댓글