grski

O jak bardzo true
A potem jedna strona z prostym contentem ładuje się pół godziny.

m123

kurde cos w tym jest, rozmawialem niedawno z kolega ktory idzie na full stacka ze pewnie mało bedzie cssów pisał bo teraz wszedzie upychaja js ile sie tylko i gdzie sie tylko da

czysteskarpety

PHP po stronie serwera śmierdział to teraz mamy JS po stronie klienta, z deszczu pod rynnę :D

Pipes

@czysteskarpety: To jest nawet gorsze, bo taki JS robi x razy większe obciążenie, gdyby je zebrać do kupy niż PHP na serwerze, ale ... po co pisać cssy, skoro można robić virtual DOM :D

czysteskarpety

@Pipes: tak jest, dodatkowo odchodzi się od modułowego ładowania potrzebnych zasobów, a ładuje się wszystko w jednej paczce, no cóż, postęp :)

Veox

Zamiast javascript to powinno być jquery + jquery plugins

Nevaan

@czysteskarpety: "odchodzi się od modułowego ładowania potrzebnych zasobów" mozesz rozwinac ta mysl?

Pipes

ładujesz wszystko w app.js i wczytujesz dla każdej strony zamiast mieć setki osobnych plików, wczytywanych na życzenie.

orchowskia

No z jednej strony więcej ściągasz na początku, ale z drugiej to później powinno już działać płynnie - taka idea SPA. A te skrypty i tak się cacheują więc nie wiem o co tyle krzyku

Nevaan

@Pipes: tak, rozumiem idee, ale zastanawiam sie czy to nie jest kwestia tego, jak aplikacja została napisana? jaka w tym wina samego JS? nie wiem tez czy stwierdzenie, ze to trend jest uzasadnione

orchowskia

@Nevaan: myślę że jest wręcz odwrotnie do tego co pisze kolega. Duże tłuste apki rozbija się teraz. Webcomponenty stają się coraz popularniejsze

Nevaan

@orchowskia: no wlasnie ja tez, dlatego chcialem dowiedziec sie skad taki wniosek :D

czysteskarpety

@orchowskia: Krzyku raczej o to co pokazał @Pipes w linku, to wszystko dzieje się po stronie klienta, co obciąża cpu, co widać na urządzeniach mobilnych, laptopach na baterii, słabym łączu netowym, więc pod wieloma względami zamiast progres mamy regres.

Miang

jak ładuje się jakaś strona typu fejszbuk to jeszcze mogę zrozumieć że twórcy mają gdzieś czy user se poczeka, ale za cholerę nie rozumiem dlaczego strony sklepów tak działają,

ccwrc

@Miang 'chcę tanio i szybko (zrobione)' to wymagania a, że działa wolno i przez to przynosi mniej kasy to już inna sprawa ;)

mr_jaro

@Veox: jakie jquery? podróż w czasie odbyłeś? tu nie o jquery się to rozbija bo z tego to już nikt normalny nie korzysta, tylko angular, react, vue

czysteskarpety

@mr_jaro: jakie jquery? podróż w czasie odbyłeś? tu nie o jquery się to rozbija bo z tego to już nikt normalny nie korzysta - nie byłbym taki pewny, na stronie twojej firmy widziałem w portfolio laravel+jquery całkiem niedawno ;)

Michał Kuliński

Te wszystkie Jsowe frameworki są już dzisiaj niemodne. Najnowszy krzyk mody to: http://vanilla-js.com/

WeiXiao

Dlaczego ludzie boją się dynamic DOMa w czystym js?

czysteskarpety

@WeiXiao: raczej nie wszystko zrobisz w miarę poręcznie w czystym js, tutaj brakuje coś w miejsce krytykowanego jquery, czyli podpinasz skrypt i lecisz do przodu bez zbędnego pier... ;)

czysteskarpety

Fakt, takie rzeczowe argumenty ciężko podważyć...

Veox

@mr_jaro: wyobraź sobie że nie i jestem dokładnie w 2019 roku i choć sam staram się jQuery nie używać to i tak nadal jest to popularna biblioteka (chociażby przez bootstrapa) i na wielu stronach się znajduje

Afish

Nieraz jak muszę coś na szybko zmienić na stronie przez devtoolsy i okazuje się, że nie ma jquery, to czuję się jak bez ręki...

czysteskarpety

@Veox: są wersje BT4 bez jquery, ale fakt że prościej w nim robić podstawowego ajax'a, fetch api jakoś mnie nie przekonuje

