2020-06-13 TIL Django vs Flask

seo_kk·2020년 6월 13일
0

Djagno

Django는 python 기반 web application framework 중 가장 많이 사용되고 있다. 이유는
기능이 많고 강력하기 때문이다.

Django는 web application을 개발하기 위한 대부분의 기능들을 제공하기 때문에 규모가 있는 application 개발도 Django로 충분히 소화가 가능하다.

MTV 기반 패턴대로 개발할 수 있도록 이미 구조화 되어 있어서 프레임워크 가이드 대로 하면 손쉽게 개발이 가능하다.

ORM 기능도 내장되어 있으며 MySQL, PostgreSQL, Oracle 등 다양한 DBMS에 대해서도 Driver 형태로 손쉽게 붙일 수 있다.

Viewing 또한 template 엔진을 제공한다. 웹 개발에 필요한 session 관리도 지원해 준다.

그 외 추가 기능 또한 plugin 형태로 손쉽게 설치후 사용할 수 있게 지원한다.

결론적으로 개발하기 위해 필요한 귀찮은 작업들을 거의 대부분 Framework 레벨에서 지원해준다는 것이 강점이라 하겠다.

그리고 Python 기반 Framework 중 사용자가 가장 많으며 community 도 가장 크다는 것이 장점이라고 볼 수 있다.

Django 기반의 유명한 site reference도 많이 있다. 그만큼 안정성도 검증 되었다고 볼 수 있다.

예) Instagram, Pinterest Bitbucket

Flask

Flask는 Python 기반 Micro Framework를 표방하면서 나타났다.

즉, 매우 가볍고 심플한 Framework를 지향하는 점이 특징이다.

이러한 철학으로 인하여 처음에 설치 했을 때, 장고에 비해서 뭔가 부족하다는 느낌을 받을 수 있으며,

우리는 필요한 것들을 스스로 설치 해야하만 한다.

이러한 구조의 가장 큰 장점이라고 한다면, 자유도가 아주 높다는 것이다.

내가 원하는 라이브러리와 패키지로 내가 필요한 것만 붙여서 만들어 나갈 수 있다.

Django의 경우에는 강력한 기능을 제공해 주는 대신, Framework 자체적으로 설계한 개발 패턴에서

크게 벗어날 수 없는 구조라면 Flask는 처음부터 주어진 기능이 없지만, 내가 원하는 설계 방향대로

framework를 구축해 나갈 수 있다는 점이 매력이라고 하겠다.

예를 들면, Flask에는 DB ORM 구조가 따로 존재 하지 않는다.

Django의 대표적인 특징인 ORM도 Flask 에는 따로 없으며, 개발자가 원한다면 ORM 지원 패키지를 선택해서 사용하면 된다.

Flask의 내부 구성을 살펴보면, 크게 WSGI 용 Library인 Werkzeug(http://werkzeug.pocoo.org/) 와 HTML에 데이터를 렌더링하는 엔진인 Jinja2 template(http://jinja.pocoo.org/) 으로 구성되어 있다.

Flask 또한 여러 site에서 사용하고 있는 Framework 이고, Community도 활성화 되어 있기때문에 사용하는데 큰 지장이 없다.

예) Linked-in, Pintest, twilio

profile
BackEnd-Developer

0개의 댓글