• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

JavaScript zastąpi CSS ?

Object Storage Arubacloud
+6 głosów
1,130 wizyt
pytanie zadane 9 lipca 2015 w JavaScript przez Tomatosoup Pasjonat (18,530 p.)
edycja 10 lipca 2015 przez Tomatosoup

Ostatnio powstają dyskusje na temat tego czy css jest dalej potrzebne.

https://css-tricks.com/the-debate-around-do-we-even-need-css-anymore/

Na css-tricks jest również sonda czy podoba ci się pomysł zarządzania css przez javascript

Tutaj dołączam ciekawy film o tworzeniu całych stron teoretycznie w samym javascriptcie, na wyłącznie wstawianiu html'a przez ten język.

https://www.youtube.com/watch?v=ERB1TJBn32c

Co o tym sądzicie ? Mnie osobiście korzystanie wyłącznie z js'a nie przekonuje co nie zmienia faktu że w wielu przypadkach jest wgodniej użyć go zamiast bezpośrednio css.

8 odpowiedzi

+11 głosów
odpowiedź 10 lipca 2015 przez Comandeer Guru (601,530 p.)

Głupota - tyle w temacie. Ten pomysł się zrodził z podstawowego niezrozumienia CSS-a przez devów FB, którzy stworzyli React.js…

Odrzucili oni wszelkie dobre praktyki przy wytwarzaniu oprogramowania (nie tylko stron!), a zwłaszcza podział na warstwy (na to samo zresztą cierpi Angular). Tym samym React jest SZKODLIWY DLA SIECI, gdyż łamie podstawowe zasady. I nie jestem w tym zdaniu odosobniony.

Toczyłem ostatnio dyskusję na ten temat.

A najlepsze jest to, że React jest mało wydajny a dobre wyniki osiąga dopiero przy naprawdę dużych dokumentach. Zatem jeśli nawet podstawowe założenie devowie FB skopali to nie ma sensu wgłębiać się w resztę ich gadaniny o "lepszej wydajności przy dużej skali" i "zwiększeniu produktywności", bo to mrzonki. Odrzucenie ugruntowanych OD LAT praktyk z powodu pojawienia się gorącego frameworku jest dla mnie GŁUPOTĄ i będę to uparcie powtarzał przy każdej okazji.

+2 głosów
odpowiedź 10 lipca 2015 przez Tomatosoup Pasjonat (18,530 p.)
Znalazłem fajny artykuł właśnie o tej sprawie popierający CSS i negujący Reacta:

http://keithjgrant.com/posts/against-css-in-js.html

Jego follow-up:

http://keithjgrant.com/posts/into-the-future-of-css.html
komentarz 10 lipca 2015 przez Comandeer Guru (601,530 p.)
Czytałem obydwa artykuły i w tym pierwszym uderzyła mnie jedna rzecz: gościu widzi wyraźnie, że połączenie CSS-a z JS-em jest złe, ale równocześnie nie widzi nic złego w łączeniu HTML-a z JS-em, twierdząc, że to naturalne. Nie zauważa, że HTML jest prymarnie warstwą treści, a nie zachowania, tak jak JS.
komentarz 10 lipca 2015 przez Comandeer Guru (601,530 p.)

Albo takie stwierdzenie:

 CSS should not depend on the markup; the markup should depend on the CSS. Or, more accurately, it should depend on the modular, reusable API defined by the CSS.

IMO równie chore. "API" dla JS obsługującego DOM i dla CSS powinno być ustalane na poziomie HTML-a, nie CSS-a… 

komentarz 10 lipca 2015 przez Tomatosoup Pasjonat (18,530 p.)

I think it actually made it worse, because we had to write more and more complicated code to try and abstract away this coupling

Tutaj o odseparowaniu js'a od html'a , pierwszy paragraf. Imho oddzielanie dwóch różych kodów, pomimo tego że ze sobą współpracują jest zabiegiem który tylko polepsza przejrzystość i łatwość w pisaniu.

(...)last time you had to deal with Backbone Views. It actually makes me feel sick to my stomach to think about. There was so much work for so little gain

Czy nie pisałeś gdzieś pozytywnie o backbonie ? Nie miałem z nim do czynienia, skomentujesz jego tezę ?

Your CSS should be wholly independent from your markup (and especially independent from your JavaScript).
 

