Welcome :っ)

Devlog/Python

Flask와 Django 비교

lazy.won 2022. 8. 21. 20:39
728x90
반응형

 

 

 

 

 

 

 

들어가며..

Flask와 Django는 Python 언어를 기반으로 한 Web Framework이다. 

 

이 둘을 비교하기 전에 기본적으로 알아야 할 개념은 다음과 같다.

  • 프레임워크가 많은 것을 해주면 당연히 유연해질 수밖에 없다.
  • 프레임워크 안에서 방대한 자유도를 가지게 되면, 보안의 문제가 생길 수 있다. 
  • 유연 = 책임

 

 

 

 

Flask와 Django 비교

둘의 범주에서 차이가 있다. 

Django는 Full-stack Framework이며, Flask 는 Micro Framework이다. 

 

Flask는 가벼운 프레임워크이기 때문에, 개발자가 거의 모든 것을 설정하고 세팅해야 하는 번거로움이 있지만, 그만큼 내가 원하는 기능을 편하게 확장할 수 있으며, 보다 유연하다. 

반면에 Django는 Flask의 10배나 무거운 프레임워크거의 모든 기능을 다 지원하지만, 그만큼 자유도가 낮다.

 

프로젝트 레이아웃이 다르다.

Flask는 프로젝트마다 1개의 어플리케이션을 개발하도록 되어 있지만, 

Django는 한 프로젝트 내에 다양한 어플리케이션이 존재할 수 있다. 

 

DB 접근에 차이가 있다. 

Flask는 DB ORM 기능이 제공되지 않기 때문에, SQLAlchemy와 같은 ORM 지원 패키지를 사용하는 반면, 

Django는 RDBMS와의 상호 작용을 완전히 지원하는 기본 내장되어 있는 강력한 ORM이 제공된다. 

 

 

 

 

 

💡 결론

Flask와 Django 모두 각각의 장단점이 있고, 어떤 것이 좋고 나쁘다를 비교할 수 없으며, 

용도와 목적에 따라 무엇을 써야 할지 판단하는 것이 중요하다. 

 

간단하게 정리하면 Django는 기능이 훨씬 뛰어나지만 복잡하고, Flask는 매우 단순하고 가볍다. 

 

Django는 게시판 같은 복잡한 구조의 웹을 구성하기에 좋고, 

단순한 REST API 서버처럼 요청과 응답이 매우 확정적인 경우에는 가볍고 군더더기 없는 Flask로 개발하는 것이 더 효율적이다. 

 

 

 

 

 

 

 

 

 

 

참고

https://dingrr.com/blog/post/%EC%96%B8%EC%A0%9C-django%EB%A5%BC-%EC%96%B8%EC%A0%9C-flask%EB%A5%BC-%EC%82%AC%EC%9A%A9%ED%95%B4%EC%95%BC-%ED%95%A0%EA%B9%8C

https://wendys.tistory.com/172

320x100
반응형