Web Framework란

gyuhoney·2024년 10월 13일

Web

목록 보기
1/2

웹 프레임워크란?

웹 프레임워크란 웹 애플리케이션 개발 시 반복적으로 사용되는 기능들을 미리 구현해 둔 소프트웨어 도구입니다.

이를 통해 개발자는 보다 빠르게, 효율적으로 웹 애플리케이션을 개발할 수 있으며, 코드의 유지보수도 용이해집니다.

웹 프레임워크는 기본적으로 다음과 같은 주요 기능을 제공합니다.

  1. 라우팅
    사용자가 특정 URL을 요청할 때, 해당 요청을 처리할 서버 로직을 매핑하는 기능입니다. 
    이를 통해 애플리케이션은 다양한 URL에 맍는 동작을 수행할 수 있습니다.

  2. 템플릿 엔진
    동적 웹 페이지를 생성하는 데 사용되며, 
    템플릿에 데이터를 삽입해 HTML, XML, JSON 등의 형태로 출력할 수 있습니다.
    예를 들어, 사용자의 데이터를 동적으로 불러와 웹 페이지에 표시하는 데 유용합니다.

  3. 데이터베이스 관리
    ORM(Object-Relational Mapping)기능을 통해 데이터베이스와의 상호작용을 보다 직관적으로 할 수 있게 합니다.
    복잡한 SQL 문 없이도 데이터베이스에서 데이터를 가져오거나 저장할 수 있어 개발의 편리성을 높여 줍니다.

  4. 세션 관리
    사용자의 로그인 상태나 임시 데이터를 세션에 저장하여 여러 요청간에 공유할 수 있는 기능을 제공합니다.
    이를 통해 로그인한 사용자 상태 유지 등과 같은 기능을 쉽게 구현할 수 있습니다.

  5. 보안 기능
    CSRF 방어, XSS방어, 암호화 등 웹 애플리케이션의 보안을 강화할 수 있는 다양한 내장 기능을 제공해 보다 안전한 웹 서비스를 만들 수 있습니다.


대표적인 웹 프레임워크

  1.  Django (python)
    Python 기반의 프레임워크로, 강력한 ORM과 많은 내장 기능 덕분에 보안성과 생산성이 뛰어납니다. 특히 대규모 애플리케이션을 빠르게 개발하는데 적합합니다.
  2. Spring, Spring Boot (Java)
    Java 기반의 대규모 애플리케이션 개발에 적합한 프레임워크입니다. 의존성 관리와 보안 기능이 잘 갖추어져 있어 엔터프라이즈 애플리케이션에서 많이 사용됩니다. (대한민국에서 많이 사용되는 프레임워크입니다. 자바공화국이라는 말이 있을 정도....)
  3. Express (Node.js)
    JavaScript 기반의 프레임워크로, 유연성과 속도가 뛰어납니다.
    가볍고 미니멀한 구조로, 다양한 플러그인과 미들웨어를 활용해 필요한 기능을 손쉽게 추가할 수 있습니다.
  4. Flask (Python)
    단순하고 가벼운 프레임워크로, 확장성이 좋아 작은 프로젝트에서 시작해 점차 기능을 추가하는 방식으로 발전시킬 수 있습니다.

결론

웹 프레임워크는 반복적인 개발 작업을 줄이고, 코드의 구조화와 보안을 향상시켜 개발자들에게 큰 도움이 되는 도구입니다.

각 프레임워크는 서로 다른 특징을 가지고 있어, 프로젝트의 성격에 맞는 프레임워크를 선택하는 것이 중요합니다.

profile
윤규헌입니다.

0개의 댓글