4 ms·
Go + htmx + tailwind + SQLite is my current stack and it's the most enjoyable web dev experience I've had in a decade. SQLite adds an extra level of simplicity
by wild_egg 3y ago
Go + htmx + tailwind + SQLite is my current stack and it's the most enjoyable web dev experience I've had in a decade.
SQLite adds an extra level of simplicity and convenience that I can't endorse enough
- hospitalJail 3y agoI wonder how much of this is familiarity. I grew up in the LAMP world, throw in laravel, and I can basically copypaste and whip stuff up. I know Apache isnt cool anymore, but I can do all sorts of crazy stuff with it after using it for 15 years. I'm not opposed to change from mariadb/mysql since the syntax is the same. I dread switching from laravel though. Maybe I should since I hate debugging php... and Laravel major versions are so destructive that basic outdated tutorials will have you frustrated.
- absoluteunit1 3y agoI’ve only been professionally developing for 3 years now and I’m starting to realize it’s all about familiarity; I think of it as “wear whatever shoes fit you best for the marathon” I mentioned Go + htmx in my original comment because I use Go at work and we do a lot of templating with the .gohtml and I absolautly love it. The ecosystem of go is what I love about it most Although I do get tempted by shiny things often; I try to remind myself to stick to a couple tools/languages
- absoluteunit1 3y agoOn interesting I like SQLite; i never thought to use it for web projects though. Any tips or advice on trying to use SQLite for web dev? What platforms do you use for deploying web apps with SQLite ?
- andrewfromx 3y agoCorrect me if I’m wrong but sqlite has no support for concurrent users right? You would have to have a mutex or queue system in production to make sure only one thing at a time tries to run sql?
- tlavoie 3y agoYou have plenty of options actually, including a safe default: https://www.sqlite.org/threadsafe.html https://www.sqlite.org/threadsafe.html
- adamckay 3y agoAssuming you're talking about users of your web app, rather than database users. Using the WAL mode [1] you can have truly concurrent reads alongside writes. You can't do truly concurrent writes, however, but the database driver you use (may) automatically retry writes that fail due to locks automatically. The Python driver [2] does with the `timeout` configuration parameter for 5 seconds by default. As your writes should be very quick, so long as you don't hold transactions open or attempt to do lots of work in a transaction, you may find that it's perfectly performant for your use case / usage loads. 1 - https://www.sqlite.org/wal.html https://www.sqlite.org/wal.html 2 - https://docs.python.org/3.11/library/sqlite3.html#sqlite3.connect https://docs.python.org/3.11/library/sqlite3.html#sqlite3.co...