웹 프레임워크 개요 및 기능 분석

Jun 27, 2024

강의 노트: 웹 프레임워크

개요

  • 풀 스택 웹 프레임워크에 대한 발표
  • 10개의 다른 프레임워크를 사용하여 동일한 웹 애플리케이션을 구축한 경험
  • 논의된 프레임워크: Rails, Django, Laravel, Spring, .NET, Next.js, Phoenix, Rocket, Gin, Vapor, 그리고 Ktor 언급
  • 초점: 설정, 라우팅, 데이터베이스 통합 및 아키텍처

프레임워크 선택의 중요성

  • 장기 프로젝트 성공에 영향
  • 발표자의 스타트업 여정에 지대한 영향

웹 프레임워크 기능

  1. 데이터베이스 추상화
    • 객체 관계 매퍼(ORM)
    • 코드를 SQL로 변환
  2. 라우팅
    • URL을 서버 측 코드에 매핑
  3. 동적 데이터 삽입
    • 데이터베이스 데이터를 HTML에 삽입하여 UI 제공
    • 모델 뷰 컨트롤러(MVC) 아키텍처

프레임워크와 기능

루비 온 레일즈(Ruby on Rails)

  • Shopify, Airbnb, GitHub 같은 회사에서 인기
  • Hotwire, Stimulus, Turbo로 웹 개발 간소화
  • 설정은 루비와 레일즈 젬을 포함
  • 설정 오류는 구글을 통해 해결 가능
  • 코드를 생성하는 광범위한 CLI 제공 (예: scaffold)
  • MVC를 따름: 라우트(routes.rb), 모델, 뷰, 컨트롤러
  • ORM은 ActiveRecord 사용
  • 뷰는 임베디드 루비(ERB) 사용
  • 장점: 의견이 반영된 설계, 완전한 패키지 제공, 관심사의 분리
  • 단점: 루비의 인기가 상대적으로 낮음