IT_Study/Web

Back-End (3) : 런타임 환경, 웹 애플리케이션 프레임워크, Node.js

__Vivacé__ 2023. 3. 1. 21:17

런타임 환경(Runtime Environment)

소프트웨어 프로그램을 실행하기 위해 필요한 환경을 제공하는 컴퓨팅 환경, 줄여서 Runtime 이라고도 함

 


웹 애플리케이션 개발을 위한 프레임워크

 

1. Spring Framework (Java)

  • 장점
    • 객체 지향적인 설계를 기반 → 유지보수 및 확장성이 용이
    • 다른 Java 기술과의 연동이 쉬움
    • 대규모 애플리케이션 개발에 적합

 

  • 단점
    • 설정이 복잡
    • 이전 버전과의 호환성 이슈

2. Django (Python)

  • 장점
    • 다양한 기능을 제공, 다른 라이브러리와 쉽게 연동 가능
    • 안정성과 보안성이 높음
    • 커뮤니티가 크고 활발하여, 다양한 문제를 해결할 수 있는 정보를 얻기 용이함

 

  • 단점
    • 성능이 낮은 템플릿 엔진 때문에, 대규모 트래픽 처리가 어려움
    • Python 기반, 다른 언어로 개발된 서비스와 연동할 때 어려움이 있음

3. React (Javascript)

  • 장점
    • 높은 성능과 코드의 재사용성, 가독성이 높고, 테스트 용이성이 높아 유지보수가 쉬움
    • 컴포넌트 기반 아키텍처
    • 다른 라이브러리와의 연동이 쉬움

 

  • 단점
    • 기능을 구현하기 위해 많은 라이브러리를 사용해야 할 수 있음
    • SEO(Search Engine Optimization) 문제 발생 가능

4. Vue.js

  • 장점
    • 가볍고 빠른 렌더링 속도(브라우저에서 얼마나 빠르게 보이는 지)와 다양한 기능을 제공
    • 코드의 가독성이 좋아 유지보수가 용이
    • 또한 개발 생산성이 높고, 배우기 쉬움

 

  • 단점
    • 대규모 애플리케이션 개발에 비적합(상태 관리 어려움, 독립 컴포넌트 간 상호작용이 복잡)
    • 타 프레임워크에 비해 일부 기능이 단순(e.x. 라우터, Vuex, …)
    • React나 Acgular에 비해 작은 커뮤니티

5. Node.js

  • 장점
    • JavaScript를 사용하므로, 프론트엔드와 백엔드에서 동일한 언어를 사용하여 개발이 가능
    • 비동기 처리 방식을 적용하여 I/O 처리 성능이 우수
    • 대용량 데이터를 처리할 때 적합
    • NPM(Node Package Manager)을 통해 다양한 패키지와 라이브러리를 이용 가능

 

  • 단점
    • CPU 사용량이 많은 작업을 처리하기에는 비적합
    • 자유도가 높아 초기 설정이 복잡

 


JavaScript로 만든 소스코드 동작 방법

 

  1. 웹브라우저 내에서 JavaScript 코드 수행
    • 웹브라우저 안에 실행 환경이 구축 되어 있음

 

  1. 웹브라우저 외에서 JavaScript 코드 수행
    • Node.js 필요 = JavaScript의 실행기가 필요

Node.js란?

Chrome V8 JavaScript 엔진으로 빌드된 JavaScript 런타임