Makabryczny bloat stron WWW...

7

<rant>

I znowu jestem w wakacje w takim miejscu Polski, gdzie internet mobilny działa marnie. Strony ładują się w czasie liczonym niekiedy w minutach, a co gorsza często się po prostu rozłącza.

By przyspieszyć ładowanie wyłączam sobie w przeglądarce obrazki i Javascript. Wróć, JS sobie nie wyłączam, bo wiele stron bez niego po prostu nie działa. I nie wyświetla tekstu.

Sprawdziłem sobie w narzędziach developerskich FF.. Załadownie jednej strony to nierzadko wymaga pobrania MEGABAJTÓW danych?! BEZ obrazków?!

Niepojęte - wchodzę na stronę dla artykułu, który tam jest, albo dyskusji (np Reddit). SAM TEKST (dla którego tam wchodzę) to przecież o KILKA RZĘDÓW WIELKOŚCI mniej bajtów.

Ale nie, ponieważ strona musi być wizualnie atraktycjna i ponieważ musi robić pierdyliard rzeczy oprócz wyświetlenia tekstu (np. usera szpiegować i profilować, jak mniemam), to muszę pobierać MEGABAJTY mi nijak nie potrzebnych danych, co utrudnia mi istotnie dostanie się do tych kilku KILObajtów (co najwyżej) tekstu, da których tam przyszedłem.

<\rant>

1

Znowu to jojczenie, jest 2019 rok, ludzie wprowadzają 5G, nikogo nie obchodzi, że na zadupiu w Polsce nie doprowadzono internetu 10mb/s. Albo zrobiono to celowo, żebyś wyłączył ten kochany inaczej telefon, albo ludzie nie są tam targetem tych stron.

4

@kmph Nie przejmuj się itsme

Wziął kredyt na akcje jednego z ISP w USA, gdzie internet ma nałożony data/bandwidth cap i dla niego im strony więcej zaciągają tym lepiej :D

1

Noscript i selektywne odpalanie js. Tez tęsknie do internety gdzie dominowała treść na nie za dużej ilości kolorów i tabelkach...

2

Ta, spróbuj to klientom wytłumaczyć, powodzenia :)

4

Zrób zrzut ekranu za pomocą URL2PNG (lub czegoś podobnego), a potem czytaj z obrazka :P Pewnie i tak będzie lżejsze niż strona w oryginale.

4

Absolutnie się z tobą zgadzam.
Większość stron ładuje obecnie kilka MB, żeby wyświetlić tekst zawierający 2-3 KB + kilka obrazków.
Na dodatek upowszechnia się durnowata maniera, żeby nie zapodawać tego tekstu otwartym tekstem, tylko kazać twojej przeglądarce wczytać kilka MB skryptów, które pobiorą z serwera kilka KB tekstu (bo to podobno odciąża (sic!) serwer).

Głupota, która aż boli i z którą niestety ciężko jest walczyć. Na szczęście na większości odwiedzanych przeze mnie stron da się wyciąć 90-100% skryptów (NoScript) i działa to wtedy zdecydowanie lepiej.

9
itsme napisał(a):

Znowu to jojczenie, jest 2019 rok, ludzie wprowadzają 5G, nikogo nie obchodzi, że na zadupiu w Polsce nie doprowadzono internetu 10mb/s

Wyobraź sobie że to tak jakby budowali drogi które wymagają coraz to nowszych samochodów o coraz większym silniku, a samochód który 10 lat temu wyciągał 200 km/h dzisiaj wyciągałby tylko 40, bo zaktualizowano drogi i teraz trzeba znacznie więcej mocy żeby osiągnąć to samo.

2

@Azarien: ale tak to działa. Weź jakaś nowa gra i odpal na kompie sprzed 5 lat.

4
cerrato napisał(a):

@Azarien: ale tak to działa. Weź jakaś nowa gra i odpal na kompie sprzed 5 lat.

Ale nowe gry przynajmniej oferują lepszą grafikę niż przed 5 laty (no przeważnie, bo to ostatnio przestaje być regułą), a nowe strony zawierają tyle samo treści co stare, a często wręcz mniej, bo jest moda na robienie stron, na których nic tak naprawdę nie ma oprócz kilku przycisków / obrazków.

3
cerrato napisał(a):

@Azarien: ale tak to działa. Weź jakaś nowa gra i odpal na kompie sprzed 5 lat.

Ale mogę sobie wziąć 15-letnią grę i grać na max detalach. A nie mogę wziąć stron sprzed 15 lat żeby mi szybko chodziły, bo ich po prostu już nie ma – poza jakimiś archiwami, ale nie o to chodzi.

1
Azarien napisał(a):

