3

웹 API를 사용하여 프로젝트를 설정하려고 생각했습니다. 기본적으로 API를 먼저 작성하고이 API를 사용하여 웹 사이트를 프로그래밍하십시오.웹 사이트를 효율적으로 관리하기 위해 웹 API를 사용하고 있습니까?

이 궁금 약속 사운드 비록 : 나는 좋은 방법으로 로직을 분리하는 경우, 내가 다시 모두 사용하여 서버에 여러 개의 연결이 여러 API 호출의를 통해 웹 페이지에 데이터를 검색 끝낼 수 있습니다 오버 헤드 등 ..

예를 들어, 내가 사용하는 경우 한 페이지에 8 개의 다른 API 호출이 있다고 가정하면 웹 페이지의 성능에 영향을 미치지 않는다고 상상할 수 없습니다.

그래서 내가 잘못 이해 한 적이 있습니까? 또는 이런 종류의 간접비는 무시할만한 수준입니까? 아니면 다중 호출의 필요성이 디자인이 잘못되었음을 나타낼 수 있습니까?

미리 감사드립니다.

답변

1

한 가지 측면은 최종 사용자에게 매우 빠르게 페이지를 표시 할 수 있다는 것입니다.페이지가로드되면 Jquery 비동기 호출과 Javscript 템플릿 도구 (예 : angularjs 또는 mustacheJs)를 사용하여 웹 API를 동시에 호출하여 클라이언트 페이지 뷰를 작성하십시오.

나는이 접근 방식을 여러 프로젝트에서 사용했으며 사용자의 경험은 엄청납니다.

+0

안녕하세요, 사용자 경험을 이해하는 프로젝트를 볼 수 있습니까? 웹 API와 angularJS를 사용하여 웹 사이트를 만들 계획입니다. – Savaratkar

1

대부분의 최신 브라우저는 동일한 사이트에 6-8 병렬 연결을 지원합니다. 그래서 그것에 대해 조심해야합니다. 많은 개별 시스템에 연결하지 않는 한, 연결 수를 줄이려고합니다. 또는 병렬 연결의 가능성을 줄이기 위해 호출이 서로 다른 이벤트에 의해 비동기 적으로 호출되는지 확인하십시오.

1

페이지에 대한 데이터를 얻기 위해 일련의 HTTP 호출을하면 오버 헤드가 발생합니다. 테스트 만 해당 시나리오에 미치는 영향을 알려줍니다.

가능한 경우 웹 API를 사용하는 것이 거의 없습니다. RESTful API를 작성하는 정당한 이유가 있어야한다. 그렇더라도, 주로 자신이 소비하는 경우, 한 번의 호출로 각 페이지에 대한 ViewModel을 전달하도록 디자인하십시오.

2

글쎄, 우리가 해냈어. 모든 데이터에 대한 REST 액세스를 제공하는 웹 API 서버. 독립적 인 UI 클라이언트은 기본 연결에 대한 유일한 액세스 지점으로 사용합니다.

첫 번째 요청에는 다소 시간이 걸립니다. 상당히 길다. 모든 UI 클라이언트 항목을 초기화하고 서버에서 가장 필요한 데이터를 가져와야합니다. (메뉴, 사용자 액세스 권한, 메타 ...리스트보기 데이터)

포인트, 실제 이용은, ... 번째의 요청을 제 숨겨져있다. 많은 것들이 이미 UI 클라이언트에 있습니다. 그리고 이것이 다시 요청 된 경우에도 캐싱 (Server, Client, both)이 도입 될 수 있습니다.

그래서 이것은 더 많은 요청을 의미 할 것입니다 (적어도 UI 클라이언트가 시작될 때) ... 그러나 느린 응용 프로그램을 의미하지는 않습니다.

유지 보수 혜택이 우려분리에(아마도이 ​​숨겨지지 않습니다, 그것은 명백해야한다) 숨겨져 있습니다. 서버에서 우리는 더 이상 사용자 데이터 처리, 기본 컨트롤러 또는 하위 컨트롤러를 배치 할 마스터 페이지, 레이아웃 컨트롤러에 의해 문제를 해결하지 않습니다.

해결 됐어. 우리는 REST를 통해 발표 된 하나의 특정 자료에 관심을 가지고 있습니다. 하나의 방법, 하나의 비즈니스 운영. 우리가 그 응용 프로그램을 유지하고 수리공과 연장자가되기를 원한다면 그것은 꿈입니다.