>  기사  >  백엔드 개발  >  javascript - 마스터에게 간청합니다: 프론트엔드와 백엔드와 가장 잘 협력하는 방법

javascript - 마스터에게 간청합니다: 프론트엔드와 백엔드와 가장 잘 협력하는 방법

WBOY
WBOY원래의
2016-08-04 09:20:45954검색

데이터를 사용하여 동적 PHP 및 JSP 페이지를 생성합니다. 프런트엔드와 백엔드 패키징 및 게시는 완전히 독립적입니다.
이것의 장점은 프론트엔드 레이어의 성능입니다.
모든 문제는 프론트엔드에서 독립적으로 해결하고 별도로 패키징하여 출시할 수 있습니다.

프런트엔드와 백엔드의 패키징과 릴리스는 완전히 독립적입니다. 이 게임의 의미와 이해

답글 내용:

데이터가 포함된 동적 PHP 및 JSP 페이지를 생성합니다. 프런트엔드와 백엔드 패키징 및 게시는 완전히 독립적입니다.
이것의 장점은 프론트엔드 레이어의 성능입니다.
모든 문제는 프론트엔드에서 독립적으로 해결하고 별도로 패키징하여 출시할 수 있습니다.

프런트엔드와 백엔드의 패키징과 릴리스는 완전히 독립적입니다. 이 게임의 의미와 이해

프런트엔드와 백엔드 분리, 프런트엔드 엔지니어링, 프런트엔드와 백엔드 사이의 모든 상호 작용은 이것이 SEO에 좋지 않다고 생각할 수도 있지만 이제 nodejs를 사용하면 페이지 렌더링이 가능합니다. 사실 이것도 추세입니다. 백엔드는 시스템 가용성, 성능 및 기타 문제에 관심을 가져야 하며 페이지 문제에 집중해서는 안 됩니다

이 블로그는 livoras의 별도 프런트엔드 및 백엔드 웹 개발에 대한 아이디어를 개발하는 데 도움이 될 것입니다

먼저 통신 프로토콜과 통신 매개변수를 결정해야 합니다.
프런트엔드 독립 작업은 모의와 같은 도구를 사용하여 백그라운드 데이터 전송을 시뮬레이션할 수 있습니다.
백엔드 디자인은 데이터 모델을 사용하여 비즈니스를 완성하고 인터페이스를 생성합니다.
개인적으로는 프로젝트에서 PHP의 템플릿 엔진 등 뷰 업무를 분리해 독립적인 프런트엔드 버전을 만드는 것과 비슷하다고 생각하나요?

프런트엔드와 백엔드는 API를 통해 상호작용합니다. 웹 프런트엔드를 사용하든, iOS 및 Android 클라이언트를 사용하든 상관없습니다.

여러 프런트엔드 페이지 또는 심지어 다른 프런트엔드의 요구 사항을 충족하려면 백엔드에서 동일한 API를 사용하는 것이 가장 좋습니다. 프런트 엔드는 백 엔드에서 반환되는 데이터가 무엇인지, 디자인 다이어그램에 따라 데이터가 어떻게 렌더링되어야 하는지 알아야 합니다.

얼마 전 프런트엔드에 ionic과 cordova를 사용하고 백엔드에 CoreThink를 사용하여 비네이티브 APP를 개발하는 단계에 대한 기사를 썼습니다. http://www.oschina.net/question/2598464_2151690?fromerr=mCRfZH2m 구경하실 수 있어요

간단히 말하면 데이터 인터페이스(예: Ajax 요청)를 통해 프런트엔드와 백엔드를 분리합니다.

부정 사례

작년에 저는 백엔드 PHP 언어 개발이라는 반정형 웹 프로젝트를 맡았습니다. 코드를 보지 않고는 알 수 없었습니다. 코드를 보고 기절했습니다. 기본적으로 코드는 다음과 같습니다.

<code class="php">    <?php
    ...
    echo val;
    ?>
    <html>
    <?php echo ...?>
    </html></code>

php 파일 전체에는 html의 특징이 포함되어 있습니다. 자세히 설명하지 않겠습니다. 이해해 주시기 바랍니다. CSS 파일 빼고는 토했어요. OCD의 마음에 깊은 상처를 입혔습니다. 언어는 여전히 이런 식으로 사용될 수 있습니다. 다시 한 번 내가 길을 잘못 선택했다는 생각이 들었습니다. 나는 코드의 세계가 더 체계화될 수 있다고 생각했는데, 내 생각이 틀렸던 것 같다.
생각해 보니 앞부분과 뒷부분을 모두 개발하는 것은 한 사람이 하기에는 힘든 일이라는 것을 깨달았습니다. 하지만 이 하이브리드 개발 모델에는 저비용, 고효율이라는 장점이 있습니다. 단점이 많아 확장 및 추후 유지관리가 문제가 됩니다.

긍정 사례

작년에는 웹 프로젝트도 맡았습니다. 주요 요구 사항은 백그라운드 데이터베이스 테이블에 내용을 표시하는 것입니다. 직설적으로 말하면 MySQL의 웹 컨트롤을 모방하는 것입니다. 하지만 간단합니다. 하지만 요구사항이 있습니다: 모델링 즉, 백그라운드에서 소수의 매개변수를 수정하여 프런트 엔드에 표시되는 테이블 수는 물론 테이블의 열 이름까지 제어할 수 있습니다. 즉, 프런트 엔드에 있는 테이블에 대한 모든 정보는 백엔드에서 제공됩니다. 프런트엔드는 백엔드 데이터를 기반으로 인터페이스의 디스플레이 조정만 수행하면 됩니다.

디자인 아이디어:

1. 테이블의 스타일과 테이블 위의 마우스의 동적 동작에 대해서는 프론트엔드 모듈의 일부로
2. 테이블의 이름 정보와 목록 정보가 json으로 반환됩니다. ajax 요청 서버에 의해 json이 로컬에서 약간 확인됩니다. 즉, 로컬 테이블을 동적으로 생성할 수 있습니다.
3. 데이터 획득은 Ajax 획득에도 적용됩니다. 그런 다음 로컬 테이블을 채웁니다.
4. 모든 로컬 추가, 삭제 및 수정은 ajax를 통해 서버에 업로드됩니다.

유일한 실행 지점은 Ajax 인터페이스입니다. 개발 중에 백엔드의 속도 저하로 인해 일부 인터페이스에서는 가짜 데이터를 프런트엔드에 직접 echo 전달했습니다.

프론트엔드와 백엔드 분리의 장점

데이터 인터페이스 모델 개발을 통해 프론트엔드와 백엔드가 완전히 분리되었으며, 본 프로젝트는 모델 기반 설계이기 때문에 코드 재사용률이 매우 높습니다.
게다가 문제가 발생하면 데이터 인터페이스에서 데이터를 감지하여 프런트엔드 문제인지 백엔드 문제인지 쉽게 알 수 있습니다. 유지 관리가 매우 쉽고 심층적인 2차 개발도 수행할 수 있습니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.