Czechitas-podklady-WEB / daweb-vyuka

Studijní materiály pro DA Web na kodim.cz
https://kodim.cz/czechitas/daweb/
5 stars 38 forks source link

Zvážit, jestli udělat lekci (půllekci) vyloženě jen na `localStorage` #370

Open FilipChalupa opened 1 year ago

FilipJirsak commented 1 year ago

Část mého komentáře ze Slacku po lekci Supabase:

Uvažuju o tom, že pokud učit nějaké ukládání dat, aby přežila obnovení stránky, dávalo by mi spíš smysl věnovat celou lekci SessionStorage a LocalStorage, a případně k tomu najít ještě nějakou backendovou databázi, která by měla v JavaScriptu úplně stejné rozhraní, jako má SessionStorage/LocalStorage (věřím, že se taková najde). Myslím, že pro účastnice to bude srozumitelnější (tu datovou strukturu vlastně už znají – jsou to klíče, pod které si mohou ukládat data, takže je to vlastně velmi podobné JavaScriptovému objektu), a znalost práce se SessionStorage/LocalStorage se určitě neztratí. Vlastně i v souvislosti s projekty, protože pokud už některé týmy potřebovaly backend, často nakonec skončily s jeho simulací pomocí LocalStorage.

@FilipChalupa

Myšlenka najít (nebo něco vyrobit) s rozhraním, jako má localStorage pro ukládání na server se mi velice líbí. :slightly_smiling_face:

@podlomar

Pokud bychom nechtěli učit Supabase, taky se přikláníme k tomu najít nějaké JSON-like backendové řešení. Používat localStorage pro data mi přijde nešikovné, protože bychom je tím učili něco, co je v praxi nesmysl. Já si vždycky hodně zakládám na tom, abychom je učili věci tak, jak jsou best practices v reálném vývoji. Klidně třeba velmi zjednodušeně, se zatajením zbytečných detailů nebo s velikou poznámkou pod čarou, pozor, tohle je pískoviště pro dětičky, ve skutečnosti je to mnohem složitější, ale vždycky to ilustruje ten reálný princip

@FilipJirsak

A je to opravdu takový nesmysl? Podle mne se to pro ukládání tokenů nebo podobných session informací používá běžně, takže znát to minimálně jako KV úložiště, kam se dá uložit pár různých objektů, podle mne odpovídá praxi. A v PWA aplikacích (nebo aplikacích obdobného typu) se to podle mne také používá – minimálně jako úložiště pro offline použití, kdy se tam uloží data ze serveru, aby aplikace přečkala i odpojení od internetu, a po připojení se to sesynchronizuje. A dovedu si představit použít to i jako jediné úložiště, pokud ta aplikace nechce mít backend, ale chce nějaká data ukládat trvale pro to dané zařízení. Třeba nějaká hra, kde se budou zobrazovat nejlepší výsledky na daném zařízení. Nebo nastavení uživatele. Třeba když se o mobil střídají dvě menší děti, občas s rodičem.

Možná bychom si měli říct, jaký problém vlastně řešíme :slightly_smiling_face: Já jsem to vnímal tak, že řešíme „jak uložit nějaká data, aby přežila refresh stránky“, a jak to udělat tak, aby nám (účastnicím) nemusel někdo jiný psát backend API.

FilipJirsak commented 1 year ago

Viz také #369