Wyobraź sobie że to tak jakby budowali drogi które wymagają coraz to nowszych samochodów o coraz większym silniku, a samochód który 10 lat temu wyciągał 200 km/h dzisiaj wyciągałby tylko 40, bo zaktualizowano drogi i teraz trzeba znacznie więcej mocy żeby osiągnąć to samo.

Cały problem że tak to właśnie jest z drogami :D Kiedyś były wąskie drogi i jechał po nim ledwo co dychający polonez i fiat, dziś są lepsze drogi to i samochody masz lepsze a takim poldkiem czy maluszkiem strach na drogę wyjechać bo chociażby ich przyspieszenie sprawia, że ciężko się włączyć do ruchu, a i prędkości są takie że dużo łatwiej zginąć w takim aucie niż kiedyś ;)

2

Dlaczego właściwie JavaScript nie może mieć jakiejś biblioteki standardowej wbudowanej w przeglądarkę i zamiast pobierać cały czas to samo, to by się pobierało tylko jakieś niestandardowe rozwiązania / faktyczną logikę aplikacji na froncie, czyli na pewno nie 5MB.

No wiecie, tak jak WASM to będzie realizował.

0

@WeiXiao no przecież ma i jest to wbudowane ale jeśli by brać porównanie z takim c++ to w przeglądarce masz ledwo standard a żeby mieć ładne okienka to nie bedziesz pisał samemu kodu całości tylko użyjesz qt które wymaga dorzucenia libki 10MB :D

2

Dlaczego właściwie JavaScript nie może mieć jakiejś biblioteki standardowej wbudowanej w przeglądarkę

Ale trochę tego jest, jednak często by ułatwić sobie pracę używa się Reactów/Vueów/Angularów, które wcale nie są lekkie.

7

Przecież jak napiszesz na większości forum, że stosujesz starszego, lekkiego frameworka to ciebie objadą, bo musisz mieć super hiper nowości, tutaj jest podobnie, to samo z hejtowaniem php, który działa po stronie serwera, a nie klienta.
Dodatkowo jQuery 29kb wszystkim śmierdział to macie w zamian tłuste frameworki js, smacznego :P

0

@czysteskarpety:

Jak to się dzieje, że te wszystkie frameworki niby po zminifikowaniu i gzipie mają jakieś 50 100 200 300kb, a pobiera się kilka MB? :D

2

@WeiXiao: jeden z projektów, na angularze który okreslam jako lekki :) Po prawej wielkość js. z czego wewnątrz tego js są wszystkie templatki także żadnego htmla już nie zaczytuje oprócz prostego indexu, który bootuje wszystko ;)

screenshot-20190715005532.png

dla pełnego obrazu dorzucam jeszcze dependencies

screenshot-20190715005720.png

2
kmph napisał(a):

By przyspieszyć ładowanie wyłączam sobie w przeglądarce obrazki i Javascript. Wróć, JS sobie nie wyłączam, bo wiele stron bez niego po prostu nie działa. I nie wyświetla tekstu.

A powinno. Jak widać partaczy całe stada. Chyba każdy framework obsługuje też noscript. Tylko trzeba mieć olej w głowie, i wziąć taki warunek na ruszt.

Sprawdziłem sobie w narzędziach developerskich FF.. Załadownie jednej strony to nierzadko wymaga pobrania MEGABAJTÓW danych?! BEZ obrazków?!
Niepojęte - wchodzę na stronę dla artykułu, który tam jest, albo dyskusji (np Reddit). SAM TEKST (dla którego tam wchodzę) to przecież o KILKA RZĘDÓW WIELKOŚCI mniej bajtów.

Przecież trzeba załadować userowi całą zawartość! To nieistotne, że on obejrzy 2-5 podstron. Musi mieć załadowane About żeby wiedzieć jakąto fajną firmą jesteśmy. Trzeba mu wczytać też kilka innych kategorii na wszelki wypadek.

Ale nie, ponieważ strona musi być wizualnie atraktycjna i ponieważ musi robić pierdyliard rzeczy oprócz wyświetlenia tekstu (np. usera szpiegować i profilować, jak mniemam), to muszę pobierać MEGABAJTY mi nijak nie potrzebnych danych, co utrudnia mi istotnie dostanie się do tych kilku KILObajtów (co najwyżej) tekstu, da których tam przyszedłem.

Mylisz trochę pojęcia. Wizualnie atrakcyjnych stron nie buduje się w taki sposób w jaki dziś napisanych są ich tysiące.
Byle blog MUSI mieć jeden z tych niedorobionych frameworków żeby wszyscy widzieli.
To tak jak z sąsiadami. Musisz mieć najnowszego Passata B5 w tdi żeby sąsiad nie mógł spać z zazdrości, i co weekend pucujesz go na osiedlowym parkingu żeby wszyscy widzieli.

