이 기술을 우리가 작업하는 웹 응용 프로그램에만 사용했습니다. 백엔드는 Java SDK를 사용하여 Google App Engine에서 호스팅되며 프론트 엔드는 HTML, CSS 및 JavaScript (jQuery 포함)를 사용합니다.
이 프로젝트는 나 자신과 웹 디자이너 만있는 소규모 프로젝트이며,이 방법을 사용하면 훨씬 빠르게 작업하고 훨씬 더 빨리 제품을 출시 할 수 있다고 생각합니다.
장점 : 웹 디자이너 작업
이 기술의 주요 장점은 PHP를 알고 있지만 자신을 프로그래머로 생각하지 않는 웹 디자이너는 수많은 JSP, taglib 태그 및 기타 서버 측 라인을 거치지 않고도 HTML과 CSS에서 방해받지 않고 작업 할 수 있다는 것입니다. 우리가 몇 년 동안 들었던 마크 업은 프론트 엔드 개발자의 삶을 훨씬 더 쉽게 만들어 줄 것으로 기대 됩니다.
모든 서버 측 마크 업이 없으면 더 민첩 해졌습니다. 웹 디자이너는 원래 디자인을 3-4 회 직접 교체하고 수정했으며 내 부분은 거의 변경하지 않았습니다.
그의 의견은 HTML을 편집 한 다음 동적 데이터를 사용하여 컴퓨터의 변경 사항을 즉시 볼 수 있다는 점에서 HTML이 살아 있다고 느꼈습니다. 통합이 대부분 자동이라는 점에서 이점이 있습니다.
서버 측 코드 및 HTML / CSS 핸드 오프
과거 프로젝트에서 그는 HTML과 CSS를 Java 개발자에게 전달한 다음 HTML과 CSS를 가져 와서 JSP 기술을 사용하여 완전히 다시 작성해야했습니다. 이 작업에는 많은 시간이 걸리며 일반적으로 실제 페이지 렌더링 및 W3C 유효성 검사기의 유효성 검사에 미묘하지만 중요한 차이점이 있습니다.
전반적으로 우리는이 기술에 매우 만족하며 HTML 페이지에 JSP 페이지가 없거나 서버 측 코드가 없습니다.
REST / JSON 기술의 함정
아마도 가장 큰 함정은 우리가 아직 경험하지 못한 것입니다. 필자는 아파치 재단과 스프링 팀이 태그 라이브러리를 사용하여 프론트 엔드 개발자가 코드를 쉽게 사용할 수있는 방법에 대해 세뇌를 겪은 숙련 된 Java 개발자와 의견이 다를 것으로 예상합니다. 이 프로젝트가 확장됨에 따라 학습 곡선이 기대되며, 필자는 경험에 따라 웹 디자이너의 작업을 더욱 어렵게 만든 구식 기술을 익혀야하는 더 많은 개발자를 고용하고 있습니다.
또 다른 함정은 JavaScript 코드가 매우 커졌다는 것입니다. 이 기술을 처음 사용하고 있기 때문에 빠른 릴리스를 위해 약간의 기술적 빚을 졌기 때문에 이것은 아마도 더 큰 문제입니다. 더 나은 프레임 워크를 선택하면 많은 양의 코드를 완화하는 데 도움이되었을 것입니다. 제 생각에는 이것 중 어느 것도 쇼 토퍼가 아니 었습니다.이 기술을 계속 사용 하고이 분야의 기술을 향상시키는 것이 좋습니다.
장점 : 플랫폼에 다른 애플리케이션을 구축 할 수 있음
마지막으로 숨겨진 이점을 언급해야합니다. 백엔드 RESTful 웹 서비스와 프론트 엔드 사이에 상당한 분리가 있기 때문에 쉽게 확장 할 수있는 플랫폼을 만들었습니다.
운영 담당자 중 한 명이 다른 응용 프로그램에서 개념 증명을 시도하고 싶었고 RESTful 서비스 덕분에 완전히 다른 문제를 해결하기 위해 응용 프로그램과 완전히 다른 프런트 엔드를 만들 수있었습니다. 빠르게 개발 된 개념 증명은 자체 HTML, CSS 및 JavaScript를 사용했지만 RESTful 서비스를 백엔드 및 데이터 소스로 사용했습니다.
결국 다른 프로젝트 관리자는 내가 한 일을 보았고 그 기능이 단순한 개념 증명 이상의 것이 필요하다는 것을 즉시 알게되었으므로 그의 팀은 그것을 구현했습니다.
응용 프로그램 수준과 HTML / CSS / 자바 스크립트 수준에서이 아키텍처가 얼마나 재사용 가능한지 강조 할 수 없으므로 다음 프로젝트에서이 아키텍처를 사용해 보도록 권장합니다.