--- 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 ORM - 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/