mr_jaro

@Veox: no ja nie robiłem nic w jquery od 3 lat :D

orchowskia

@czysteskarpety: to fakt że wszystko się dzieje po stronie klienta. To fakt że mobilki mają gorzej, kompy. Był czas że sprzęt trzeba było wymieniać dość szybko z tych powodów, a stare PC z 512RAM i Sempronem nie nadają się już nawet to googlowania. Moim zdaniem to postęp - mamy lepszy sprzęt, szybsze łącza, trzeba to wykorzystywać. Ja też mam ból bo dostałem teraz lapka w pracy z rozdziałką 1366 na ileś tam mniej i większość stron wygląda jak kupa bo się potrafią przełączyć nawet w te tabletowe visual state'y. No ale wiem, że po prostu sprzęt jest do d*** - taki mamy klimat i już :/

Hispano-Suiza

A jak wspominałem w jakimś wpisie, że wolę korzystać z templates w języku i kawałków czystego JS to zleciała się grupa JS owców i mnie terroryzowała :-)
@orchowskia postęp? Gdzie ten postęp? W ładowaniu strony w nieskończoność? Wczoraj wchodziłem na projekt kolegi napisany w postępowym NodeJS + React + GraphQL. Ładowanie treści + obrazków. Uruchamiałem podstronę, która ma może max 4-5 komponentów wspaniałego Reacta - slider, filtrowanie wyników, wyniki, footer. Czekałem 7 sekund na załadowanie przefiltrowanych wyników :-) I nie puszczałem requesta z RPA do Polski, a serwery w kraju.

orchowskia

@Hispano-Suiza: z tego co wiem to facebook jest w react co nie? Więc wyczyściłem sobie cache, załadowałem stronę i... ładowała się jakieś 9s z całym contentem (grafiką itd.), przy czym gdzieś po 3s można było już z niej korzystać. Nie wiem co ten twój kolega napisał ale coś jest grubo nie tak

somedev

@orchowskia: za taki monitor powinni dawać odszkodowanie za szkodliwe oraz niegodna prace. Sam mam w lapku fullhd co moim zdaniem jest minimum a do tego jeszcze 3 monitory 24” FullHD. Dlaczego tak oszczędzają na sprzęcie?

czysteskarpety

@orchowskia: prozaicznie taka rozdzielczość trzyma się całkiem nieźle: http://ranking.gemius.com/pl/ranking/resolutions/ więc sporo klientów ma nadal słabsze maszyny

Hispano-Suiza

@orchowskia: Wszystko zależy od tego co aktualnie ma Ci się załadować. Nie za każdym razem jest taki czas wczytywania. Facebook to żaden wyznacznik i w tak dużym projekcie jestem w stanie zrozumieć użycie jakiegoś frameworka/biblioteki. Nie jestem w stanie zrozumieć pakowania tego wszędzie gdzie się tylko da. Kiedyś jak chciałem sobie zrobić prosta stronkę to nie zaprzęgałem tam React, Redux, JEST + Enzyme, ESLint, StyleLint, JSLint, SASS, Webpack, Gulp, Yarn, NPM, NPM Scripts, Babel, Grunt, CSS Modules, Styled Components, TypeScript i mmm modern front-end. 5 kategorii, a projekt jedynie dodaje content do bazy, wyświetla go, segreguje po dacie i wyrzuca obrazki w treści :D

OtoKamil

Budowanie SPA ma sens jak aplikacja ma działać w SPA. Przykład? JIRA - strona z aktualnym sprintem ładuje się cholernie długo. Klikasz w przycisk, znów czekasz - wywalił się modal i nic nie działa, przeładuj, czekaj kolejne kilka sekund aż się wszystko załaduje, kliknij w taska bo chcesz zalogować czas i ręcznie ustawić remaining - nie_da_się - no to otwórz stronę z taskiem w nowej karcie, JSy się ładują, czekaj, załadowały się, kliknij przycisk do otwarcia modala z logowaniem godzin, wywalił się, przeładuj stronę, wnerwiasz się więc idziesz sprawdzić burdown chart na poprzedniej karcie, klikasz "Reports", cała strona się przeładowuje #SPA_TAK_BARDZO, wybierz burndown chart, strona znowu się przeładowuje, #WTF. To na cholere takie SPA jak i tak muszę wszystko co chwilę ładować na nowo bo jak padnie choćby jeden moduł to nie ma przycisku przeładowania go, tylko muszę odświeżyć całą stronę?

