Django의 장점과 다른 프레임워크와의 비교
Django의 장점
1. 이미 만들어진 기능이 많이 존재합니다.
반복적으로 구현해야하는 로그인, 회원가입, 인증, CORS 등 라이브러리를 이용해 간단하게 사용이 가능합니다.
2. 프론트 관련 프레임워크를 사용하지 않아도 개발할 수 있습니다.
JavaScript나 다른 프레임워크 없이 동적인 웹페이지를 개발할 수 있습니다.
3. ORM을 제공해 데이터베이스를 쉽게 조작할 수 있습니다.
파이썬 코드를 이용한 쿼리 작성으로 SQL문이 필요없이 데이터베이스 조작이 가능합니다.
migrate
와 makemigrations
명령어로 스키마의 버전관리도 가능합니다.
4. 관리자 페이지를 제공합니다.
사용자 친화적인 관리자 페이지를 제공하기 때문에 개발자가 아니더라도 쉽게 데이터를 추가, 수정, 삭제가 가능합니다.
5. 지속적인 개발 지원이 이루어집니다.
장고는 지속적인 업데이트가 진행되고 있어 보안 수정사항이나 새로운 기능이 추가되는 등 지속적인 지원이 이어지고 있습니다.
Django와 다른 Python 웹프레임워크와의 차이
1. 다양한 기능 지원
뤱개발에 필요한 대부분의 기능이 장고 프레임워크 내에 포함되어 있습니다.
하지만 다양한 기능을 제공하는 만큼 장고는 다른 프레임워크에 비해 상대적으로 사이즈가 큰 편입니다.
2. ORM 지원
ORM을 이용해 쉽게 데이터베이스 조작이 가능합니다.
하지만 장고의 ORM은 SQLAlchemy 이전의 ORM을 사용하고 있기에 SQLAlchemy를 지원하는 다른 프레임워크에 비해 유연하지 못하다는 평가가 있습니다.
3. MVT 아키텍처
MVT(Model - View - Template)아키텍처를 사용합니다.
일반적인 프레임워크는 MVC(Model - View - Controller)아키텍처를 사용하는데 MVT와 MVC는 넓게 봤을 때 크게 차이가 있지 않고 장고에서는 Controller가 처리하는 역할의 일부를 자동적으로 처리합니다.
이 글은 정말 인상적이었습니다.