2017-11-26 7 views
1

이 질문에 대한 답변을 찾고 있었지만 쿼리 (질문) 자체를 생각해내는 것은 다소 어려웠습니다. 따라서 아래 질문에 대해 이미 좋은 답변이 있으면 링크에 대해 매우 감사하게 생각합니다.API - 웹 사이트 통신. 논리를 복제해야합니까?

향후 모바일 앱 호출을위한 전자 상거래 웹 사이트와 API 엔드 포인트가 있다고 가정 해 보겠습니다. 내 질문은 : 질문을위한 논리를 복제하여 웹 사이트의 제품 페이지에 대한 제품을 말하거나, 웹 사이트를 API 클라이언트로 간주하고 CURL을 만들어 제품 정보를 표시해야합니까? API에 요청하십시오.

나는 마지막 하나를 고수해야한다고 생각합니다. 그러나 스크립트 내에서 추가 컬 (TCP/IP) 요청을하는 것에 대해 우려하고 있습니다. 전체 응답 시간이 현저하게 느려 집니까? 내가 모르고있는 다른 "패턴"이 있습니까? 고맙습니다.

사이트는 동일한 서버에 있지만 API는 Phalcon PHP를 사용하고 웹 사이트를 정기적으로 PHP에게

답변

1

복제를 사용하여 확실히 할 수있는 잘못된 일이다. 별도의 저장소에

  • 이동 공유 비즈니스 로직 및 (API에 액세스 개인 작곡가 패키지와 두 프로젝트에
  • 사용 컬/소켓 랩퍼 라이브러리를 재사용 :

    기술적으로, 당신은 세 가지 옵션이 있습니다 아마 Guzzle)

  • 승 (바람직하게는

) fetch를 통해 이들 각각을 JS를 사용하여 API 공공 호출을 사용하여 단점으로, 귀하의 선택은 어느 옵션이 덜 고통 스러울 지에 달려 있습니다.

공유 라이브러리가 최상의 성능을 갖지만 배포 프로세스가 복잡해지며 해당 응용 프로그램 (사이트 및 API)이 모순되는 요구 사항을 가질 때 상황이 발생할 수 있습니다. 문제는 조직적입니다.

내부적으로 HTTP를 통해 API 서버를 호출하면 TTFB가 훨씬 길어지기 때문에 사이트의 응답 성이 떨어지게되지만 API 코드를 완전히 변경하지 않아도됩니다.

모든 것을 공개하는 데 보안 및 권한 부여 문제가 있습니다. 그러나 모바일 API 클라이언트를 어떻게 기대 하느냐에 따라 미래 투자로 간주 될 수 있습니다. 그러나 상당한 개발 시간과 javascript (어쩌면 JS 프레임 워크 포함)에 익숙한 사람이 필요합니다. 웹 사이트가 크게 변경되어야하기 때문입니다. 대부분의 개발 집중 옵션.