Afish

@orchowskia: Czekaj, ale Ty sugerujesz, że 3 sekundy jest dobrym wynikiem?

czysteskarpety

@OtoKamil: czyli podsumowując mamy stronę za kilka tysięcy $ działającą jak zapchany wordpress za pińcet zeta :)

ccwrc

@czysteskarpety: złe rozumowanie. Można postawić gniota na WP biorąc za to kilka tysięcy $. Klientowi dać do porównania coś z React, Redux, JEST + Enzyme, ESLint, StyleLint, JSLint, SASS, Webpack, Gulp, Yarn, NPM, NPM Scripts... - działa tak samo, płaci tyle samo ;) Edit: chyba, że WP okaże sie szybsze, wtedy klient powinien dopłacić.

czysteskarpety

@ccwrc: Tak, tylko ta litania technologii jest zwykle sprzedawana jako atut i usprawiedliwienie wyższej ceny, a często klient nie ma świadomości, że to może działać szybciej na najprostszych , "tanich" rozwiązaniach.

ccwrc

@czysteskarpety: znowu złe rozumowanie: przypuścimy, że użyłeś tego atutu a póxniej magicznego słówka: refaktoryzacja. Żartuję, ale wiadomo o co chodzi ;)

Afish

Na telefonie nie instaluję dedykowanych aplikacji i czasami przeglądam powiadomienia z linkedina, facebooka czy twittera normalnie w przeglądarce. To, co tam się dzieje, to jakaś masakra, telefon ma gigabajty ramu, w pytę rdzeni, a otwarcie strony zajmuje wiele sekund (linkedin na przykład dostaje zwiechę na ~5 sekund na samym starcie). Jak jeszcze dojdzie do tego internet mobilny w roamingu na jakimś odludziu, to jest dramat. Ja rozumiem, że pisanie SPA w jQuery jest samobójstwem, ale łatwe tworzenie nieużywalnej strony też nie jest rozwiązaniem.

orchowskia

@Afish: Sugeruję że 3s to dobry wynik dla formatu facebooka. @somedev sam sprzęt poza ekranem jest bardzo spoko, oprócz lapka mam po prostu monitory ;)

Afish

A co to znaczy „dla formatu facebooka”? Czy to znaczy, że 3 sekundy to dobry wynik dla strony ładującej jedynie kilkanaście wiadomości i boczny pasek z czatem? 3 sekundy to ja rozumiem dla jakiegoś CAD-a w przeglądarce, a nie dla strony głównej jednej z najbogatszych firm IT na świecie. Do wspomnianych przez Ciebie 9 sekund nawet się nie odnoszę, bo to jakiś cyrk.

Hispano-Suiza

@Afish: Wejdź na nofluffjobs.com to rak Twojego raka dostanie raka. A to chyba stoi na Angular. Czas reakcji na mojej przeglądarce wbudowanej w Xiaomi ( ͡° ͜ʖ ͡°) potrafiło ją zwiesić na 15-20 sekund. Klikanie w jedno ogłoszenie otwierało 3 ogłoszenia poniżej. Takie to SPA wspaniałe i nowoczesne. Zresztą do teraz nie jest lepiej na Firefox mobilnym. Linkedin to już w ogóle. Nawet na PC potrafi mulić.
@orchowskia A czym jest ten ów facebook? Wykonuje jakieś mocno skomplikowane obliczenia, które Ci wyświetla? Renderuje coś w chmurze i wypluwa na ekran? Pobiera dane z 50 lokalizacji giełd na świecie, oblicza różnicę pomiędzy ceną akcji na przestrzeni 3 lat każdego dnia i wyświetla? Nie. Wypluwa tonę reklam i guwno wpisów. Te 3 sekundy to mocno optymistyczny wynik - masz moje ładowanie facebooka i zobacz co tam się w źródle dzieje (za każdym razem wchodzę przez incognito).
https://i.postimg.cc/XqSJPsD7/nie.png

czysteskarpety

@Hispano-Suiza: to jest mix prawie 300 requestów w tym angular js: view-source:https://nofluffjobs.com/styles/index_vendor-c5801db0c3.css bootstrap: view-source:https://nofluffjobs.com/styles/vendor-6f83a4d121.css chyba nawet jQuery, jQuery Waypoints, Polyfill IO, statystyki z sociali, jest jakieś szpiegujące mc.yandex.ru, długo by pisac, nie mam tyle miejsca :)

