자유도가 높은 블로그 플랫폼을 이용하면 멋진 웹사이트를 만들어 사용할 수 있습니다. 예를 들어, 티스토리, 구글 블로거를 이용하면 자신만의 테마를 가진 웹사이트를 만들 수 있습니다. html, css등에 대한 기본적인 지식과 필요한 코드를 가져와서 적용하면 됩니다. 이런 방법은 정적인 웹페이지를 구성하는 것에 한계를 보일 수 있습니다.
만약, 원하는 웹사이트가 역동적인 모습 또는 어떤 기능을 제공해야 한다면 php, 파이썬과 같은 언어를 필요로 하게 됩니다. 예를 들어, 인스타그램이 있습니다. 사진이라는 콘텐츠를 타인과 공유하는 SNS의 대표적인 모습입니다. 동일한 레이아웃을 이용해 사용자별로 등록된 사진 및 내용을 보여주게 됩니다. 만약, 블로그와 같이 콘텐츠 페이지를 만들어 사용한다면 상당한 시간이 필요할 수 있는 부분입니다. 해당 부분을 php 혹은 파이썬과 같은 언어가 처리해 줄 수 있습니다. 인스타그램은 파이썬 django를 이용해 만든 웹서비스로 대표될 수 있습니다.
파이썬(python) 웹 개발용 프레임워크 2가지
동일한 레이아웃에 내용이 변동되는 경우, 많은 사용자가 서버에 저장되어 있는 정보를 요청하게 되는 경우, 필요(설정)에 따라 요구되는 내용에 변화가 필요한 경우와 같이 역동적인 웹서비스를 구성하기 위해서는 웹서버에서 구동되는 백엔드 언어를 사용하게 됩니다. 대표적으로 php가 있으며, 파이썬을 이용하기도 합니다. 그 밖에도 여러 언어들이 있습니다.
프로그램 코딩은 단순합니다. 사용자의 요청에 맞춰 주어진 기능(코드)가 작동될 수 있으면 됩니다. 다만, 복합적인 요청을 처리하는 경우, 주어진 요청이 다양한 경우, 상황에 맞는 코드 스크립트가 필요하게 됩니다. 모든 것을 개발자가 원하는 방향으로 코딩을 진행할 수 있습니다. 하지만, 많은 시간이 걸리며 쉽지 않은 작업이 될 수 있습니다. 필요한 부분들을 가져와 연결만 하면 한결 수월하게 기능을 구형할 수 있습니다. 이런 부분을 도와줄 수 있는 것이 바로 라이브러리 혹은 프레임워크라고 할 수 있습니다.
웹사이트 혹은 웹앱을 개발하는 과정은 몇가지의 언어들을 사용해야 합니다. 프론트엔드 언어, 백엔드 언어등으로 구분될 수 있으며, 각 언어는 그 역활이 구분되어 있습니다. 예를 들어, 사람들에게 보여지는 부분인 프론트엔드의 경우 html, css, javascript를 주로 이용하게 됩니다. 서버에서 사용자의 요청에 맞는 내용을 처리하기 위해 사용하는 백엔드 언어로 php, 파이썬, jsp등이 있습니다. 따라서, 프레임워크를 이용하지 않는 것은 상당히 고달픈 길을 선택하여 걸어가는 것과 같을 수 있습니다.
① flask
👉(flask 공식 문서 주소) : https://flask-docs-kr.readthedocs.io/ko/latest/
파이썬 웹개발용 프레임워크로 유명한 것 중 하나는 플라스크(flask)입니다. 비교적 가볍게 진행할 수 있다는 장점이 있다고 합니다. 비교적 엄격하지 않은 규칙들이 있어 개발자의 취향에 맞춰 커스튬이 쉬운편입니다. 또한, 다른 언어로 구현된 기능과 연결하기도 쉽다고 전해지고 있습니다.
장점이 있으면 단점도 존재할 수 있겠죠. 높은 자유도를 가지고 있다고 해서 쉽다고 이야기할 수는 없습니다. 웹의 관리자 화면, 사이트의 보안에 대한 부분등은 개발자가 직접 만들어야 합니다. 이 의미는 플라스크 프레임워크에 해당 기능이 만들어져 있지 않다는 것을 의미합니다. 능숙한 개발자라면 자신이 원하는 모습으로 빠르게 만들 수 있으나, 그렇지 않은 경우 어려움을 겪을 수도 있습니다. 더불어, DB와의 연결은 필수인데요. 해당 부분도 개발자가 스스로 만들어 사용해야만 합니다. 즉, 다방면으로 지식이 필요할 수 있습니다.
② django
👉(django 공식 문서 주소) : https://docs.djangoproject.com/ko/4.2/
플라스크와 비교되는 프레임워크로 장고(django)가 있습니다. 해당 프레임워크는 빠르게 웹앱을 구성할 수 있다는 장점이 있다고 합니다. 그만큼 다양한 기능들이 이미 마련되어 있습니다. 공식 문서에서도 많은 내용과 튜토리얼을 다루고 있기에 참고하면 도움이 될 수 있습니다. 관리자 화면, 보안, db에 대한 코드들이 마련되어 있기 때문에 필요한 부분을 연결하는 것으로 구현이 가능합니다.
반면, 많은 기능이 마련되어 있기 때문에 해당 프레임워크만의 엄격한 규칙이 적용됩니다. 다시 말해, 정해진 길을 벗어나는 것이 어렵다는 뜻이며, 개발자의 취향에 맞는 커스튬이 쉽지 않다는 것을 의미할 수 있습니다. 이미 마련된 기능이 아닌 다른 기능을 구현하여 사이트에 적용시키기 위해서는 장고에 대한 충분한 지식이 필요할 수 있습니다.
마치며.
아주 간단하게 파이썬에서 사용할 수 있는 웹 개발 프레임워크 2가지를 살펴봤습니다. 이미 숙달된 개발자라면 본 블로그에 있는 내용은 큰 도움이 되지는 않을 것입니다. 반면, 이제 시작하려고 정보를 모으고 있는 입장이라면 도움이 될 수 있으리라 생각됩니다. 가볍게 생각해서 빠르게 웹앱을 만들고 싶다면 django를 이용하는 방법이 효과적일 수 있습니다. 물론, 해당 플레임워크에 대한 지식이 필요하기에 충분한 공부는 필요합니다. 반면, 조금더 자유롭고 가볍게 시작하여 점차 프로젝트를 늘린다면 flask를 선택하는 것도 하나의 방법이 될 수 있습니다. 하나의 프레임워크에 익숙해진다면 다른 것을 시작해도 빠르게 익힐 수 있다고 합니다. 현재 고민하고 있는 중이며, 시작하는 단계라면 django를 이용해 먼저 도전해보는 것도 좋은 방법이 아닐까 생각합니다.