Django, Spring, Node.js

bird.j·2021년 2월 25일
0

공통점 : 웹 개발 프레임워크(서버)

  • Django : for 파이썬 기반 개발자
  • Spring : for 자바 기반 개발자. Java 백엔드 프레임워크

    • 많은 개발자들이 오랫동안 사용하고 유지해왔기 때문에 알려진 버그와 보안 문제가 많이 잡혀있어서 안정성이 우수
    • 많은 사람들이 사용하다보니 정형화되어있는 패턴이 있고, 막혔을 때 다른 사람들에게 물어보기 쉬움
    • 대기업이나 정부과제에서 많이 사용
    • MVC 모델 사용
    • 컨테이너로 대체로 tomcat이 사용
  • Node.js : JavaScript 백엔드 프레임워크

    • javascript를 아는 사람이라면 비교적 쉽게 시작
    • 주로 웹개발에 사용되지만 서버(일반 게임 서버나 tcp/ip 서버 등등)군 모두를 제작 가능
    • node 자체는 백지상태에서 뭔가를 만드는 느낌
    • 상황에 따라서 필요한 것만 작성해 넣을 수 있어서 경량화하면서 꼭 필요한 기능을 구현하고자 할 때 비교적 적합
    • 모든 개발 스택에서 JavaScript를 사용 가능
      • 백엔드부터 프론트엔드까지, 더 확장하면 DB도 JavaScript로 구현 가능
    • 아주 간단한 서버는 코드 10줄 정도로 구현할 수 있다
    • 빠르게 개발하는 프로젝트, 프로토타입에 적합


웹 개발이 중심이라면 웬만한 경우는 spring 같은 정형화된 플랫폼을 사용할 것을 권장하며, 정말 특수한 경우 특수한 웹 서버를 만들거나 tcp/ip 서버, socket.io 서버 같은 서버 등등을 제작하는 경우 Node가 대안이 될 수는 있다고 한다.

Node를 웹 개발의 메인으로 추천하지 않는 이유는 node는 백지 상태에서 작성을 시작하기 때문에 만드는 사람마다 천차만별의 형식으로 구현하게 될 수 있고, 이것은 나중에 유지보수 및 개발자들 상호간의 커뮤니케이션을 어렵게 만들 수 있는 요인이 되기 때문이라고 한다. 그리고 async 프로그래밍에 익숙하지 않은 경우 debug가 불가능할 정도의 복잡한 코드를 양산할 수 있다.

출처: https://han41858.tistory.com/41

0개의 댓글