본문 바로가기
개발/웹

Flask 블로그 제작기 (0) - 왜 Flask인가?

by pandatta 2022. 9. 13.

플라스크로 서비스되던 구버전 블로그에서 옮겨왔습니다.


개발자라면 모름지기 개발 블로그, devlog 하나 정도는 운영해야 제맛. 원래 panda5176.github.io 라는 GitHub pages에서 제공하는 정적인, 상호작용없는 블로그를 운영하다가, 회사에서 웹개발을 조금 하게 되기도 했고, 원래 블로그 디자인에 한계를 느껴서 이 참에 아예 동적인 블로그를 운영해보기로 했습니다.

C++를 조금 할 줄 알고 js를 배우긴 했지만, 그래도 근본적으로 python 개발자인 나는 역시 python으로 블로그를 개발해야겠다고 생각했습니다. 그 이유로는 몇 가지가 있는데,

  1. 회사에서 python으로 웹개발을 하기 시작했기 때문에 공부에 시너지가 난다.
  2. 예전에 취미로 django와 flask 등 python web framework를 배웠던 경험이 있다.
  3. js는 python보다도 더 가벼운, 나쁘게 말하면 더 근본 없는 형태라 정이 안간다.
  4. 예전에 node.js, 즉 요즘 가장 많이 쓰는 js backend framework를 건드려봤는데 어려웠다.
  5. 나중에 데이터나 머신러닝 관련 프레임워크를 연동하기 편할 것 같다.

등이 있었습니다. Front-end에서 js를 안 쓸 수는 없겠지만, 최대한 python으로 웹을 꾸려보자는 마음에 python web framework를 다시 찾아보았고, 요즘은 django - flask - fastapi의 3파전인 걸로 보였습니다. 요약해본 세 가지의 장단점은 다음과 같습니다.

  1. Django
    1. 장점: 백엔드를 만들어놓으면 관리자페이지까지 제공한다. 즉 직접 해야되는게 적다. 사람들이 많이 사용하고 있다.
    2. 단점: 제공되는 관리자페이지까지 관리해야한다. 나같은 미니멀리스트가 보기에 너무 과하다. 셋 중 제일 느리다.
  2. Flask
    1. 장점: 밑바닥부터 웹을 짤 수 있다. 미니멀 api부터 설계 가능하다.
    2. 단점: 밑바닥부터 웹을 짜야 한다. 다른 framework에서는 당연히 제공하는 기능도 제공하지 않을 수 있다.
  3. FastAPI
    1. 장점: 제일 최근에 나와서 가장 빠르고 유저 친화적이다. 셋 중 가장 빠르고, 비동기 프로그래밍을 지원한다.
    2. 단점: 제일 최근에 나와서 공부할 수 있는 방법이 별로 없다. 한국에는 나온 책도 별로 없고, 기능을 추가하려면 영어로 된 api들을 뒤져봐야한다.

그래서 저는 플라스크로 정했습니다. 일단 미니멀리스트라 관리자페이지를 주는 django는 부담스러워서 뺐고, fastapi는 탐나긴 하지만 웹에 대한 기본 지식도 부족하다고 자평하므로 한글로 설명된 가이드들이 있는 flask로 정했습니다.

물론 블로그, 블로그니까 블로그 만들기 튜토리얼부터 다시 시작했습니다. 플라스크 공식 튜토리얼을 예전에 한 번 해봤지만, 2.0 버전이 나오고 나서 다시 보니 또 새로웠습니다. 역시 한글로 번역된 플라스크 공식 튜토리얼은 잘 없어서, 블로그를 어느정도 안정화시킨 지금, 플라스크 공식 튜토리얼부터 시작해서 이 블로그를 만들기까지 공부한 내용을 하나하나 정리해볼 생각입니다. 다음 포스트에서 뵙겠습니다.

댓글