현재 진행중인 측면 프로젝트의 프로토 타입 / 개념 개념 단계가 거의 끝 나가고 있으며 대규모 응용 프로그램 디자인 결정을 내리려고합니다. 이 앱은 민첩한 개발 프로세스에보다 적합한 프로젝트 관리 시스템입니다. 내가 결정해야 할 결정 중 하나는 전통적인 다중 페이지 응용 프로그램 또는 단일 페이지 응용 프로그램과 함께 갈 것인지 여부입니다.
현재 내 프로토 타입은 전통적인 다중 페이지 설정이지만 backbone.js를 정리하여 Javascript (jQuery) 코드에 일부 구조를 정리하고 적용했습니다. backbone.js가 여러 페이지 응용 프로그램에서 사용될 수있는 것처럼 보이지만 단일 페이지 응용 프로그램으로 더 빛납니다. 단일 페이지 응용 프로그램 디자인 방식을 사용할 때의 장단점 목록을 만들려고합니다. 지금까지 나는 :
장점
모든 데이터는 일종의 API를 통해 사용 가능해야합니다. 어쨌든 내 응용 프로그램에 대한 API를 원하므로 유스 케이스에 큰 이점이 있습니다. 현재 데이터 가져 오기 / 업데이트 호출의 약 60-70 %가 REST API를 통해 수행됩니다. 단일 페이지 애플리케이션을 사용하면 애플리케이션 자체에서 사용하므로 REST API를 더 잘 테스트 할 수 있습니다. 또한 애플리케이션이 성장함에 따라 애플리케이션 자체가 사용하는 이후 API 자체가 커질 것입니다. API를 응용 프로그램의 애드온으로 유지할 필요가 없습니다.
보다 반응이 빠른 응용 프로그램-초기 페이지 이후에로드 된 모든 데이터는 최소로 유지되고 JSON과 같은 압축 형식으로 전송되므로 일반적으로 데이터 요청이 더 빠르며 서버의 처리 속도는 약간 떨어집니다.
단점
- 코드 복제 (예 : 모델 코드) 서버 측 (이 경우 PHP)과 클라이언트 측 모두에서 Javascript로 모델을 작성해야합니다.
- Javascript의 비즈니스 로직-이것이 왜 나쁜지에 대한 구체적인 예를 제공 할 수는 없지만 누구나 Javascript로 비즈니스 로직을 읽을 수 있다고 생각하지는 않습니다.
- Javascript 메모리 누수-페이지가 다시로드되지 않기 때문에 Javascript 메모리 누수가 발생할 수 있으며 디버깅을 시작할 위치조차 모릅니다.
양날의 칼 같은 다른 것들도 있습니다. 예를 들어 단일 페이지 응용 프로그램을 사용하면 응용 프로그램이 특정 요청에 필요한 최소 데이터를 요구하기 때문에 각 요청에 대해 처리되는 데이터가 훨씬 적을 수 있지만 더 작은 요청이있을 수 있습니다. 서버. 그것이 좋은지 나쁜지 잘 모르겠습니다.
프로젝트에 어떤 방법을 사용해야하는지 결정할 때 명심해야 할 단일 페이지 웹 응용 프로그램의 장점과 단점은 무엇입니까?