Czy na pewno całkowicie ? Czy nie jest wygodniej czasami zmienić css na instrukcjach warunkowych js'a ?

komentarz 10 lipca 2015 przez Comandeer Guru (601,530 p.)

Imho oddzielanie dwóch różych kodów, pomimo tego że ze sobą współpracują jest zabiegiem który tylko polepsza przejrzystość i łatwość w pisaniu. 

Zwłaszcza, że przez lata opracowano sposób łączenia tego kodu - czyli przy pomocy [class]

 Nie miałem z nim do czynienia, skomentujesz jego tezę ? 

Widoki w Backbone po prostu rozdzielają kod HTML (trzymany zwykle w script[type="text/template"] czy podobnym) od przekazywanych mu danych. No i trzeba jeszcze przypiąć do niego zdarzenia. Tu jest dość dobry przykład: http://backbonejs.org/#View-delegateEvents 
IMO jest to super czytelne, no ale jak się zachwyci Angularem, to faktycznie może być nie do zgryzienia ;)

Czy nie jest wygodniej czasami zmienić css na instrukcjach warunkowych js'a ? 

Dopóki nie oberwiemy - tak ;) Pracując trochę przy kodzie wykorzystującym CSP nauczyłem się jednego: JS powinno jedynie zmieniać stan elementu (czyli klasę) i nie tykać CSS-a bezpośrednio. Jedynym wyjątkiem są IMO skomplikowane animacje.

+1 głos
odpowiedź 10 lipca 2015 przez L3t94 Użytkownik (900 p.)

Zacytuje kawałek z książki, którą mam pod ręką
 

Poprzez łączenie wielu technologii niejednokrotnie można osiągnąć dodatnie sprzężenie zwrotne i sprawić, że 2+2 wyniesie więcej niż 4. A to dlatego, że pewne techniki czy języki programownia mają swoje słabe i mocne strony i używając kilku z nich jednocześnie, wzajemnie niwelujemy wady.

komentarz 10 lipca 2015 przez Comandeer Guru (601,530 p.)
Tu nie chodzi o połączenie 2 technologii, tylko próbę zastąpienia jednej czy nawet dwóch przez JS, co akurat w Sieci jest skrajną głupotą
komentarz 10 lipca 2015 przez L3t94 Użytkownik (900 p.)
@Comandeer, zgadzam się. Faktycznie mogło to dwuznacznie zabrzmieć :).
+1 głos
odpowiedź 10 lipca 2015 przez Mieszko I Stary wyjadacz (10,980 p.)
To jest głupota łączyć dwa języki. CSS jest po to, aby stylizować stronę. Nie może być zastąpiony przez JavaScript. Przypatrz się HTMLowi. Stylizacja w nim to tylko mniejsza przejrzystość kodu i wiele niepotrzebnych atrybutów tagów. Jest to i nie wygodne i nie potrzebne. Pozdrawiam.
+1 głos
odpowiedź 10 lipca 2015 przez testerius Pasjonat (23,960 p.)
Mam nadzieję, że do tego nigdy nie dojdzie, albo powstaną inne, przyszłościowe praktyki i architektury, które będą dobre, logiczne i co najważniejsze będą zaliczane do oficjalnych standardów. Progressive Enhancement bardzo mi się podoba i uważam, że powinno tak zostać. Co prawda nie mam jeszcze na tyle dużej wiedzy odnośnie wytwarzania aplikacji webowych (wszak do tej pory klepałem tylko stronki), ale i tak wydaje mi się, że robienie wszystko przez JS to głupota zwłaszcza jeśli powstał PE. Nie wiem, może się nie znam...
komentarz 10 lipca 2015 przez Tomatosoup Pasjonat (18,530 p.)
Też wydaje mi się to całkowicie bez sensu i nie wiem skąd wziął się ten pomysł pakowania wszystkiego do jednego worka.
komentarz 10 lipca 2015 przez Comandeer Guru (601,530 p.)
Głównie z Reacta… Bo jakiś dev FB rzucił hasło, że tak jest lepiej… i ludzie uwierzyli.
+1 głos
odpowiedź 10 lipca 2015 przez iMineralis Początkujący (430 p.)
Po co zastąpić najprostszego CSS, w którym i tak można ładnie wystylizować stronę na miarę lat dziesiątych tegoż wieku, trudniejszym JS, który jest straszny dla początkujących programistów.
komentarz 10 lipca 2015 przez Comandeer Guru (601,530 p.)
Bo ponoć jest za prosty ;)
komentarz 10 lipca 2015 przez testerius Pasjonat (23,960 p.)
Co na to W3C? Czy jest gdzieś jakiś przejwa większego sprzeciwu, czy tylko kilku pasjonatów-wyjadaczy marudzi na swoich blogach, a cała reszta podąża za trendami, bo to w końcu takie "nowoczesne" i wow.
komentarz 10 lipca 2015 przez Comandeer Guru (601,530 p.)
Ostatnio czytałem opinię jednego z bardziej ogarniętych ludzi z CSS WG (Taba Atkinsa) i jest przerażająca. Stwierdził bowiem, że w grupach roboczych W3C siedzą ludzie związani z biznesem poszczególnych korpo, a nie ludzie mający wiedzę o technologiach sieciowych… Na szczęście on i kilka innych ludzi trzyma rękę na pulsie.