Mam dwóch frontów w zespole obok, i gdyby mieli napisać projekt od zera bez żadnych wspomagaczy to żaden nie ma pojęcia jak się za to zabrać. I prawdopodbnie nie byliby w stanie napisać takiego projektu. A chłopaki szczycą się 3-4 latami expa :]

0
axde napisał(a):

A powinno. Jak widać partaczy całe stada. Chyba każdy framework obsługuje też noscript. Tylko trzeba mieć olej w głowie, i wziąć taki warunek na ruszt.

Nooo jasne powinno, ciekawe jak pobierzesz te dane z resta bez js :p

axde napisał(a):

Mam dwóch frontów w zespole obok, i gdyby mieli napisać projekt od zera bez żadnych wspomagaczy to żaden nie ma pojęcia jak się za to zabrać. I prawdopodbnie nie byliby w stanie napisać takiego projektu. A chłopaki szczycą się 3-4 latami expa :]

Taaaaaaak bo napiszesz coś podobnego do vue.js sam w rozsądnym czasie i jeszcze klient za to zapłaci.

0

Jakie to wszystko ma dzisiaj znaczenie? Na smartfonie mam w abonamencie pakiet 10 GB i co najmniej HSPA+ albo LTE, na modemie którego używam w laptopie 60GB pakietu podstawowego i też LTE. Jedynie kiedyś jak miałem jeszcze telefon na kartę to mnie zabolało, bo w ciągu kilku minut zjadło mi z konta jakieś 80 zł, na szczęście w porę wyłączyłem dane komórkowe, inaczej musiałbym zaraz doładować bo zniknęłoby wszystko.

Raz że jest cache w przeglądarce, dwa że nawet same wymagania co do realizacji może nie prostych stron ale poważniejszych portali i sklepów są takie, że ciężko wiele rzeczy byłoby zrealizować bez tych frameworków. Pozostaje tylko pytanie czy faktycznie wymóg jest taki żeby opierać się o najpopularniejsze dzisiaj i będące na topie frameworki, czy też może te starsze ale prostsze i mniejsze.

0

@drorat1 nooo akurat te limity lte to są śmieszne, 150GB to ja zjadam w tydzień, tylko, że u mnie leci sporo filmów, muzyki, grania (również online), przez co jedyne co moge obecnie mieć to neta po kablu a to mam jedynie orange 10Mb/s u siebie :/

5

Obecny roczny przyrost frameworków JS jest chyba większy niż przyrost mocy obliczeniowej w nowszej generacji CPU, bo technologie ich produkcji zaczynają powoli napotykać ścianę. Obstawiam, że gdzieś do 5 lat nastąpi tzw. "punkt przegięcia" i pójdzie to w kierunku ultralekkich frameworków lub czegoś podobnego. Nastanie wtedy gorszy czas na interview, bo trzeba będzie znać "legacy" i te "nowe" mikrolekkie. Performance generalnie wróci do łask, nie będzie już używania electrona by narysować puste okno.

Zresztą, takie coś w webmasteringu miało już IMHO miejsce. W latach 1999-2005 popularne były jeszcze applety Java, pamiętam jak w momencie ładowania strony literalnie mordowały PI 133 i PII 233 (czy jakoś tak). Myszka miała 2fps w porywach (na PII 233). Ówcześni webmasterzy często głupieli i robili w tym nawet proste menu nawigacyjne (!). Potem pokazano, że przecież podobnie się da w JS (szybciej działa, nie zabija PII), a potem w CSS, gdzieś w międzyczasie Google stwierdził, że jak masz menu w postaci appletu w javie to sam sobie je indeksuj. I tak zaczęło to wychodzić z użycia, wten przeminęły wieki ciemne.

0

@TurkucPodjadek: obecnie google naciska na robienie PWA a to jeszcze więcej danych pobiera na start :p

2
mr_jaro napisał(a):

obecnie google naciska na robienie PWA a to jeszcze więcej danych pobiera na start :p

Klasyczne PWA bez frameworka w vanilla js nie nie pobiera niczego prócz zawartości strony, którą sam ustalasz (np. obrazki można wyłączyć), czyli pobierasz całą stronę w miejscu gdzie masz super neta, potem tylko dosysasz zmiany po kilka kilo (nowe arty, newsy itp.), nawet nie trzeba instalować apki, bo przeglądarka sama trzyma w cache, wystarczy zrobić eksperyment i wyłączyć na chwilę, stronki normalnie się ładują bardzo szybko z cache.
Sam pomysł chwalebny, wykonanie z fw js już gorsze (tak jak pokazałeś).

