Flask 시작??
파이썬을 이용하면 다양한 프로그램을 만들 수 있지만,
추가로 필요한 부분들이 생기기 시작하는 것 같다.
작성된 프로그램을 개인별로 쓰는게 아닌 배포를 하려하면,
관련 UI 도 필요하고, 관련된 통신도 필요하다...
UI는 보통 tkinter 와 pyinstaller를 조합하여 작성하고 배포하지만....
아쉬움이 많고, 조금 제한적이라는 느낌을 많이 받았다.
이런 제한적인 부분을 해결할 방법으로 선택한건 Web 방식이었다.
파이썬으로 이용할 수 있는 Web 방식의 프레임워크는 Flask, Django, FastAPI가 있다.
나무위키님은 모든걸 알고 있다....Flask도...
3개의 프레임워크는 각각의 장단점이 있고,
가을아님 및 다른 여러 블로그를 보고 나서 이 중 Flask 를 선택했다.
#####################################################################
*언제 무엇을 써야 할까??
Django(장고)를 쓸 때
- 웹앱이나 API 백엔드를 만들고 싶다.
- 빠른 개발, 빠른 배포, 빠른 업데이트
- CSRF, XSS, SQL 인젝션, 클릭재킹 등 기본적 보안 완비
- 스케일링 업, 스케일링 다운을 자유자재로 하고 싶다.
- SQL이 익숙하지 않아서 강력한 ORM이 필요하다.
Flask(플라스크)를 쓸 때
- 도저히 1개의 코드베이스에 담을 수 없을 만큼 앱이 크거나 혹은 너무 앱이 작다면!
- 밑그림부터 시작할 수 있는 실력에 내가 뭘하고 있는 지 알고 있다.
- 팀원 중 그 어느 누구라도 Django와 python에 익숙하지 않다.
- DB로 이미 생성된 NoSQL을 사용한다.
- [출처] Django(장고) vs Flask(플라스크)|작성자 가을아
#####################################################################
다행히 SQL은 잘할수 있어....진입 장벽이 되지는 않았고,
좀 더 가볍다는 말에 Flask를 먼저 연습해보고, 부족한 부분이 느껴지면 Django와 FastAPI도 연습해 볼 예정이다.
연습은 공식문서(Quickstart)로 진행해볼 예정이다.
Quickstart — Flask Documentation (2.1.x) (palletsprojects.com)