파이썬 웹 프로그래밍 프레임워크는 크게 두가지로 구분할 수 있습니다. Django와 Flask가 그것입니다. 두 프레임워크는 각각의 장단점이 있습니다.
우리는 웹페이지를 만들기 위해서 가장 먼저 html을 떠올리게 됩니다. 웹사이트의 기본 요소인 페이지를 구성하는 가장 최소한의 구조이기 때문입니다.
흔히, 개발자들이 html을 이야기하면 어렵지 않다고 이야기 합니다. 이는 절대적인 평가가 아니라 상대적인 평가에 초점을 둔 평가일 수 있습니다.
가령 언어에 대해서 생각해 보겠습니다. 여러분이 사용하는 언어는 몇가지가 되나요. 한국은 오랜기간 단일 민족 국가로 지내왔습니다. 그렇기에 단 하나의 언어를 가지고도 삶을 살아가는데 큰 문제는 없습니다.
다만, 이제는 지리적 국경은 사라져가고 있습니다. 많은 사람들이 국가라는 틀에서 벗어나 삶의 터전을 마련하고 있습니다. 다시 말해, 타 언어에 대한 관심도가 높아지고 있다는 것입니다.
한국어를 잘 사용하는 사람도 타 언어를 접하게 되면 어려움을 겪게 됩니다. 아무리 쉬운 언어라도 그 언어만의 규칙과 관습이 존재합니다. 처음은 모든 것이 어렵기 마련입니다.
html도 다르지 않습니다. html, css, javascript등 많은 언어들은 결국, 그들만의 세계에서 일정한 규칙을 지니고 있으며, 그 규칙에 맞게 사용해야 합니다.
다만, 그 복잡성에서 차이를 보일 수 있습니다. 여기에 처음보는 경우라면 그 복잡한 정도가 더 크게 느껴질 수 밖에 없습니다.
직접 경험하지 않고, 타인의 평가에 의지하는 것은 좋지 않을 수 있습니다. 이는 지극히 개인적인 생각일 뿐입니다.
html과 css는 웹페이지를 구성하는 기초가 되는 언어입니다. html로 틀을 잡고, css로 그 외모를 꾸며주게 됩니다. 여기서 역동적인 움직임을 보이기 위해 javascript를 사용하게 됩니다.
하나의 웹페이지는 위의 3가지 요소를 가지고 충분히 구현할 수 있습니다. 각각의 페이지는 3가지 요소를 적절하게 사용해 만들어 서비스를 진행할 수 있습니다.
만약, 그런 페이지가 100개, 1000개가 넘어간다면 어떻게 될까요. 비슷한 양식을 이용해 표출되는 데이터의 변화만을 결괏값으로 보여줄 수 있다면 편리해 집니다.
여기서 사용되는 것이 php, python등의 웹 프로그래밍 언어라고 할 수 있습니다. 1억명의 사용자가 특정 데이터를 요구 합니다. 정해진 양식에 맞춰 프로그램은 결과만을 바꿔 보여줄 수 있습니다.
개발자는 별도의 1억개 페이지를 마련할 필요가 없어지게 됩니다. 즉, 서비스와 수정, 보완이 용이하다는 장점이 있습니다.
파이썬을 이용해 웹서비스를 구현하는 것은 위에서 간략하게 설명한 방식을 활용하는 것입니다. 여기서 html, css, javascript를 추가해 보다 멋진 웹서비스를 보여줄 수 있습니다.
그렇다면 django와 flask 중에서 어떤 것을 선택하는 것이 좋을까요. 가장 좋은 방법은 상황에 맞춰 프레임워크를 선택하는 것입니다.
다만 이 방법에는 문제점이 있습니다. 두가지 프레임워크를 깊이 있게 잘 알아야 한다는 것이죠. 물론, 시간이 지남에 따라 능숙도가 올라가면 문제되지 않습니다.
하지만, 이제 시작하는 단계에서는 혼란만을 가중할 수 있습니다. 어떤 것을 선택하든 원하는 결과만 나오면 그만이지만, 조금 더 편리한 방법이 좋을 것입니다.
흔히 djang는 잘 만들어지고, 꾸며진 파이썬 웹 프레임워크라는 평가를 받고 있습니다. 반대로 flask는 가벼우며 높은 자유도를 가지고 있다고 합니다.
이런 평가에서 핵심적인 차이를 알 수 있습니다. 장고의 경우 잘 만들어지고, 짜여져 있다는 의미는 이렇습니다.
기본적으로 필요한 대다수의 기능이 구현되어 있으며, 개발자는 원하는 기능의 모듈(app)을 불러와 필요한 부분에 연결 시키는 것으로 서비스를 완성 시킬 수 있습니다.
너무나 편리하고 빠른 속도를 자랑할 수 있지만 깊이가 없다면 커스튬이 어려울 수 있습니다. 잘 짜여진 코드는 각자의 취향으로 수정하는데 쉽지 않기 때문입니다.
반대로 플라스크의 경우 가볍고, 사용자의 취향에 맞춰 커스튬하기가 수훨하다고 합니다. 물론, 관련 지식이 동반되어야 합니다. 높은 자유도는 매력적인 결과를 낳을 수 있습니다.
하지만, 이 말은 이렇게 해석해 볼 수 있습니다. 높은 자유도를 이용해 원하는 결과를 얻기 위해서는 파이썬이라는 언어의 이해도, 그리고 다른 언어에 대한 이해도가 필요합니다.
관련 지식이 부족하다면 원하는 기능을 코딩하기 쉽지 않을 수 있습니다. 또한, 파이썬 뿐만 아니라 다른 언어에 대한 이해도가 있어야 완성도 있는 웹서비스를 구현할 수 있습니다.
즉, 하나부터 열까지 스스로 만들어야 한다는 것을 의미합니다. 두 프레임워크 중 무엇이 좋을까요.
우리는 항상 선택의 고민에 서게 됩니다. 필요에 따라 그 선택이 달라질 수도 있습니다. 시간을 효율적으로 사용하기 위해서는 그에 맞는 선택이 동반될 필요가 있습니다.
두 프레임워크는 장단점이 분명하기 때문에, 사용자의 목적성에 집중할 필요가 있습니다. 또한, 개발자의 실력에도 초점을 맞출 필요가 있습니다.
다만, 이제 시작하는 단계라면 django를 먼저 익히는 것도 좋은 선택이 될 수 있습니다. 장고의 경우 많은 사람들이 사용하며, 성공적인 웹서비스의 예시가 존재합니다.
이런 모습은 결국, 다양한 정보를 얻기가 쉽다는 것을 의미합니다. 코딩은 알 수 없는 오류와의 싸움이기도 합니다. 다양한 정보를 쉽게 습득할 수 있다면 문제가 발생했을 때, 보다 편리하게 해결 할 수 있습니다.