CS/웹

[웹] Spring - NodeJS - Django

pythaac 2022. 4. 19. 18:32

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

 

Django(Python) vs. Node JS vs. Spring(Java) | Difference between Django, Node JS and Spring

As new technological innovations continue to emerge, buoyed by an explosion of digital devices and changing consumer habits Read more Building management systems are basically computerized systems that control and manage the electronic and mechanical Read

revaalolabs.com

 

'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