WeiXiao

@orchowskia: ale co ty tak usprawiedliwiasz tego facebooka ich skalą? Mają masę gotówki, a to implikuje, że mają pewnie pincet cdnów, topowych gości w branży, własną przeróbkę php i pewnie jeszcze wiele innych rzeczy.

Spine

@Hispano-Suiza: Moim zdaniem, facebook oprócz tego, że robi całkiem podstawowe operacje, ma inne wąskie gardło... Skala serwisu. Robisz zapytania do bazy, która ma na oko setki miliardów wpisów i ciągle ich przybywa.

Nie, żebym ich bronił. Ale łatwo jest krytykować ich serwis, mając stronkę, która jednocześnie ma obsługiwać raptem 50 użytkowników...

WeiXiao

@Spine: a to nie jest podzielone jakoś per region/country czy coś?

Spine

@WeiXiao: oczywiście, to może być rozproszone.

WeiXiao

@Spine: Chyba na pewno jest, bo przecież Cassandra :P

Hispano-Suiza

@Spine: Raczej setki albo tysiące baz. Nie wydaje mi się żeby odpytywanie kogoś z Mazur leciało do głównej bazy ;-) Tona śledzącego JS i reklam na pewno ma swój udział zamuleniu niektórych komputerów. Tak samo jak ich szpiegujący guwnosoft do rozmów z psiapsiami.

orchowskia

@WeiXiao: @Hispano-Suiza: wydaje mi się że mają raczej od groma logiki mniej lub bardziej skomplikowanej. Analizy tego co piszesz na messengerze podobnież i tak dalej. To nie są trywialne sprawy i ten kod musi się ściągnąć, wykonać. To że niektóre strony zamulają to nie znaczy że wszystkie muszą. Kilka sekund to dużo? Jest też tam sporo grafik, zależy też od contentu który znajduje się na tablicy itd. IMHO robicie gównoburzę. UX można znacznie poprawić na wiele sposobów, stosując composite UI itd. dodając jakieś kręciołki etc. Co do telefonów - do dużych serwisów są aplikacje, jest PWA, gdyby wszystko było seksowne od razu, po prostu w przeglądarce to chyba nie miałbyby racji bytu.
Trzeba sobie zadać pytanie - kiedy przekraczamy granice absurdu, czy 3 sekundy to wieczność i użytkownicy prędzej podetną sobie żyły niż się doczekają na swoje ekrany? Nie sądzę

WeiXiao

Skąd wiesz, że analiza tego co piszę wykonuje się w jsie po client side? według mnie brzmi to nierealnie, więc proszę o źródło. Pisałem w kontekście 9 sekund, i tak, to jest długo.

orchowskia

Nie wiem, zgaduję. 9 sekund to jest całkiem sporo, ale ten pomiar który zrobiłem na szybko uwzględniał też wszelkie multimedia na stronie. Niestety to zajmuje czas.

orchowskia

@WeiXiao: wspaniałe odkrycie. Czy nie o tym cały czas piszemy?

WeiXiao

@orchowskia: Wycofałem się z tego pagespeeda, bo jest nierzetelny.

ccwrc

@orchowskia Pytasz się, czy kilka sekund to dużo. Były już przeprowadzane badania na ten temat. Maksymalny czas (z tego co pamiętam, mogę się mylić o ms) dla nowo odwiedzanych stron to JEDNA SEKUNDA zanim użytkownik straci zainteresowanie i zamknie stronę przed wczytaniem. Z punktu widzenia biznesu to strata. Przeładowanie frameworkowym JSowym guano dla biznesu to realna STRATA. Dla użytkownika to jedynie niedogodność.

czysteskarpety

@ccwrc: Również strata energetyczna (chociaż większość ma to gdzieś) procek mielący js zużywa więcej prądu.

Afish

@orchowskia: nie no, żadne analizy nie dzieją się po stronie klienta. Całe to zamulanie jest efektem skopanego frontu, nic więcej.

ccwrc

@czysteskarpety to zależy. Dziś to raczej korzysta się z karty graficznej jako akceleratora. Czyli normalny użytkownik ma wybór między suszarką na procku a suszarką na karcie (ja mam wszystko praktycznie w pasywie, więc mnie to... nie obchodzi ;) dobieram komponenty z jak najniższym TDP w stosunku do potrzeb, boli tylko świadomość, że mój pasywny SeaSonic pobiera więcej niż bym chciał)

