Vyráběl jsem prototyp webové aplikace a narazil jsem na takový problém s funkcí Pinch to zoom.
Použil jsem SSR technologii (Python Django) bez javascriptu (jen minimum) s tím, že když si naimplementuju vrácení se na původní X a Y pozici ve scroll, tak dostanu User Experience podobnou, jako kdyby to byla SPA. Jinými slovy zkusil jsem se záměrně vydat cestou trochu "oldschool" frameworku a jediný javascript jsem měl na obnovení scroll pozice.
Tedy např. User má "naškrolovanou" tabulku s hodně řádky, načež když klikne u jednoho řádku na Delete, tak se provede Submit a javascriptem se "nascroluje" původní pozice, kde User byl.
Fungovalo to na pixel přesně a vyjma občasného mini-probliknutí webové stránky v browseru na Androidu s tím nebyl problém - user by vůbec nepoznal, že se mu "reloadnula" celá page. V podstatě se to chovalo podobně, jako SPA. Response time 130ms bohatě stačil na to, aby UX zážitek byl "hladký", a ta response time by se dala ještě víc snížit na pořádnějším serveru.
Už jsem měl radost, jak se "staromódní" technologii (se kterou se ale velice dobře pracuje) udělám moderní web. Jenže přišel problém a sice funkce "Pinch to zoom", tedy v dnešní době hodně podporovaná funkce, která už je snad přes 10 let na Macbooku a mají jí veškeré mobily a tablety.
Tedy ani jeden browser nepodporuje nastavit hodnoty Pinch to zoom, jsou pouze ke čtení. Tedy když by User kliknul na nějakém řádku na tlačítko Delete a měl provedený Pinch to zoom, tak mu to refresh stránky pokaždé vyresetuje, což je hodně špatné a kazí to dojem.
A v čem spočívá dotaz a problém - Vážení - kdyby Browsery podporovaly tuhle jednu jedinou věc, tak se dneska klidně dají pořád vyvíjet webové aplikace v klasických SSR. Ale tím, že to neumí, tak jsou pro vývoj web aplikaci pohřbené. Ale ještě neztrácím naději a říkám si, jestli na to neexistuje nějaká obezlička - vím, že tady pár lidí dělá pořád v PHP nebo v Django, atp.