새로운 비즈니스 웹 응용 프로그램을 만들고 있는데 다음을 달성하고 싶습니다.
- 각 영역에서 최고의 기술을 사용하십시오. 견고한 ORM을 갖춘 안정적인 백엔드 프레임 워크를 원합니다. 그리고 프론트 엔드 애플리케이션에 최신 HTML 및 자바 스크립트 기능을 사용하는 최신 SPA (단일 페이지 애플리케이션) 프레임 워크를 원합니다.
- 웹 애플리케이션, 모바일 (Android) 및 기타 유형 (스마트 장치 등)과 같은 다양한 유형의 애플리케이션에서 사용하기위한 백엔드 엔티티 및 비즈니스 서비스 노출
따라서 두 가지 요구 사항을 모두 충족시키기 위해 백엔드 및 프론트 엔드 애플리케이션에서 애플리케이션 을 완전히 분리하고 REST API (JSON)를 사용하여 애플리케이션 간 통신을 구성하는 경향이 있습니다. 이 소리가 접근합니까?
많은 웹 애플리케이션 기술에는 서버 측 애플리케이션이 뷰 생성을 제어하고 뷰의 응답을 부분적으로 처리하는 뷰 레이어가 통합되어 있기 때문에 이러한 분리는 명백한 설계 솔루션이 아닙니다 (예 : 뷰 레이어가있는 SpringMVC, 뷰가있는 PHP Yii) Java JSF / Facelet은 구성 요소의 상태를 서버에 완전히 저장합니다). 따라서 더 강력한 커플 링을 제안하고 더 빠른 개발 시간과 더 표준적인 경로 여행을 약속하는 많은 기술이 있습니다. 따라서 널리 사용되지 않는 방식으로 기술을 사용할 때주의해야합니다.
내가 이해 한 것처럼 완전히 분리 된 SPA 프론트 엔드는 일반적으로 타사 API를 사용해야 할 필요성에서 발생합니다. 그러나 한 회사에서 백엔드와 프론트 엔드를 모두 개발할 때 이러한 분리형 사운드 디자인입니까?
내가 선택한 기술은 현재 Java / Spring 백엔드와 프론트 엔드 용 Angular2 / Web Components / Polymer입니다. 그러나이 질문은 구체적인 기술의 선택이 아니라 일반적인 디자인에 관한 것이기 때문에이 질문과 관련이 없습니까?
So - I must be cautious when starting to use technologies in manner which is not widely used.
그렇습니다. 실크를 치기 위해 망치를 사용할 계획이라면 조심해야합니다. 아마도 올바른 도구가 아닐 수도 있습니다.