Michał Kuliński

Przypominam o js, który słucha mikrofonu, dokonuje rozpoznania wyrazów i tak modyfikuje ciastka, aby wyświetlały się reklamy na podstawie tego, co mówimy. Zero requestów do serwera. Większe wzrosty sprzedaży dla firm. Większe kwoty z marży reklam dla wielkiej czwórki.

Hispano-Suiza

wydaje mi się że mają raczej od groma logiki mniej lub bardziej skomplikowanej. Analizy tego co piszesz na messengerze podobnież i tak dalej. - To teraz zastanówmy się po analizować to co piszemy? Ja generalnie odpowiedź znam. Kilka sekund to dużo? Jest też tam sporo grafik, zależy też od contentu który znajduje się na tablicy itd. IMHO robicie gównoburzę. Wwidocznie nie rozumiesz o co ta gównoburza. Skoro telefon z 8 rdzeniowym procesorem i 4GB ram tnie się przy scrollowaniu strony to ktoś gdzieś popełnił błąd. UX można znacznie poprawić na wiele sposobów, stosując composite UI itd. dodając jakieś kręciołki etc. Nie myl UI z UX. Co do telefonów - do dużych serwisów są aplikacje, jest PWA, gdyby wszystko było seksowne od razu, po prostu w przeglądarce to chyba nie miałbyby racji bytu. Moim marzeniem jest instalowanie 80 aplikacji i każda do innego serwisu. Chyba Cię poniosło i to ostro. Trzeba sobie zadać pytanie - kiedy przekraczamy granice absurdu, czy 3 sekundy to wieczność i użytkownicy prędzej podetną sobie żyły niż się doczekają na swoje ekrany? Nie sądzę ile się nabluzgałem i nie tylko ja gdy ten modern front-end ładował się nie 9 sekund, a minutę bo jakiś js po drodze się mało delikatnie mówiąc zesrał. I trzeba było odświeżyć stronę. A ostatnio wypełniając formularz, który miał 6 kroków gdy w 6 się zesrał musiałem odświeżyć stronę i SPA się zesrało i cały formularz musiałem wypełniać od nowa, mmm. Wyborny framework (w tym wypadku Angular). Taki niedorobiony.

członek zarządu

tu chyba jakiś zlot java developerów nastąpił

Hispano-Suiza

Lepiej już być java developerem niż trzymać koledze podczas wspólnego sikania w firmowym kiblu.

Afish

Raczej zlot ludzi świadomych absurdu frameworków JS. Pewnie za kilka lat będziemy tęsknili do czasów, gdy facebook ładował się w 9 sekund.

WeiXiao

@Afish: Wydaje mi się, że z czasem to się polepszy :P

Hispano-Suiza

@WeiXiao: Na pewno. Polepsza sie z roku na rok. 10 lat temu strona wazyla 25kb. Dzis 2.5mb. Dzis laduje sie w 9 sekund. Za 10 lat bedzie to pol minuty. Argumentem bedzie "zapchany" internet. Yolo.

WeiXiao

@Hispano-Suiza: Zmieni się podejście - zamiast JSa będą języki backendowe i może okaże się to bardziej dojrzałe.

Afish

Wątpię, będzie jeszcze więcej badziewia na froncie, szczególnie śledzącego każdy ruch myszy i wysyłającego te dane dalej.

orchowskia

@Hispano-Suiza: Możesz używać przeglądarki links. Działa bardzo szybko, strony ładują się w mgnieniu oka. Gorąco polecam.

członek zarządu

"Raczej zlot ludzi świadomych absurdu frameworków JS" - w javie jest pelno absuradlnych frameworków, Strutsy, EJB, Vaadin, GWT, Play itp. i nikt tu o to piany nie bije :P JS natomiast ewoluuje i nikt nie każe w tej ewolucji brać udziału. Ja sam bronię się przed rewritem aplikacji bo wyszla nowa wersja czegoś tam, ale jeśli coś realnie ułatwia życie, to czemu nie używać? Nie wiem c jest takiego absuradlnego w Angularze czy Reakcie (chyba tylko to, że przestało się pisać servlety, aplety, facelety, portlety, naplety :P).

Afish

A dlaczego ktoś miałby bić pianę o javę w temacie o js?

Hispano-Suiza

@Afish: trzeba przerzucic zainteresowanie z js na cos co tez jest czesto kontrowersyjne. Padlo na jave :P