먼저 비즈니스 요구사항과 성능의 관점에서 어떤 데이터 구조가 프런트엔드에 배치되고, 어떤 데이터 구조가 백엔드에 배치되고, 어떤 데이터 구조를 한 번만 가져와 캐시하면 되는지 명확하게 정의해야 합니다. 백엔드와 통신해야 할 내용, 실시간 응답이 필요한 내용, 푸시해야 할 내용 등 이러한 모든 사항이 모든 프로젝트 팀 구성원과 명확하고 완전하게 의사소통되고 프런트엔드 및 백엔드 개발자가 모두 이 아키텍처에 동의한 후에야 백엔드 설계 방법을 고려할 수 있습니다.
둘째, 백엔드 디자인을 시작할 때 가장 먼저 고려해야 할 사항은 데이터베이스 선택입니다. 이는 또 다른 큰 주제이므로 여기서는 자세히 논의하지 않습니다. 이론적으로는 모든 언어에 모든 데이터베이스가 포함될 수 있지만 항상 그런 것은 아닙니다. Mongodb에는 node.js를 사용하는 것이 가장 좋습니다. PHP가 괜찮나요? 물론 가능합니다. 인터페이스가 안정적이라면 mysql보다 postgresql을 선택하는 것이 더 나을 수 있습니다. 자체 나머지 인터페이스가 있고 개발할 필요도 없기 때문입니다. 하지만 보안을 어떻게 보장할 수 있을까요? jwt를 지원하나요? 성능은 어떻습니까? 이러한 문제는 신중하게 고려해야 합니다. 사전에 광범위한 연구와 경험을 쌓으면 많은 시간을 절약할 수 있습니다. 맹목적으로 개발에 투자하지 마세요.
셋째, 데이터베이스와 개발 언어를 모두 선택할 경우 기성 프레임워크를 사용할지 여부에 따라 달라집니다. 심지어 PHP에서도 선택할 수 있는 프레임워크가 10개 이상 있습니다. 프레임워크를 선택하면 두 배의 효과를 얻을 수 있습니다. 절반의 노력으로 얻은 결과입니다. 이 단계에서 프런트엔드와 백엔드 인터페이스는 주로 json 통신을 사용하며 비누 프로토콜은 거의 사용되지 않습니다. 하지만 동기식인지 비동기식인지에 따라서도 달라지는데, 일반적으로 비동기식 ajax 통신을 사용하지만, 동기식 통신이 필요한 경우도 있는데, 이 경우 websocket을 사용합니다. json을 사용하더라도 자신만의 json 필드를 직접 정의하고 Rest 메소드를 사용할 수 있는 옵션이 있습니다. Rest 메소드를 사용하는 경우 Ajax는 Stateless이고 사용 가능한 세션이나 쿠키가 없기 때문에 보안 문제를 고려해야 합니다.
마지막으로 인적 요소가 있습니다. 개발 주기가 무한히 길 수 없고, 모두가 배울 시간이 없습니다. 따라서 팀원들이 어떤 언어, 데이터베이스, 프레임워크에 익숙한지 고려하여 균형을 맞춰야 합니다. 시스템 성능 및 개발 속도.
이것은 큰 질문입니다. 여러 각도에서 답변해 보겠습니다.
먼저 비즈니스 요구사항과 성능의 관점에서 어떤 데이터 구조가 프런트엔드에 배치되고, 어떤 데이터 구조가 백엔드에 배치되고, 어떤 데이터 구조를 한 번만 가져와 캐시하면 되는지 명확하게 정의해야 합니다. 백엔드와 통신해야 할 내용, 실시간 응답이 필요한 내용, 푸시해야 할 내용 등 이러한 모든 사항이 모든 프로젝트 팀 구성원과 명확하고 완전하게 의사소통되고 프런트엔드 및 백엔드 개발자가 모두 이 아키텍처에 동의한 후에야 백엔드 설계 방법을 고려할 수 있습니다.
둘째, 백엔드 디자인을 시작할 때 가장 먼저 고려해야 할 사항은 데이터베이스 선택입니다. 이는 또 다른 큰 주제이므로 여기서는 자세히 논의하지 않습니다. 이론적으로는 모든 언어에 모든 데이터베이스가 포함될 수 있지만 항상 그런 것은 아닙니다. Mongodb에는 node.js를 사용하는 것이 가장 좋습니다. PHP가 괜찮나요? 물론 가능합니다. 인터페이스가 안정적이라면 mysql보다 postgresql을 선택하는 것이 더 나을 수 있습니다. 자체 나머지 인터페이스가 있고 개발할 필요도 없기 때문입니다. 하지만 보안을 어떻게 보장할 수 있을까요? jwt를 지원하나요? 성능은 어떻습니까? 이러한 문제는 신중하게 고려해야 합니다. 사전에 광범위한 연구와 경험을 쌓으면 많은 시간을 절약할 수 있습니다. 맹목적으로 개발에 투자하지 마세요.
셋째, 데이터베이스와 개발 언어를 모두 선택할 경우 기성 프레임워크를 사용할지 여부에 따라 달라집니다. 심지어 PHP에서도 선택할 수 있는 프레임워크가 10개 이상 있습니다. 프레임워크를 선택하면 두 배의 효과를 얻을 수 있습니다. 절반의 노력으로 얻은 결과입니다. 이 단계에서 프런트엔드와 백엔드 인터페이스는 주로 json 통신을 사용하며 비누 프로토콜은 거의 사용되지 않습니다. 하지만 동기식인지 비동기식인지에 따라서도 달라지는데, 일반적으로 비동기식 ajax 통신을 사용하지만, 동기식 통신이 필요한 경우도 있는데, 이 경우 websocket을 사용합니다. json을 사용하더라도 자신만의 json 필드를 직접 정의하고 Rest 메소드를 사용할 수 있는 옵션이 있습니다. Rest 메소드를 사용하는 경우 Ajax는 Stateless이고 사용 가능한 세션이나 쿠키가 없기 때문에 보안 문제를 고려해야 합니다.
마지막으로 인적 요소가 있습니다. 개발 주기가 무한히 길 수 없고, 모두가 배울 시간이 없습니다. 따라서 팀원들이 어떤 언어, 데이터베이스, 프레임워크에 익숙한지 고려하여 균형을 맞춰야 합니다. 시스템 성능 및 개발 속도.