I went to SSR from SPAs (SPAs were THE thing when I got started) thinking SPAs were the dumbest thing ever, to now going back to client side everything after learning of local-first 😂 great episode and thanks for broadcasting to the masses! LoFi will become huge
@cotyhamilton10 ай бұрын
It’s sounds crazy, but I’ve got an ORM and migrations running in the browser on the client database lol
@RicoTrevisan10 ай бұрын
Excellent conversation, well-organized, good pace, lovely personas. Thanks.
@Gigusx10 ай бұрын
Video games could use more of this philosophy. Way too much stuff there that wants to be always-online, even if it doesn't have a mutiplayer 🤔 I've some episode left to watch, but this entire thing sounds pretty cool so far. I could see it really gaining in popularity as many people are getting sick of being network-dependent to actually use what they've (sometimes) paid for, or not owning the data that's permanently stored on the servers. I'll definitely be looking more into this!
@kylerjohnson98810 ай бұрын
Soooo true. I used to play a lot of online games, but since becoming a dad of two small children, I rarely get the time. When I do, I don't have a lot of time so I generally just want something I can spin up and play for a few minutes at a time where I don't have to remember what I was doing. I still play Counter Strike: Condition Zero from 2004 because it's offline play is pretty cool, unique, and I can play it a few minutes at a time.
@syntaxfm10 ай бұрын
Seriously. Online requirements for drm only are extremely anti consumer. Give the user the thing they are paying for and let them run it.
@arytiwa435110 ай бұрын
How is Gun js, has anyone tried it for offline first apps ??
@tasmto10 ай бұрын
There is a library called Dexie which makes dealing with Indexed DB an absolute dream. It adds reactivity, a high level API for handling schema changes (migrations), better error handling and then some.
@syntaxfm10 ай бұрын
Totally, great tool but I did find it get in the way a bit when trying to use with crdts like Y.js because those tools take over the indexed db part mostly
@nchomey10 ай бұрын
Another option is rxdb, which is yet another abstraction layer in front of different data stores - the default one is dexie, itself on top of indexeddb. It also has in memory, OPFS, etc. allowing you to seamlessly change datastore as needs or possibilities change. Perhaps it's like an ORM in that regard? It has a lot more functionality as well, including some cry-like replication stuff, querying and more
@emjones809210 ай бұрын
Having spent a bit of time looking into these exact technologies, I'm glad I'm not alone in finding the ecosystem "lacking"(not to say there isn't a lot of brilliance happening in this space- there is). Something I would have loved to have heard a little more about would have been how this does/doesn't work with HATEOAS architectures.
@syntaxfm10 ай бұрын
The good news here is that it’s getting better. HATEOAS does not work well here currently and not the appropriate tech for this kind of apps
@emjones809210 ай бұрын
@@syntaxfmI absolutely agree. I know that there's a lot of hard work being done by a lot of players. I certainly applaud all of the progress that's already been made and is under-way. WRT HATEOAS architecture: I think that there's an opportunity for these client-side html rendering frameworks to fill this gap. Blazor's WASM deployment model, I believe, is an actual deployment of the hypertext rendering logic to users' clients.
@nchomey10 ай бұрын
I've been pondering/working on something like this and plan to just cache html fragments in indexeddb, and when a request is made for a fragment, the service worker intercepts it and returns the cached response. You could also then fetch whatever is on the server and update the cache if something returns. I actually plan to do something like websockets to automatically push updates from the server to the browser to be cached. In general I find that people vastly underappreciate/understand service workers - in particular the hateoas and js framework crowds - and definitely the possibilities of hateoas with lofi apps.
@emjones809210 ай бұрын
@@nchomey I think you should look into wasm-hosted templating engines. You would be able to use the same/similar techs as you would on the server. E.g. wasm-hosted blazor + sqlite
@tantaman9 ай бұрын
Nice to see lo-fi getting more traction. Some more details on SQLite for lo-fi and multiplayer would be nice. Shameless self plug on that front: kzbin.info/www/bejne/imKohGyubal-iJY
@Sully_one10 ай бұрын
Great video guys btw if you ever look for thumbnail/graphic designer for your projects, just let me know I can design some free thumbnails and send them to you as a start
@rahulspoudel10 ай бұрын
lofi will make more sense as wasm, web containers keeps on bringing low level stuffs directly into the browser. new use cases, new apps, games, UX can emerge.
@syntaxfm10 ай бұрын
Absolutely, already we’re seeing some of that with SQLite in the client