컨텐츠 바로가기

[Python] 4개의 Web Frameworks 비교 (Pyramid, Bottle, Django, Flask)

http://mcchae.egloos.com/11064660

Python의 IDE로 사용하고 있는
PyCharm이 버전3이 되었습니다.
What's New 를 살펴보다 보니 Pyramid 웹 프레임워크가
템플릿이 추가되었다는 군요.

그래서 살펴보다가 Python 언어로 만들어진 웹 프레임워크의 대표적인 4가지,

간단히 번역을 해 보았습니다.

2013년 2월 26일 IndyPy Python Web Shootout 2013 에서 발표된 내용입니다.


Pyramid - 유연성
피라미드는 Pylons 1.0과 repoze.bfg 를 병합하면서 탄생하였습니다. 
"배터리 포함" 이라는 파이썬 사상에 어긋나지는 않지만 사이트 바로 적용할 수 있는
컴포넌트를 바로 의미하지는 않습니다.
피라미드 커뮤너티는 빠르게 성장하고 있습니다. 문서는 아주 잘 정리되어 있어서
별도의 커뮤너티의 도움이 없이도 작업할 수 있을 정도입니다. 
피라미드는 최소화, 속도, 신뢰성을 지향합니다. 
Python3을 지원하는 최초의 웹 프레임워크 중의 하나입니다.
장점:
  • 빨리 시작할 수 있습니다
  • API 프로젝트에 작업 가능합니다
  • 생각을 프로토타이핑 하는데 용이합니다
  • CMS 혹은 KMS와 같은 대용량 웹 앱도 만들어지고 있습니다

Bottle - 간결함
바틀은 라우팅, 템플릿과 WSGI를 통한 약간의 추상화를 하는 박스를 만들면서
탄생한 마이크로 프레임워크입니다. Python3에 구동 가능합니다.
장점:
  • 융통성을 찾는 개발자에게 유리합니다
  • 웹 API를 생성할 수 있습니다
  • 무언가 정말로 간단한 웹을 위한 사람을 위한 것입니다

Django - 강렬함
쟁고는 아마도 파이썬 기반의 가장 큰 웹 프레임워크입니다. 크고 활발한 커뮤너티를 가지고 있습니다.
또한 많은 기능을 포함할 뿐만 아니라 관리자 인터페이스도 가지고 있습니다.
모델 기반의 폼을 가지고 있고 템플릿 언어를 포함하며 개발자 문서도 잘 되어 있습니다.
쟁고를 이용하면 좋은 사람:
  • 온라인 포럼 등을 통하여 서로의 생각을 공유하는 것을 종아하는 개발자
  • 강력한 내장 툴을 이용하여 빠르게 무언가를 만들려고 하는 개발자
유용한 쟁고 앱:
  • South (스키마 및 데이터 전환)
  • Celery (역주: 샐러리 분산 API 프레임워크)
  • Rest 프레임워크 또는 TastyPie
  • Django Extensions

Flask - 민첩함
플래스크는 하나의 파일로 구성된 소스가 웹 프레임워크가 될 수 있다는 만우절의 농담과도 같은
마이크로 프레임워크로 탄생하였습니다. 간결하고 작은 것을 지향합니다.
전체 프레임워크는 몇 개의 모듈로 구성되어 있습니다. 처음 시작을 위한 뼈대는 없는 대신,
빈 페이지에서 시작할 수 있습니다. 플래스크가 자체로 많은 기능을 제공하지 않는더라도
ORM, 폼 검증 및 업로드 처리 등을 위한 확장 기능을 이용할 수 있습니다.
장점:
  • 프로그래밍 교육
  • "맛보기" 코딩을 하려는 개발자
  • 빠르게 프로토타입을 구성해 보려는 개발자
  • 단일 구성의 앱을 만들려는 개발자
플래스크와 같이 사용하면 좋은 모듈 구성:
  • Flask + Jinja2 + SQLAlchemy
  • Flask + Mako + SLQLAlchemy
  • Flask + Jinja2 + Peewee
  • Flask + CouchDB

우리나라 현실에서는,
파이썬 개발자도 적을 뿐더라
쟁고 커뮤너티가 그나마 유지가 되고 있는 것 같습니다만
다양한 프레임워크를 이용한 다양한 방법론이
활성화되었으면 하는 바램입니다.

어느분께는 도움이 되셨기를...



덧글|덧글 쓰기|신고