본문 바로가기
카테고리 없음

장고 프레임워크 Django 에 대한 개인적 생각

by 언제나초심. 2021. 9. 27.
반응형

Django 장고 프레임워크

파이썬 기반의 장고 웹 프레임워크이다. 길게는 사용을 안 해봤지만, 앞으로 쭉 사용할 듯 하다. 파이썬 언어의 장점이 있어서 사용하기 좋다는 점이 있다.

파이썬은 프로그래밍 언어로써, 리눅스 계열에는 이미 설치되어 있는 경우가 많다. 윈도우에서는 설치를 할 필요가 있다.

패키지는 pip 를 통해서 관리를 하게 되는데, 편리한 점이 있다. 이 부분은 다른 언어들도 PHP 의 경우는 Composer, 자바스크립트의 경우 NPM (NodeJS의 패키징 도구)가 있는 것과 흡사하다. Java는 뭐였더라 있었는데 갑자기 생각이 안 난다. 안드로이드 앱도 이런 것이 있고, iOS도 마찬가지로 있고, 윈도우 프로그래밍에도 이런 것들이 있다.

pip의 기능 중에는 독특한 부분이 하나 더 있는데, python.exe 까지도 별도로 구성된다는 점이 독특하다. 패키징만 되는 것이 아니라, 기반이 되는 언어의 버전도 프로젝트별로 다르게 구성할 수 있다는 점이다. 그 점이 큰 장점이 되고 있다.

Django 의 장점

  • Python 기반이다.
  • 뭔가 기능은 다 준비되어 있다. 있을 건 다 있고, 모델을 마이그레이션 만들어주는 부분은 상당히 흥미로우며 고급적이다.
  • url을 route 하는 부분을 각 구성(여기서는 '앱'으로 표현한다)별로 쪼개놓을 수가 있다. (이게 생각보다 시간이 흐른 뒤에 여러모로 큰 도움이 된다)
  • admin 페이지가 같이 생성이 된다.
  • 설치가 간단하고 사용이 편리하며, 익숙해지면서 매우 강려크한 도구가 된다.
  • python 기반이 또 장점이다. docker 구성도 쉽고, 어딘가 얹기도 쉽고, 다른 기능이나 구성이나 api와의 연계도 가능하고, 뭐든 가능하다는 느낌이 있다.
  • python 기반이어서, 이렇게 해도 되고 저렇게 해도 되는 경우가 많아서, 그냥 하다보면 된다. 거의 하고 싶은 건 다 되긴 된다. 거기다 python이므로 구문이 그리 길지도 않다.

Django의 단점

  • 다른 프레임워크를 사용하던 사람이 이용할 때에 당혹감이 조금 있다.
  • 공식 문서의 불편함...
    • 공식 문서에서 찾는 일이 미묘하게 어렵다. 찾으면 어딘가 있다. 그런데 다른 곳에도 같은 내용이 있는 경우가 있다. 그래서 헤멘다. 둘 중 어느게 맞는 거지? 같은 상황이..
    • 공식 문서의 네비게이션이 미묘하게 불편하다. (아마도 옆으로 띄워져 있는 방식이 아니여서, 스크롤링 되버려서 그런 듯)
  • 이렇게 해도 되고, 저렇게 해도 되는 경우가 많아서.. 이게 오히려 조금 혼란이 있다.
  • 프레임워크에 없는 기능들이 생각보다 많다. 직접 구현하게 되는 경우가 발생된다. 근데 된다. 어?

종합 및 장고의 미래

Django에 대해서는 익숙해지면 좋다라는 느낌이 있다. 익숙해지는 과정이 좀 걸리지만, 익숙해지고 나면.. 좋긴 좋다. 개인적으로는 python의 장점이 크기 때문이 아닐까 라는 생각이 든다. python에도 다른 강력한 웹 프레임워크들이 등장한다면 어떻게 될까? 라는 기대가 있지만. 그래도 Django가 상위를 차지하지 않을까 라는 생각이 든다. 애초에 Python이기 때문에, python으로 그냥 가능한 것이 많기 때문이다. 프레임워크가 없어도 그냥 웹 만드는 게 가능할 것 같다는 느낌도 받는데다가.. 프레임워크에 많은 것을 기대할 필요가 없기 때문이다.

참고로 Django가 쉽다는 얘기를 예전에 들었었는데. 이 말은 거짓으로 생각된다. 만약 그런 말을 했다면, 뭔가 starter 정도의 수준으로만 했던 게 아닐까 싶다. 깊게 들어가고 다양한 기능을 구현하려고 하다보면, 공식 문서를 정말 자주 찾아보게 되고, 할 게 많아진다. 재밌는 건 python 기반이어서, 열심히 하고 나서 보면 코드를 많이 추가하지는 않았다(...)

결론적으로는 상당히 만족하고 있다. 이유는 벌써 익숙해져버렸기 때문이다. 장고는 익숙해지면 매우 좋은 도구가 된다... (ㅎㄷㄷ)

반응형