대부분의 최신 애플리케이션(단일 페이지 웹 앱, 모바일 앱 등)은 두 부분으로 구성됩니다.
프론트엔드와 백엔드를 연결하기 위해서는 일반적으로 웹 API(REST, GraphQL 등)를 사용하는데, 이를 위해서는 프론트엔드 측에는 API 클라이언트, 백엔드 측에는 API 서버 개발이 필요합니다.
우리는 다음과 같은 아키텍처를 가지고 있습니다:
API가 없는 아키텍처를 사용하면 프런트엔드가 웹 API를 구축할 필요 없이 백엔드와 통신할 수 있습니다. 백엔드는 프런트엔드가 직접 호출할 수 있는 함수(또는 메서드)를 노출하므로 개발자는 더 이상 URL 경로, HTTP 메서드 또는 상태 코드에 대해 걱정할 필요가 없습니다.
물론 프론트엔드와 백엔드가 별도의 환경에서 실행되기 때문에 그 사이에 API 클라이언트와 API 서버가 반드시 존재하지만, 더 이상 개발자의 책임은 아닙니다. API 레이어는 라이브러리나 프레임워크에 의해 처리됩니다.
따라서 API가 없는 아키텍처는 다음과 같습니다.
API 레이어를 제거하면 개발자가 작성해야 하는 코드의 양이 줄어들 뿐만 아니라 코드 분산 및 지식 중복이 줄어들어 품질도 향상됩니다.
점점 더 많은 라이브러리와 프레임워크를 통해 API 없는 아키텍처를 구현할 수 있습니다.
제품 | 제품 유형 | API 유형 | 실시간 | 모바일 지원 | 부터 |
---|---|---|---|---|---|
유성 | 뼈대 | 절차적 | 예 | 예 | 2012 |
레이어 | 도서관 | 객체지향 | 로드맵에 | 예 | 2019 |
Blitz.js | 뼈대 | 절차적 | 아니요 | 로드맵에 | 2020 |
tRPC | 도서관 | 절차적 | 베타 버전 | 예 | 2021 |
텔레펑크 | 도서관 | 절차적 | 로드맵에 | 예 | 2021 |
기여를 환영합니다.
기여하기 전에 행동 강령을 읽고 이슈 트래커를 검색하여 귀하의 문제가 이전에 이미 논의되었는지 알아보십시오.
기여하려면 이 저장소를 포크하고 변경 사항을 커밋한 후 끌어오기 요청을 보내세요.
MIT