Hello, What’s the best (quickest, easiest, least “unnatural”) way in 2023 to produce a multi-platform app (high-quality and maintainable) based as much as possible on Django?
A lot of what you see by googling is: a front-end mobile app done with React hitting a back-end REST API done with Django / DRF.
If I was willing to go that route – partitioning the project code into two separate “paradigms” – I think that in 2023 I’d choose Flutter for the front end. Flutter gets you a multi-platform app (iOS, Android, web, Linux, macOS, Windows) from a single codebase. Also, Flutter has a big backer, and hence has good long-term prospects. As well, Flutter has a burgeoning community, so “google is your friend” – lots of articles, tutorials, posts, etc. about anything you encounter.
BUT, … a) you do have to subdivide your project into two sides, and incur the overhead of constructing the API between them, being careful about things like transactionality, and b) you leave behind a lot of what Django has to offer you – views / forms, and in a way you’re using Django in a way that is not fully natural / intended. So…
What about doing your entire project with Django the more natural way, making sure as much as possible that the views are sparse enough to look ok in a mobile browser?
Before heading down that path, I’d be grateful to the community for any insights / pointers / warnings.
Thank you very much.
- Doug
P.S. I did look at Ionic Capacitor as a way to turn the web app into a native iOS or Android app, but it appears that they require static HTML, along with JavaScript, to be bundled into the app; HTML generated dynamically based on templates seems to be a “no go” for Capacitor.
P.P.S. I did look into Kivy, as a way to at least stay in Python on the front end, but it’s not very mature, doesn’t have much of a community, and does not appear to be a very vital alternative for the long run.