Develop/Flask

Flask란?

dawonny 2021. 7. 22. 00:26
728x90
반응형

갑자기... flask 가 무엇인지에 대해서 궁금해서 쓰게 된 포스팅

이것도 백엔드라며? python 쓴다며? 근데 django랑 뭐가 다른건데?

포스팅 할 때에는 아래 두 곳을 참고했다.

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

 

언제 Django를, 언제 Flask를 사용해야 할까? | 블로그 | 딩그르르

언제 Django를, 언제 Flask를 사용해야 할까?

dingrr.com

https://wikidocs.net/91417

 

위키독스

온라인 책을 제작 공유하는 플랫폼 서비스

wikidocs.net

 


 

 

일단 flask 랑 django 둘다 파이썬을 기반으로 하는 것은 맞다.

하지만

  • Django - Full-stack Framework
  • Flask - Micro Framework (Django Rest Framework와 같음)

라고 한다.

 

뭐가 좋고 나쁘고의 개념은 아니고 속도와 개발 편의성도 그렇게 차이가 없다.

Django 를 사용하라고 권하는 사람들이 많긴 하지만..

Flask 는 가벼운 프레임워크라 개발자가 설정하고 세팅해야하는게 무진장 많다.

Django는 Flask보다 10배는 무겁다고 한다. 그래서 더더욱 웹 개발하기 쉬움.

 


차이점이 있다면?

 

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

flask 는 프로젝트마다 애플리케이션 1개만 만들 수 있지만 Django 는 만들어봐서 알다시피 한 프로젝트 내에 애플리케이션 여러개 만들기가 가능하다. 후자의 같은 겨우에는 재사용한 코드 작성하기도 좋고 프로젝트 관리를 하기에 용이하다.

 

또 DB 접근이 다르다. Flask 는 ORM이 없어서 SQLAlchemy 등을 사용하지만 Django는 강력한 ORM이 있다.

 


그래서 결론은? 언제 뭘 쓰면 좋다는 거지?

 

언제 Django를 쓸까?

 

  1.  웹앱이나, API 백엔드를 만들고 싶다!
  2.  빠른 개발, 빠른 배포, 빠른 업데이트!
  3.  CSRF, XSS, SQL 인젝션, 클릭재킹등 기본적 보안 완비!
  4.  스케일링 업, 스케일링 다운을 자유자재로 하고 싶다면!
  5.  개발하다 막혔을때 물어볼 곳이 많았으면!
  6.  SQL이 익숙하지 않아서 강력한 ORM이 필요하다면!

언제 Flask를 쓸까?

  1. 도저히 1개의 코드베이스에 담을 수 없을만큼 앱이 크거나,
  2. 아니면 너무 앱이 작다면!
  3. 밑그림부터 시작할 수 있는 실력에 내가 뭘하고 있는지 알고 있다면!
  4. 팀원 중 그 어느 누구라도 Django 와 Python에 익숙치 않다면!
  5. DB로 이미 생성된 NoSQL을 사용
728x90
반응형