Mikro framework czy ajax dla prostego one page'a

0

Powiedzmy, że mamy jakąś fajną templatkę one page. Przykładowo: https://karizma-preview.netlify.com/index_default.html
Nie jest to w sumie typowy one page gdzie wszystko jest fizycznie i wizualnie na jednej stronie, a sprawia wrażenie, że posiada podstrony.
No właśnie - niestety sprawia tylko wrażenie, ale nie są to osobne strony, fizycznie podstrony są divami.

Chciałbym tego typu szablon oskryptować, bo w tym momencie wg mnie jest słaby - nie posiada żadnej możliwości sensownej nawigacji tj. brak historii, brak routingu (odnośników do "podstron"), a ładowanie całego contentu jest nieoptymalne, gdy przybędzie podstron i treści. I teraz się zastawiam czy skrobać własny ajax z jakimś mini systemem routingu czy może jest coś gotowego, taki mini FW, bo nie chcę do tego zaprzęgać dużych FW typu VUE (jedyny jaki znam).

Musiałby:

  • ładować HTML z plików php
  • aktualizować url w pasku (najlepiej całkowicie, bez hashy)
  • obsługiwać browser history
  • mile widziana aktualizacja meta np. title choć wtedy podstrony by musiały zwracać json zamiast samego html'a

Ktoś, coś?

3

Tak na marginesie: jak powszechnie wiadomo ramki są złe.
Ale w czym lepszy od ramek jest powyższy system w obecnej postaci?
Nie da się zalinkować do podstrony, indeksowanie jest chyba nawet bardziej problematyczne niż na ramkach, chodzi wolniej i ładuje kilka megabajtów, żeby wyświetlić kilka obrazków i trochę tekstu na siedmiu stronach.

0
Kamil Żabiński napisał(a):

vanilla-js

Odpowiedź taka sama jak jQuery. Pytam o konkretne rozwiązania, a nie biblioteki.
Mogę napisać swoje rozwiązanie (skorzystam i tak z jQuery niż czystego JSa), ale wolę poszukać czegoś, od kogoś kto już przerabiał temat.

Freja Draco napisał(a):

Tak na marginesie: jak powszechnie wiadomo ramki są złe.
Ale w czym lepszy od ramek jest powyższy system w obecnej postaci?
Nie da się zalinkować do podstrony, indeksowanie jest chyba nawet bardziej problematyczne niż na ramkach, chodzi wolniej i ładuje kilka megabajtów, żeby wyświetlić kilka obrazków i trochę tekstu na siedmiu stronach.

Odnosisz się do templatki którą wysłałem? Na tym polegają single page, że masz wszystko w jednym pliku, zwykle są to strony gdzie masz wszystko na jednej stronie i przewijasz.. Korzyść masz taką, że wszystko się ładnie ładuje, nie myślisz o systemie template bo masz w jednym pliku itp.

2
eBizo napisał(a):
Kamil Żabiński napisał(a):

vanilla-js

Odpowiedź taka sama jak jQuery.

Zdecydowanie nie :D

Mogę napisać swoje rozwiązanie (skorzystam i tak z jQuery niż czystego JSa), ale wolę poszukać czegoś, od kogoś kto już przerabiał temat.

Ile linii czystego JS zajmie ci implementacja wypunktowanych potrzeb? 30? 50?
Przecież niektóre z nich załatwisz jednym poleceniem.

Odnosisz się do templatki którą wysłałem? Na tym polegają single page, że masz wszystko w jednym pliku, zwykle są to strony gdzie masz wszystko na jednej stronie i przewijasz.. Korzyść masz taką, że wszystko się ładnie ładuje, nie myślisz o systemie template bo masz w jednym pliku itp.

Tak. Z punktu widzenia webmastera to może być wygodne. Z perspektywy użytkownika i robota indeksującego niekoniecznie. A w każdym razie nie bez usprawnień, które sam wymieniłeś.

0
Freja Draco napisał(a):
eBizo napisał(a):
Kamil Żabiński napisał(a):

vanilla-js

Odpowiedź taka sama jak jQuery.

Zdecydowanie nie :D

Mogę napisać swoje rozwiązanie (skorzystam i tak z jQuery niż czystego JSa), ale wolę poszukać czegoś, od kogoś kto już przerabiał temat.

Ile linii czystego JS zajmie ci implementacja wypunktowanych potrzeb? 30? 50?
Przecież niektóre z nich załatwisz jednym poleceniem.

Odnosisz się do templatki którą wysłałem? Na tym polegają single page, że masz wszystko w jednym pliku, zwykle są to strony gdzie masz wszystko na jednej stronie i przewijasz.. Korzyść masz taką, że wszystko się ładnie ładuje, nie myślisz o systemie template bo masz w jednym pliku itp.

Tak. Z punktu widzenia webmastera to może być wygodne. Z perspektywy użytkownika i robota indeksującego niekoniecznie. A w każdym razie nie bez usprawnień, które sam wymieniłeś.

Ale mnie nie interesuje ile to zajmie linijek, bo po pierwsze 50 linijek to wcale nie mało, po drugie ilość linijek nijak się ma to długości pisania tego skryptu, po trzecie może to zajmować więcej gdy będziemy chcieli napisać coś bardziej uniwersalnego co rozwiązuje problemy o których jeszcze nie wiem np. fallback, obsługę błędów, jakieś callbacki itp.

Co druga strona sprzedażowa/home page to dzisiaj one page który scrollujesz na dół. Nie ma to żadnego wpływu na indeksowanie bo to nie są podstrony tylko ciągła treść. Templatka którą wysłałem po prostu nie spełnia założenia takiego one page ale jest zbudowana technicznie stąd konieczność oskryptowania tego lub rozbicia tego na zwykły html/php kosztem ładnych animacji przejścia.

0

Na razie najbliższe co znalazłem to https://github.com/browserstate/ajaxify (wg opisu, jeszcze nie testowałem w praktyce). Troszkę mnie martwi porzucony stan ale zawsze mogę wykorzystać to jako podstawę pod forka.

1
eBizo napisał(a):

Na razie najbliższe co znalazłem to https://github.com/browserstate/ajaxify (wg opisu, jeszcze nie testowałem w praktyce). Troszkę mnie martwi porzucony stan ale zawsze mogę wykorzystać to jako podstawę pod forka.

Za te trzy godziny poświęcone na szukanie, to już byś to sobie napisał :P

1 użytkowników online, w tym zalogowanych: 0, gości: 1