Skip to content

Latest commit

 

History

History
19 lines (13 loc) · 1.07 KB

philosophy.md

File metadata and controls

19 lines (13 loc) · 1.07 KB

The two ways to build a front end

There are two fundamental ways to connect a javascript front end to Django: coupled or decoupled. Django Manifest loader is specifically for the coupled option.

A coupled front end and back end means that Django is responsible for the front ends asset files. As a user you point your web browser to the Django app, and the Django app in turn makes sure you get the front end.

A decoupled front and back end means they are hosted separately. Django has no knowledge of front end asset files, and does not serve them. As a user you point your browser at the staticly hosted front end app and that app interacts with Django through an API.

I typically choose the coupled option as

  • I don't want to manage multiple repos
  • or multiple servers
  • Django is powerful

The decoupled option is good for if

  • you value the performance gain of using a static file server
  • your front end and django app are managed by different teams
  • you want micro services

It's a tradeoff. Django Manifest Loader makes the coupled option much easier than it was before.