blob: 7eefbb4f6e348eb4f12602b0f6f5cd3d699916f0 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
|
---
title: "Using tools with appropriate ability"
date: 2022-01-31
lang: en
draft: true
categories: [ blog ]
tags: [luna, django, decision, tools, "use cases"]
translationKey: "luna-django"
---
As you may have learnt from my previous posts (blog post and fedi posts), I'm
writing a client for [lotide][lotide] named [Luna][luna]. And you
might also have seen me saying it's using Django as framework and my remark on
it being unfitting. I am going to elaborate more on this in this post.
[lotide]: https://sr.ht/~vpzom/lotide/
[luna]: https://sr.ht/~huyngo/luna/
## Django
[Django is a batteries-included web backend framework][django]. It includes:
- web server
- router
- database connector and <abbr title="object-relational mapper">ORM</abbr>
- database migration tool
- authentication
- admin tool
- command line framework
- templating engines
- internationalization tools
- form handlers
- email
There is a lot more that can be installed as plugins, and some of these tools
can be unplugged from the `INSTALLED_APPS` in the settings. However, I'm
talking about the *default* here:
[django]: https://en.wiktionary.org/wiki/batteries-included
## Luna
- Luna: just a frontend (just the view part)
- overhead (a lot of setting)
- origin: trying out stuff
- try out golang
- golang internationalization support feels lacking
- back to flask/quart for [Yue][yue], since Jinja supports internationalization well
- can use it for back end of another app (pandict).
[yue]: https://sr.ht/~huyngo/Yue/
|