웹 앱 UI와 API를 분리해야 하는 4가지 이유

巴扎黑
풀어 주다: 2017-08-16 09:22:56
원래의
1543명이 탐색했습니다.

웹 애플리케이션이 100% 클라이언트측 코드가 아닌 이상 프런트엔드와 백엔드를 분리해야 합니다. 사람들은 종종 현실 세계에서 많은 조정이 필요하거나 자신의 애플리케이션이 너무 작아서 분리가 필요하지 않다고 생각하기 때문에 별도의 API와 클라이언트 애플리케이션을 개발하는 데 시간을 소비해서는 안 된다고 말하는 함정에 빠지곤 합니다.

이런 종류의 애플리케이션을 저는 올인원 애플리케이션이라고 부릅니다. 이러한 종류의 애플리케이션에서는 비즈니스 로직과 사용자 인터페이스가 서버에서 실행되는 하나의 엔터티입니다. 그러나 독립적인 프런트엔드와 백엔드를 갖춘 웹 애플리케이션을 사용하면 많은 이점이 있습니다.

1. 모듈화

애플리케이션을 별도의 프런트엔드와 백엔드 애플리케이션으로 나누는 이점 중 하나는 모듈화입니다. 애플리케이션 로직은 사용자 인터페이스와 완전히 분리되어 있으므로 웹 애플리케이션은 이미 기본적인 모듈 구조를 갖고 있을 수 있습니다. 모듈화는 테스트, 가독성, 유지 관리 등 여러 면에서 도움이 됩니다.

2. 재사용성

단일 API를 사용하면 여러 애플리케이션에서 애플리케이션 로직을 재사용할 수 있습니다. 즉, API를 사용하는 모바일 앱을 만들거나 완전히 별도의 앱에서 API를 사용하거나 다른 사람이 API에 액세스하도록 허용할 수 있습니다(무료 또는 유료).

3. 콘텐츠 전달

클라이언트 애플리케이션은 완전히 독립적인 개체이므로 UI ​​서버측을 렌더링해야 하는 애플리케이션에서는 사용할 수 없는 고급 정적 파일 제공 기술을 처리할 수 있습니다. 예를 들어 이제 NGINX와 몇 가지 간단한 규칙을 사용하여 전체 클라이언트 애플리케이션을 캐시에 넣을 수 있습니다.

4. 반응성

"올인원" 서버측 애플리케이션의 가장 큰 결점 중 하나는 피드백 사용자 반응성 측면입니다. 서버측 애플리케이션에서 사용자는 버튼을 클릭하여 데이터를 얻습니다. 가장 일반적인 프로세스는 다음과 같습니다.

1. 사용자가 데이터를 얻기 위해 버튼을 클릭합니다.
2. 브라우저가 서버에 요청을 보냅니다. 서버는 데이터베이스를 쿼리합니다.
4. 애플리케이션은 데이터에 대한 논리적 처리를 수행합니다.
5. 서버는 사용자에게 응답을 반환합니다.
7. 로드하면 피드백이 표시됩니다.
8. 별도의 클라이언트 애플리케이션을 사용하면 로더나 진행률 표시줄 사용과 같은 다양한 피드백 메커니즘을 활용할 수 있습니다. 요청이 반환되면(예: AJAX 호출을 통해) 디스플레이를 업데이트할 수 있습니다.

5. 버전 관리

예, 5를 추가했습니다. 별도의 API 및 UI 프로젝트를 사용하면 더 이상 두 개의 애플리케이션을 동시에 업데이트하거나 배포할 필요가 없습니다. 새로 배포된 UI에서 심각한 문제가 발생하는 경우 API 프로젝트에서 수행한 성능 개선 조정에 영향을 미칠 염려 없이 롤백할 수 있습니다.

전체 아키텍처의 장점은 무엇인가요?

이 분리된 아키텍처에는 많은 장점이 있습니다. 그러나 모놀리식 아키텍처를 사용하면 몇 가지 이점이 있습니다. 예를 들어, 애플리케이션이 프로젝트에 포함되어 있으면 개발 작업을 더 빠르게 완료할 수 있습니다. 별도의 UI 및 API와 관련된 훨씬 더 많은 코딩이 있다는 것은 비밀이 아닙니다(그러나 많은 프레임워크가 이를 더 쉽게 만듭니다). 몇 가지 보안상의 이점도 있습니다. 예를 들어 실제로 API를 전혀 노출하지 않습니다. API를 보호하는 방법이 있지만 노출하지 않는 것이 좋습니다. 다른 장점이 있다고 생각하시면 댓글로 남겨주시면 논의해보겠습니다.

결론

이것은 많은 소프트웨어 개발자에게 꽤 정상적인 선택인 것 같습니다. 그러나 일부 사람들은 개념에 익숙하지 않거나 단순히 게으른 이유로 이 아키텍처를 전혀 채택하지 않습니다. 전체적인 아키텍처 측면에서 볼 때 이 구조를 사용하지 않을 수도 있지만 매우 성공적인 예가 많이 있습니다. 하지만 제가 더 보는 것은 API와 UI를 분리하면 앞으로 많은 이점을 가져올 수 있다는 것입니다. 아직 이 개념을 시도하지 않은 개발자는 시도해 보고 프런트엔드와 백엔드 분리의 이점을 직접 느껴 보는 것이 좋습니다.

위 내용은 웹 앱 UI와 API를 분리해야 하는 4가지 이유의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