본문 바로가기
업무 기록/ETC

Node js Express vs Spring boot 같이 사용

by code2772 2023. 8. 6.

[ 목차 ]

    728x90
    반응형

    진행중인 프로젝트간 SpringBoot 와 Node Js Express를 같이 사용하면서 왜 같이 사용하는지 궁굼하여 찾아본 내용이다.

     

     

    Node.js
    Node.js는 서버 측 JavaScript 런타임 환경으로, 웹 애플리케이션 개발을 위해 사용된다.
    기본적으로 비동기식, 이벤트 기반 아키텍처를 갖추고 있어 높은 확장성과 성능을 제공,
    Node.js는 브라우저가 아닌 서버 사이드에서 JavaScript 코드를 실행할 수 있게 한다.
    I/O 작업이 많은 애플리케이션에서 특히 유용하며, 실시간 데이터 처리나 빠른 응답을 요구하는 애플리케이션적합.  Node.js의 패키지 매니저인 npm을 통해 다양한 라이브러리와 모듈을 사용할 수 있다.


    Express.js
    Node.js를 기반 으로 한 웹 프레임워크로, 웹 애플리케이션의 라우팅, 미들웨어, 템플릿 엔진 등을 제공.
    Node.js는 웹 애플리케이션 개발을 위한 기본 도구만 제공하고 있기 때문에, Express.js는 이러한 기본적인 기능들을 쉽게 사용할 수 있도록 매우 유연하고 빠르며, 웹 애플리케이션을 구축하는 데 필요한 여러 유틸리 제공. Express.js는 Node.js의 기능을 더욱 확장하고 다양한 기능을 간단하게 구현할 수 있게 한다. 둘 다 작은 규모의 웹 애플리케이션을 빠르게 개발할 수 있다.
    JavaScript 기반이기 때문에, 전체 웹 애플리케이션 개발에 JavaScript를 사용할 수 있다.
    Non-blocking I/O 모델을 사용하므로 I/O 작업이 많은 애플리케이션에 적합하다.
    JSON과 같은 자료 구조에 능숙하며, RESTful API를 쉽게 구현할 수 있다.
    비교적 높은 자유도를 제공하므로 웹 애플리케이션의 구조와 기능을 매우 자세하게 컨트롤할 수 있다.

     

    Spring Boot
    Spring Boot는 Java 기반의 웹 애플리케이션 개발 플랫폼으로, Java를 기반으로 하는 다양한 기술과 라이브러리를 포함하고 있다.
    Java와 관련된 기능을 많이 제공하며, Java 개발자들에게 익숙한 개발 환경을 제공한다.
    스프링 생태계를 지원하므로 스프링의 다양한 기능과 모듈을 쉽게 사용할 수 있다.
    Java의 멀티스레드 환경에서 뛰어난 성능을 발휘하며, 대규모 애플리케이션에 적합하다.
    웹 애플리케이션 개발 뿐만 아니라, 배치 처리, RESTful API 개발, 마이크로서비스 아키텍처 등에도 적용 가능.




    진행중인 프로젝트의 내용은 I/O작업이 많은 메시지를 주고받는 프로젝트였다. 그 프로젝트는 순수  Java만을 사용한 기존 사용하는 Agent가 있었고 웹브라우저에서의 입력에서 API GateWay를 통해 내용을 보내는 프로젝트이다. 생각을 해보니 다양한 사람이 하는 프로젝트에서 순수 Java Agent를 개발하는 이들을 위해 Spring에서 Restful Api개발과 같이 편리함을 목적으로 작업을하고 Node Js Express는 API GateWay와의 연결 및 많은 I/O를 처리하기 위해 사용한것이였다. 어떤 프레임워크로 사용하는 환경에 따라 많은 편리함이 있겠다고 생각했다. 순전히 내 생각이다..... 
    반응형