1. Django
- Python 프레임워크
- Instagram, Mozilla, Bitbucket
특징
- Documentation이 잘되어있음
- SEO 최적화
- 높은 보안
- 빠른 개발 환경
- 높은 확장성
장점
- 관계형 DB와의 연동성(seamless collaboration)
- built-in security system
- 빠른 웹/앱 개발
- 내장 템플릿
- Documentation
단점
- Monolithic
- small app에서 잘 동작하지 않음
- 언어에 대한 전문 지식 필요
2. NodeJS
- Open source
- Cross-platform Javascript Runtime Environment
- Javascript로 client/server 구현
- Javascript로 browswer 밖에서 앱 구현
- 프로그래밍 언어가 아닌 JS로 동작하는 환경
- 실시간으로 분산된 device를 거쳐 동작하는 Data-intensive app에 적합
- Event-driven
- Single-threaded
- Non-blocking I/O
특징
- Buffering이 없음
- Single threaded지만 높은 확장성
- Asynchronous / Event-driven
- 매우 빠름
장점
- 빠르고 쉬운 코드 작성
- 자바보다 단순
- 거대한 커뮤니티
- 우수한 패키지 관리자
- API 작성시 최고로 잘 동작함
단점
- CPU-heavy app에 적합하지 않음
- 낮은 보안과 보안 결함 존재
- 비동기 프로그래밍 작성이 어려움
3. Spring
특징
- Aspect-Oriented Programming (AOP)
- 가벼움 (lightweight)
- 트랜잭션 관리
- Dependency Injection (DI)
- 다른 프레임워크와의 통합(integration)
장점
- 전세계 개발자들이 믿을 수 있는 유연한 라이브러리
- POJO 구현으로 인한 lightweight framework
- 강력한 JEE 추상화 (JMS, JDBC, JPA, JTA)
- 선언적 지원
- caching
- validation
- transaction
- formatting
- 리소스 관리가 쉽게 어디에나 복사/붙여넣기할 수 있는 cross-cutting concern
단점
- XML을 많이 사용
- 전문성이 필요
- XSS을 신경쓰지 않음
- XSS(cross-site scripting) : 브라우저에서 스크립트가 실행되도록하여 세션 탈취, 악의적 컨텐츠 삽입 등을 행하는 것
- 참조 사이트 - 많은 옵션을 제공하여 개발자에게 혼란을 야기할 수 있음
https://revaalolabs.com/post/django-vs-nodejs-vs-spring-difference-between-django-nodejs-and-spring
'CS > 웹' 카테고리의 다른 글
[웹] MVC 패턴의 5가지 계층 (0) | 2022.05.11 |
---|---|
[웹] PG(Payment Gateway) (0) | 2022.05.05 |
[웹] JEE (Jakarta Enterprise Edition) (0) | 2022.04.19 |
[웹] SEO란 (0) | 2022.04.18 |
[인프런][HTTP] URI와 웹 브라우저 요청 흐름 (0) | 2022.04.07 |