Zastanawia mnie jedna rzecz po aktualizacji #wykop .
Na #hejto od kiedy zacząłem używać, przy przechodzeniu na drugą stronę efekt jest taki, że przenosi mnie na początek obecnej strony, przez chwilę ja widać I dopiero po sekundzie - dwóch ładuje się druga strona - picrel#1
Na orlen.ru nigdy czegoś takiego nie było... Aż do aktualizacji, która wprowadziła wygląd drastycznie podobny do hejto - picrel#2
Przypadek?
No chyba że to jakaś popularna biblioteka #programowanie?
e7ff618e-b74c-4cdc-848f-88cb66748f5a
69244aae-887a-498b-9d54-7bdffb13c046
siRcatcha

dis is not a bug but ficzer! znane

sasik520

@siRcatcha nie chodzi mi o bug. Chodzi mi o podobieństwo, które powstało nagle, po aktualizacji wykopu

bzyku95

@sasik520 generalnie przy zmianie strony powinny zadziać się 3 rzeczy

  • zmiana adresu URL wskazująca na kolejną stronę

  • scroll na początek

  • zmiana contentu (render)


Generalnie 2 ostatnie kroki powinny zadziać się same używając jakiejś sensownej biblioteki z paginacją czy tabelami, ale to zależy od implementacji, można to też wyłączyć i kontrolować 'recznie'


Ogólnie kolejność tych 3 kroków jest dowolna, natomiast żeby nie było tego efektu trzeba by zrobić tak: zmiana URL, request po dane na nową stronę, jak mamy odpowiedź to update contentu i scroll w góre


Tu pewnie scroll idzie w momencie requesta, a że on chwilę trwa to masz taki efekt

Na wykopie designer powiedział pewnie że ma działać tak samo, no i tak zrobili


Tak obstawiam

Besteer

@sasik520 SPA as its best. Skrypt pewnie wyświetla statycznie ramkę strony, a treść jest dociągana dynamicznie. Najpierw jest więc przeniesienie focusa scrolla na samą górę okna, a potem dopiero ładuje treść z backendu. Gdyby chcieć to zrobić elegancko, to trzeba by ukryć treść, przewinąć okno, dać placeholdera i dopiero gdy treść jest gotowa, wyświetlić. Na test env pewnie śmigało i nikt nie podumał, a teraz są bardziej priorytetowe rzeczy do zrobienia.

bzyku95

@sasik520 często takie problemy są trudne do wychwycenia w developmencie, bo dziala się na zamockowanych danych/lokalnej bazie i wszystko trwa max kilkadziesiąt milisekund, jak później request nagle trwa sekundę/dwie/trzy to wychodzą różne kwiatki


Dobra praktyka jest mieć środowisko testowe załadowane danymi (np. zanonimizowanymi z proda), i lokalnie się do niego łączyć, albo prościej, używać throttlingu networka w przeglądarce i patrzec jak apka się zachowuje przy wolnej sieci

ngserve

@Besteer Szczerze mówiąc wątpię żeby ktokolwiek to testował, patrząc na wykop odnoszę wrażenie, że ktoś się uczył Vue pisząc wykop i to był jego 1 projekt - stąd tyle tam rookie mistakes

Besteer

@bzyku95 tak, przy czym samo zapełnienie bazy, na której nie ma ruchu to nie wszystko. Może potem być tak, że wszystko śmiga, a dojdzie ruch i kaszana.

siRcatcha

@sasik520 stary my z tego tutaj mamy nabite od pierwszej sekundy w2.0

bzyku95

@Besteer wiadomka, bardziej chodzi o jak najbliższe odtworzenie perspektywy usera


Wszyscy developuja na macach z serwerem po localhoscie, a odbiorem takiej aplikacji częstą są telefony ze średniej półki na sieci 3G/4G w miejscu publicznym, jak ktoś chce sprawdzać na serio to powinno się używać throttlingu przy developmencie żeby zasymulować user experience, a nie trzeba nic setupowac żeby to zrobić

ngserve

@bzyku95 Już nawet nie wspominając, że w firmie z ~2mln dotacjami powinien być chociaż 1 tester zanim to wrzuca na proda XD

Meverth

@sasik520 podobieństwo wynika z podobnych technologii. Wykop był starym portalem, gdzie każda strona była renderowana od początku. Po przejściu na SPA działanie jest podobne do hejto, które też jest SPA. Podobne technologie, podobne problemy.

Zaloguj się aby komentować