앞 뒤 가 분 리 된 사고 와 실천 (2)
머리말
전후 단 분 리 를 할 때 첫 번 째 로 주목 하 는 문 제 는 바로 과장 하 다 View 이 차원 의 일.
전통 적 인 개발 모델 에서 브 라 우 저 엔 드 와 서버 엔 드 는 서로 다른 앞 뒤 엔 드 두 팀 이 개발 하지만 모델 은 이 두 가지 중간 에 모호 한 지역 에 있다.따라서 모델 위 에 점점 더 복잡 한 논리 가 불가피 하고 결국은 유지 하기 어렵다.
우 리 는 앞 뒤 끝의 중간 층 으로 NodeJS 를 선택 했다.NodeJS 를 통 해 정리 하려 고 합 니 다. View 차원 의 사업.
앞 뒤 분업 을 더욱 명확 하 게 하고 전문 안건 을 더욱 잘 유지 하 며 더욱 좋 은 사용자 체험 을 달성 하도록 한다.
본문
이 작업 을 과장 하 는 것 은 전단 개발 자의 일상적인 업무 에 있어 매우 큰 비례 를 차지 하고 백 엔 드 개발 과 갈등 하기 쉬 운 부분 입 니 다.
과거 전단 기술 이 발전 한 이 몇 년 을 돌 이 켜 보면 View 이 차원 의 업 무 는 여러 차례 의 변혁 을 거 쳤 는데 마치:
서버 측은 서비스 화 ,데이터 인 터 페 이 스 를 제공 하 다.
브 라 우 저 엔 드 렌 더 링 의 장점
브 라 우 저 엔 드 렌 더 링 의 장점 을 잘 알 고 있 습 니 다.
브 라 우 저 엔 드 렌 더 링 으로 인 한 나 쁜 점
하지만 좋 은 점 을 누 리 는 동시에 우리 도 직면 했다. 브 라 우 저 엔 드 렌 더 링 가 져 온 나 쁜 점 은 다음 과 같다.
전후 단의 정 의 를 반성 하 다.
사실 돌 이 켜 보면 우리 가 렌 더 링 작업 을 서버 (자바) 에서 브 라 우 저 (JS) 로 추출 할 때 우리 의 목적 은 단지 명확 한 전후 단 직책 구분 은 브 라 우 저 렌 더 링 이 아 닌 것 이 아 닙 니 다. 。
다만 전통 적 인 개발 모델 에서 서버 가 나 오 면 브 라 우 저 에 도착 하기 때문에 전단 의 작업 내용 은 브 라 우 저 로 만 제 한 될 수 있다.
그래서 많은 분 들 이 인정 해 주 셨 어 요.
=
=
,아래 그림 처럼타 오 바 오 UED 에서 진행 되 고 있 는... 미 드 웨 이 프로젝트 에서 JAVA – Browser 중간 에 NodeJS 중간 층 을 구축 하여 이 앞 뒤 부분의 분할 선 을 다시 겨냥 하려 고 합 니 다. 직책 구분 하고 하 드 환경 을 구분 합 니 다 (서버 & 브 라 우 저).
그래서 우 리 는 모델 과 경로 의 공 유 를 할 수 있 는 기회 가 있 고 앞 뒤 분업 에서 가장 이상 적 인 상태 이다.
타 오 바 오 미 드 웨 이
미 드 웨 이 프로젝트 에서 우 리 는 앞 뒤 단 계 를 구분 하 는 선 을 브 라 우 저 에서 서버 쪽으로 옮 겼 다.
구실 을 대다 거뜬 히 장악 하 다 ... 뿐만 아니 라 브 라 우 저 와 공유 의 Nodejs 층 으로 앞 뒤 단 분 리 를 더욱 뚜렷하게 완성 할 수 있 습 니 다.
전단 개발 이 서로 다른 상황 에 맞 춰 스스로 결정 하도록 할 수도 있다. 가장 적절 한 해결 방안 。모든 게 아니 라 모두 브 라 우 저 에서 처리 합 니 다. 。
직책 구분
미 드 웨 이 는 전단 에서 백 엔 드 밥그릇 을 빼 앗 으 려 는 프로젝트 가 아니 라 모판 이 모호 한 지 대 는 명확 하 게 절단 되 어 더욱 명확 한 직책 구분 을 얻 었 다.
서버 나 브 라 우 저 측의 차이 에 얽 매 이지 않 습 니 다.
모드 공유
전통 적 인 개발 모델 에서 브 라 우 저 엔 드 와 서버 엔 드 는 서로 다른 앞 뒤 엔 드 두 팀 이 개발 하지만 모델 은 이 두 가지 중간 에 모호 한 지역 에 있다.따라서 모델 위 에 점점 더 복잡 한 논리 가 불가피 하고 결국은 유지 하기 어렵다.
NodeJS 가 있 으 면 백 엔 드 학생 들 은 JAVA 층 에서 업무 논리 와 데이터 개발 에 전념 할 수 있 습 니 다.전단 학생 들 은 논리 와 과장 을 통제 하 는 개발 에 전념 했다.그리고 스스로 이 모델 들 을 선택 하 는 것 은 서버 (NodeJS) 혹은 브 라 우 저 엔 드 과장 하 다.
똑 같은 모드 언어 로. XTemplate ,같은 렌 더 링 엔진 JavaScript
... 에 있다 서로 다른 렌 더 링 환경 (Server - side, PC Browser, Mobile Browser, Web View, etc.) 렌 더 링 같은 결과 。
공유 경로
NodeJS 라 는 층 이 있 기 때문에 경 로 를 더욱 세밀 하 게 제어 할 수 있다.
전단 에서 브 라 우 저 단 로 를 만 들 필요 가 있 을 때 서버 단 로 를 동시에 설정 하여 브 라 우 저 쪽 바 꾸 기 혹은 서버 페이지 변경 ,모두 일치 하 는 렌 더 링 효 과 를 얻 을 수 있다.
SEO 문제 도 처리 했다.
모델 공유 의 실천
일반적으로 우리 가 브 라 우 저 에서 모델 을 렌 더 링 할 때 절 차 는 다음 과 같 습 니 다.
...
페이지 에 인쇄 이상 의 절 차 를 통 해 알 수 있 듯 이 모델 의 크로스 엔 드 공 유 를 하려 면 중점 은 바로 일치 하 는 모듈 선택 이 일 은
시장 에 서 는 KMD, AMD, CommonJS 등 여러 가지 모듈 표준 이 유행 하고 있 는데, NodeJS 의 모듈 파일 을 일치 모듈 규범 을 통 해 NodeJS 단 에 출력 할 수만 있다 면 기본 적 인 모듈 공 유 를 할 수 있다.
그리고 후속 적 인 시 리 즈 는 모델 의 proxy 와 공유 에 대해 진일보 한 연 구 를 할 것 이다.
사례 연구
중도 도 라 는 중간 층 이 있 기 때문에 과거의 일부 문제 에 대해 더 좋 은 해답 을 얻 었 다. 예 를 들 어
사례 1 복잡 한 상호작용 응용 (예 를 들 어 카 트, 주문 페이지)
사례 4 단 단말기 페이지
총결산
과거 AJAX, Client - side MVC, SPA, Two - way Data Binding 등 기술 의 등장 은 당시 전단 개발 이 겪 었 던 병목 을 해결 하려 는 시 도 였 다.
한편, NodeJS 중간 층 의 등장 도 현재 전단 이 브 라 우 저 에 국한 되 어 있 는 제한 을 해결 하려 고 노력 하고 있다.
이 글 은 앞 뒤 모델 공유 에 전념 하고 벽돌 을 던 져 옥 을 끌 어 올 리 는 데 도 전념 하고 있 습 니 다. 여러분 과 함께 NodeJS 중간 층 이라는 구조 에서 우리 가 어떻게 우리 의 업무 절 차 를 개선 하고 어떻게 할 수 있 는 지 토론 하고 자 합 니 다. 백 엔 드 전단 이 일 은 더욱 잘 한다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
심도 분석: 자바 에서 어떻게 이상 한 지 한 편 으로 해결 해 드릴 게 요!1. try 코드 블록 에 이상 이 발생 할 수 있 는 코드 를 넣 었 습 니 다. try 에 이상 이 생기 면 try 코드 블록 에 있 는 프로그램 은 계속 실행 되 지 않 고 catch 에 있 는 코드 에 맡 겨...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.