대규모 프로젝트를 위한 NodeJS vs Play Framework
대형 애플리케이션을 구축하는 데 필요한 두 개의 스택 사이에서 고민하고 있습니다.한 손에는 다음과 같은 옵션이 있습니다.
- 노드.js
- 표현
- 커피 대본
- 커피 잔
- 몽구스/몽고드보르
- presistance js/message
- Scala를 사용한 Play Framework
- mysql이 있는 표준
- 몽고드브
node.js 경로는 제가 이미 알고 있는 모든 서버 사이드 코드, 뷰 및 클라이언트 사이드 코드를 커피 스크립트로 작성할 수 있기 때문에 저에게 매력적입니다.이 길을 간다면 어떤 db 경로를 택할지 아직 100% 확신할 수 없습니다. mongoose를 사용하면 데이터를 빠르고 쉽게 저장할 수 있지만, 실제 관계가 없는 것은 제가 염두에 두고 있는 데이터 모델(매우 SQL적)을 고려할 때 작업하기가 더 어려울 수 있습니다.
플레이 프레임워크 경로 또한 매력적입니다. 자바를 사용할 때 프레임워크를 잘 알고 있지만 스칼라에 대해 잘 모르기 때문에 그 언어를 배우면서 작업하면서 생산성에 타격이 있을 것입니다.Anorm 데이터베이스 액세스 계층은 제가 선호하는 SQL을 직접 작성할 수 있고 결과를 개체에 자동으로 매핑하여 많은 노력을 절약할 수 있기 때문에 매력적입니다.
나는 node.js에 계속 기대고 있지만, 사용하기에 가장 좋은 db 액세스 계층에 판매되지 않습니다.이에 대한 경험이 있고 통찰력을 공유할 수 있는 사람이 있습니까?
선택한 스택은 응용 프로그램의 필요에 따라 달라집니다.Play vs.강점에 대한 노드:
노드
- 실시간 응용프로그램(채팅, 피드)
- 이벤트 중심 아키텍처
- 클라이언트-서버 작업(예: 파일 서버)을 수행할 수 있지만 이에 적합하지 않습니다.
- 추가 패키지로 제공되는 데이터베이스 관리, 테스트 도구 등
플레이!
- 클라이언트-서버 애플리케이션(웹 사이트, 서비스)
- 공유 없는 아키텍처
- 실시간 작업(예: 웹 소켓)을 수행할 수 있지만 이에 적합하지 않습니다.
- 데이터베이스 관리(마이그레이션 포함), 테스트 툴 등을 코어에 내장
응용프로그램이 기존 웹 기반 모델과 더 유사한 경우 재생을 선택하는 것이 가장 좋습니다.즉각적인 피드백과 실시간 동적 메시징이 필요한 경우 노드를 선택하는 것이 좋습니다.
전통적인 대형 애플리케이션의 경우 Play를 진지하게 고려해 보십시오!데이터베이스 마이그레이션과 함께 내장 장치 및 기능 테스트로 인한 프레임워크입니다.개발 프로세스에 통합하면 예상대로 작동하고 안정적이며 오류가 없는 최종 제품으로 전환됩니다.
웹 프레임워크를 비교할 때 고려해야 할 10가지 주요 범주가 있습니다.
- 학습: 시작, 향상, 전반적인 학습 곡선.
- 개발: 라우팅, 템플릿, i18n, 양식, json, xml, 데이터 저장소 액세스, 실시간 웹.
- 테스트: 단위 테스트, 기능 테스트, 통합 테스트, 테스트 범위.
- 보안: CSRF, XSS, 코드 주입, 헤더, 인증, 보안 조언.
- 빌드: 컴파일, 테스트 실행, 정적 콘텐츠 사전 처리(ass/less/CoffeeScript), 패키지.
- 배포: 호스팅, 모니터링, 구성.
- 디버그: 단계별 디버거, 프로파일러, 로깅,
- 스케일: 처리량, 대기 시간, 동시성.
- 유지관리: 코드 재사용, 안정성, 성숙도, 유형 안전, IDE.
- 공유: 오픈 소스 활동, 메일링 목록, 인기, 플러그인, 상업적 지원, 일자리.
이 두 프레임워크가 이 10가지 차원에서 어떻게 비교되는지에 대한 자세한 분석은 내 토크 Node.js vs Play Framework를 확인하십시오.
언급URL : https://stackoverflow.com/questions/7639742/nodejs-vs-play-framework-for-large-project
'programing' 카테고리의 다른 글
이클립스의 패키지 탐색기에서 트리 항목의 글꼴 크기를 구성하려면 어떻게 해야 합니까? (0) | 2023.05.07 |
---|---|
MongoDB를 사용하여 중첩된 어레이 업데이트 (0) | 2023.05.07 |
오라클에서 새 줄 문자를 입력하는 방법은 무엇입니까? (0) | 2023.05.07 |
치명적: 현재 분기 마스터에 업스트림 분기가 없습니다. (0) | 2023.05.07 |
pip로 특정 git commit 설치 (0) | 2023.05.07 |