Nie patrzyłbym na W3C, bo ono i tak nie ma mocy sprawczej. W końcu HTML5 to w dużej mierze ustandaryzowanie konceptów, jakie środowiska webmasterów używało od lat… To od środowiska zależy jak się to wszystko rozwinie. Na szczęście fala sprzeciwu nie jest tak mała, jak zdawałoby się na pierwszy rzut oka i co bardziej rozgarnięci devowie z branży z nieufnością patrzą na to, co proponuje Angular czy React.
0 głosów
odpowiedź 10 lipca 2015 przez Boshi VIP (100,240 p.)
Czasem lepiej użyć JS, czasem wymagane jest to przez ograniczenia techniczne css-a ale generalnie  bardzo wątpliwe, że css zostanie całkowicie zastapiony js.  Wiadomo, że lepiej napisac 2 linijki Jquery niż 20 linijek css przy pewnych problemach, ale nie można uogulniać.
komentarz 10 lipca 2015 przez Schizohatter Nałogowiec (39,600 p.)
No ale hej, przecież JS manipulujący wyglądem, tak naprawdę manipuluje CSSem.
komentarz 10 lipca 2015 przez Boshi VIP (100,240 p.)
No tak, trochę nie rozumiem wątpliwości?
komentarz 10 lipca 2015 przez Schizohatter Nałogowiec (39,600 p.)
Też nie jestem pewien, co miałem wczoraj na myśli, ale chodziło mi o coś w stylu: "Przecież wystarczyło to podsumować jednym zdaniem" :P
komentarz 10 lipca 2015 przez Comandeer Guru (601,530 p.)
Ale tu się nie o to rozchodzi… tu się rozchodzi o wywalenie CSS na rzecz manipulowania stylami inline przez JS, co jest głupotą…
0 głosów
odpowiedź 10 lipca 2015 przez Dorion300 Szeryf (90,250 p.)
Może zastąpić ale wątpię. Js jest stworzony do wykonywania działania strony po stronie użytkownika, a nie pod stylizacje.
komentarz 10 lipca 2015 przez ReksetoDev Gaduła (4,530 p.)
nie tylko :p JavaScript to jezyk skryptowy co oznacza ze mozna go wykorzytac po stronie serwera robi to chyba nawet angular.js jesli sie nie myle i js ma wykorzystanie w pisaniu wtyczek do Adobe np :D
komentarz 10 lipca 2015 przez Comandeer Guru (601,530 p.)
Angular nie ma nic do serwera - wręcz najbardziej ze wszystkich frameworków unika współpracy z nim…

JS można wykorzystać do tworzenia aplikacji izomorficznych, czyli uruchamiających ten sam kod JS na serwerze i kliencie (patrz: Taunus).

Podobne pytania

0 głosów
2 odpowiedzi 1,370 wizyt
pytanie zadane 6 stycznia 2018 w JavaScript przez Vickul Stary wyjadacz (12,850 p.)
0 głosów
1 odpowiedź 361 wizyt
pytanie zadane 30 maja 2020 w JavaScript przez kubaa322 Użytkownik (710 p.)
0 głosów
1 odpowiedź 278 wizyt
pytanie zadane 7 listopada 2018 w JavaScript przez Scypyon Gaduła (3,450 p.)

92,576 zapytań

141,426 odpowiedzi

319,652 komentarzy

61,961 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...