1

Staying on the bleeding edge

 3 years ago
source link: https://arunrocks.com/bleeding-edge-django/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

Staying on the bleeding edge

3 min read · Posted on: Mar 9, 2021

You are reading a post from a multi-part series of articles

  1. Staying on the bleeding edge

How fast can you go from getting an amazing product idea to bringing it in front of real users? It is a process that has several steps - some fun but mostly boring. It could also take a long time. In fact the longer it takes, the lower your motivation levels dip and competition starts looming large. This is why we use productivity enhancers like frameworks, libraries and templates not just to reach the users faster but also to ensure that we ship it.

Django Edge is a Django project starter template that I started in 2014 with the idea of making web apps faster using my go-to toolset - Django, Bootstrap and many of the most useful Django libraries. The project is quite popular with over 770 stars on Github. Unlike many other starter templates, it shipped with some essential pages like a homepage, register, login etc that were presentable and working.

An update to Edge has been long overdue. But the Django landscape has changed a bit. For a long time, the most common use of the framework was as a back-end for a front-end JavaScript framework like React or Vue (and any other possible front-ends like a mobile app). This typically uses the excellent Django Rest Framework (DRF) to build a REST API which the front-end consumes. This could be one possible direction that Edge could take.

However the use of state-heavy front-end frameworks with millions of dependencies has led to Javascript fatigue. The trend is somewhat coming back to back-end rendered pages. Choosing “Boring Technology” might counter-intuitively leave lots of room for innovation in the areas that you may find fun and interesting. There is really no need to throw away Django Templates if you need a single page application thanks to HTMX. So continuing to ship with beautifully designed templates is another direction that Edge could take as well.

I was tempted to try this “Double-edged” approach for a moment. But then I realized that it is already a lot of work to maintain just one open source project. Users who need Django for a REST API will probably find it incomplete unless it is also married with Rest, Vue, Angular or some other shiny new JavaScript framework out of the box. This is a truly fragmented base that keeps switching new frameworks or even abandoning all frameworks.

Hence I went back to the familiar Edge. Provide a fully working web application starter with the best of what Django can provide. Aim to be a good starting point for single developer projects. Focus on the long requested features like social authentication or Docker and improve on what it currently does.

Django Edge BetaYay!...a working login page

So this is probably the first of many posts where I share what I am planning to do with Edge. I believe that open development is the best way to build open source projects. Try the beta here: https://github.com/arocks/edge/tree/django3

Pull requests are welcome! 😊


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK