웹 개발 프레임워크의 진화와 핵심 개념 (MVC, RoR)

Source

  • Evernote/Technote scraps/마이크로소프트웨어.md

Summary

본문은 웹 개발 프레임워크의 역사적 발전 과정과 핵심 아키텍처 개념을 설명한다. 초기 ‘모델 1(Model 1)’ 방식은 JSP에서 비즈니스 로직과 화면 출력을 혼재시켜 초기 개발은 빠르지만 유지보수성이 극도로 낮았다. 이를 해결하기 위해 등장한 ‘MVC(Model-View-Controller)’ 패턴은 역할을 분리하여 유지보수성을 높였으나, 설정 복잡도와 학습 비용이 증가하는 단점이 있었다. 이후 ‘루비 온 레일즈(Ruby on Rails)‘는 ORM과 ‘Active Record’ 패턴을 통합하고 ‘관례 우선(Convention over Configuration)’ 철학을 도입하여 개발 생산성을 획기적으로 높였다. 그러나 새로운 언어 학습 부담과 성능 이슈로 인해 대규모 서비스에서의 확산에는 한계가 있었다. 결론적으로 현대 웹 프레임워크는 MVC 패턴을 근간으로 하며, 프레임워크 선택 시 핵심 개념 이해가 중요함을 강조한다.

Key Points

  • 모델 1(Model 1) 방식: JSP 중심의 초기 개발 방식. 학습 곡선이 낮고 초기 속도가 빠르지만, 로직 혼재로 인한 유지보수성 저하와 코드 부loat 문제가 심각함.
  • MVC 패턴: Model(비즈니스/DB), View(화면), Controller(흐름 제어)로 역할 분리. 유지보수성 향상과 개발자 역할 분담 가능하지만, 초기 설정 비용과 학습 곡선이 증가함.
  • 루비 온 레일즈(RoR)의 혁신: 기존 프레임워크가 컨트롤러/뷰에 집중하던 반면, 모델 영역까지 통합 지원. Active Record 패턴(ORM 통합)과 관례 우선(CoC) 철학으로 개발 생산성 극대화.
  • RoR의 한계: 루비 언어 학습 장벽과 대규모 서비스에서의 성능 이슈로 인해 기대만큼 폭넓게 확산되지 못함.
  • 핵심 통찰: 다양한 프레임워크가 존재하지만 근간은 MVC 패턴이므로, 특정 프레임워크의 세부 사항보다 MVC 및 관련 패턴에 대한 깊은 이해가 프레임워크 적응과 커스터마이징에 필수적임.