Jakby dodać do PWA ładowanie odpowiednich widoków dla mobile z css/js dla nich to masz petardę, bo pobierasz z serwera tylko to co niezbędne, a nie tylko ukrywasz za pomocą @media.

0

Programiści nie potrafią zmienić swojego toku rozumowania. Od 2016 roku najpierw pobiera się cały front, co trwa chwilę dłużej, żeby potem wszystko zapieprzało. No ale to są ci SENIORZY z 5 lat expa, powtarzam SENIORZY.

0
mr_jaro napisał(a):
axde napisał(a):

A powinno. Jak widać partaczy całe stada. Chyba każdy framework obsługuje też noscript. Tylko trzeba mieć olej w głowie, i wziąć taki warunek na ruszt.

Nooo jasne powinno, ciekawe jak pobierzesz te dane z resta bez js :p

Szczęściarz z Ciebie jeżeli nie musisz obsługiwać użytkowników z wyłączoną obsługą JS. https://en.wikipedia.org/wiki/Progressive_enhancement

axde napisał(a):

Mam dwóch frontów w zespole obok, i gdyby mieli napisać projekt od zera bez żadnych wspomagaczy to żaden nie ma pojęcia jak się za to zabrać. I prawdopodbnie nie byliby w stanie napisać takiego projektu. A chłopaki szczycą się 3-4 latami expa :]

Taaaaaaak bo napiszesz coś podobnego do vue.js sam w rozsądnym czasie i jeszcze klient za to zapłaci.

Ale po co pisać drugie Vuejs? Kompletnie tego nie rozumiem.

drorat1 napisał(a):

Raz że jest cache w przeglądarce, dwa że nawet same wymagania co do realizacji może nie prostych stron ale poważniejszych portali i sklepów są takie, że ciężko wiele rzeczy byłoby zrealizować bez tych frameworków.

Praktycznie każda strona stojąca na jakimś frameworku przy każdej wizycie zasysa kilkanaście mb danych. Co ma do tego cache? Nic niej jest ciężkie do zrwalizowania. Zwykle to tylko niewiedza lub lenistwo. Siedziałem w projekcie w którym zdecydowano, że nie będziemy zaprzęgać jakiegokolwiek frameworka tylko czysty JS.

TurkucPodjadek napisał(a):

Performance generalnie wróci do łask, nie będzie już używania electrona by narysować puste okno.

W poważnych nie startupowych projektach on nadal jest istotny. Tam gdzie pełno technologicznych ignorantów tam też pcha się wszystko jak leci, i dokupuje mocy.

TurkucPodjadek napisał(a):

Zresztą, takie coś w webmasteringu miało już IMHO miejsce. W latach 1999-2005 popularne były jeszcze applety Java, pamiętam jak w momencie ładowania strony literalnie mordowały PI 133 i PII 233 (czy jakoś tak). Myszka miała 2fps w porywach (na PII 233). Ówcześni webmasterzy często głupieli i robili w tym nawet proste menu nawigacyjne (!).

Dorzućmy do tego jeszcze początki Flash. Kiedyś komputer kupowało się raz, i nie myślało przez 10 lat o jego zmianie. Te bardziej leciwe jednostki podpięte pierwszy raz do internetu też potrafiły się nieźle zwiesić przy jakimś mocniejszym Flashu.

mr_jaro napisał(a):

@TurkucPodjadek: obecnie google naciska na robienie PWA a to jeszcze więcej danych pobiera na start :p

PWA ma wiele zalet. Od strony pisania projektu jest bardzo dobra. Oczywiście gorzej z wykonaniem. Plusem jest szybki update całego projektu bez konieczności ingerencji usera. Super rzecz gdy jesteśmy offline w projekcie np. serwisu na wzór medium.com gdzie mamy głównie tekst. Co innego gdy ktoś pakuje over 9000 produktów ze sklepu. Wszystko jak zawsze zależy od idei tego kto pisze projekt, i co wrzuca w obsługę offline. Na pewno 1:1 nie jest dobrym pomysłem.

2
itsme napisał(a):

Programiści nie potrafią zmienić swojego toku rozumowania. Od 2016 roku najpierw pobiera się cały front, co trwa chwilę dłużej, żeby potem wszystko zapieprzało. No ale to są ci SENIORZY z 5 lat expa, powtarzam SENIORZY.

To ma pewien sens w przypadku stron, które odwiedzam regularnie albo przynajmniej przeglądam z nich kilkanaście podstron. Jeśli googlam intensywnie otwierając naście różnych adresów, to oznacza to, że wszystko ładuje mi się po prostu chwilę dłużej × kilkanaście.

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