Czy zapomnieć o jQuery i korzystać tylko z js?

0

Klika tygodni temu ktoś na forum zwrócił mi uwagę, że nie znam podstaw js, a korzystam z jQuery i dlatego miałem problem. Od tamtej pory intensywnie studiuję js i staram się korzystać tylko z niego. Niedawno usłyszałem opinię, że nie powinno się używać jQuery i dobry programista powinien umieć wszystko napisać samemu. Jak to jest? Czy dopóki bardzo dobrze nie opanuję js powinienem zapomnieć o jQuery i wszystko tworzyć czystym js, na zasadzie:

$(el).hide();
el.style.display = 'none';

Znam też ludzi, którzy bardzo dobrze znają js, a z jQuery wgl nie korzystają i wszystko robią za pomocą js, czy jest to jakaś skrajność, czy taka praktyka ma jakieś uzasadnienie?

1

Ja osobiście nie lubię wynajdywać na nowo koła i cenie swój czas.

0

O to właśnie chodzi. Byłbym skłonny podpisać się pod tym, że warto wiedzieć jak coś zrobić inaczej, ale w procesie nauki, dlatego dziwi mnie to, że niektórzy "utrudniają" sobie życie.

0

Tu nie chodzi jak zrobić coś inaczej, tylko o to, że powinieneś znać chociaż podstawy języka, w którym piszesz.

3

Nieużywanie jQuery to głupota, jeżeli jest taka możliwość, ale jednocześnie głupotą będzie dołączanie jQuery, jeżeli potrzebujesz z tego skorzystać w trzech linijkach w całym projekcie.

jQuery ma zestaw funkcji, których odpowiedniki natywnie dostępne są od niedawna (np. closest), a więc wsparcie żadne, albo minimalne. Wygodnie też się operuje na wyniku pobrania elementów z selektora (sporo zrobisz bez pętli). Do tego masa gotowców w tym frameworków.

ALE.

Jeżeli nie wiesz co to funkcja anonimowa, a piszesz $(document).ready(function() { /* tu kod */ }); BO TAK MA BYĆ, BO TAK PISAŁO no to gorzej, bo się pogubisz przy czymś co wymaga więcej niż jednego callbacka i czego nie znajdziesz w gotowcach typu "kopiuj-wklej" --- to tu jest dobra podstawa, by na chwilę odrzucić od siebie bibliotekę danego języka, a nauczyć się samego języka. Potem wiedzę wykorzystać razem z jQuery, ale żeby po prostu wiedzieć o co chodzi, a nie być jak dziecko we mgle.

1

Tak, **dobry ** programista JavaScript będzie w stanie sam napisać dowolną funkcję użytą w jQuery.

Nie, nie znaczy to, że masz porzucić jQuery kompletnie.

Zdecydowanie warto znać język, w którym tworzysz za pomocą biblioteki/frameworka, ale jeśli masz na stronie milion efektów wykorzystujących jQuery to nie opłaca się wyrzucać jQuery dla zasady i przepisywać przez pół roku wszystko samemu.

Po prostu czasami zdarzą się strony, gdzie chcesz zrobić tylko i wyłącznie prosty Fade In, czy nawet karuzelę, więc po co do tego zaprzęgać taką kobyłę jak jQuery? Nieefektywne to.

@dzek69 wyprzedził mnie o 40 sekund :)

0

Super, o to mi chodziło. To mam jeszcze jedno pytanie. Jeżeli mowa o karuzeli, to dajmy na to, że mam tylko jedną karuzelę na stronie. Zazwyczaj gotowce mają pierdyliard opcji, których moja karuzela nigdy nie wykorzysta. Lepiej takie coś napisać samemu, czyż nie?

1

Nie, po co wynajdywać koło od nowa i tracić na to czas?

1

Zależy.

Jeśli nie używasz poza tym jQuery w ogóle na stronie, to też nie ma sensu importować całej biblioteki.

Zawsze możesz posprawdzać na codepen.io czy jest coś w vanillaJSie.

Dodatkowo, jeśli masz nieograniczony czas/budżet warto czasami wynaleźć koło na nowo, by poćwiczyć i zyskać trochę wiedzy.

Oczywiście: zawsze mierz siłę na zamiary.

1

Jeśli sam nie wynajdziesz kilka razy koła, to ciężko będzie Ci samemu coś stworzyć nowego.

2
Fi3rce napisał(a):

Czy dopóki bardzo dobrze nie opanuję js powinienem zapomnieć o jQuery i wszystko tworzyć czystym js, na zasadzie:

$(el).hide();
el.style.display = 'none';

el.style.display to nie jest czysty JS XD osoba, która tak twierdzi albo nie zna podstaw JavaScriptu, albo robi potężny skrót myślowy.

Generalnie istnieje:

  1. Język programowania JavaScript, czyli podstawowe konstrukcje takie jak funkcja, obiekt czy pętla for albo warunek if.

  2. DOM API czyli funkcje wbudowane w przeglądarki służące do manipulowania obiektami na stronie (np. el.style.display = none się łapie pod to)

  3. biblioteki typu jQuery, Angular, React itp.

O ile język JavaScript (1) musisz znać, jak chcesz pisać w JavaScript (to logiczne chyba?), to jeśli chodzi o skrypty na stronie to i tak raczej większość osób nie jedzie na czystym DOM API (2), tylko używa jakiegoś jQuery czy innej biblbioteki(3). Bo tak jest prościej. jQuery jest fajne.

Z drugiej strony DOM API warto poznać, bo znając je będziesz rozumiał bardziej co się dzieje pod maską, oraz poradzisz sobie bez jQuery. Jeśli nie będziesz znał DOM API, i będziesz na poziomie "umiem tylko z jQuery, a bez jQuery nic" to raczej nie wyjdziesz poza poziom początkującego we frontendzie, no sorry. Więc jak to działa pod maska warto poznać, dla samej nauki, wiedzy i doświadczenia. Nawet jeśli potem w 90% będzie się używać jQuery.

Oczywiście, jeśli cię to jara. Są ludzie, którzy na codzień zajmują się czym innym, np. backendem, a JavaScriptem marginalnie, tylko jak muszą zrobić zdarzenie click na stronie. I używają jQuery i nic więcej nie umieją, i nawet nie potrzebują. Z drugiej strony jeśli chciałbyś zrobić w JS coś większego niż przysłowiowe zdarzenie click, to taka wiedza może nie wystarczyć...

0

Jeśli chodzi o naukę to od siebie polecam TypeScript'a i zabawę bez jQuery.
Pisze się przyjemniej niż w czystym js (jednak do którego jest i tak kompilowany, więc następnie możemy sobie obejrzeć jak wygląda odpowiednik w js), w przypadku Visual Studio dochodzi Intellisense (podpowiadanie składni) i od razu widzimy błędy.

0

dlaczego uważasz, że w TypeScripcie pisze się przyjemniej niż w JS?

1

Klasy, interfejsy, konstruktory, dziedziczenie, moduły, silne typowanie, poprawność kodu sprawdzana przed kompilacją, prywatne/publiczne funkcje i zmienne, getter/settery i trochę innych rzeczy, które można znaleźć w dokumentacji: http://www.typescriptlang.org/Handbook
Składnia przyjemniejsza dla osób, które w większości siedzą w C# i podobnych językach.

Jak dla mnie można to porównać do przejścia z CSS na LESS/SASS, nic nie tracimy a zyskujemy na czasie i wygodzie.

0
LukeJL napisał(a):

dlaczego uważasz, że w TypeScripcie pisze się przyjemniej niż w JS?

Co do typescripta, to ladne/fajne , ale umrze po wejsciu do powszechengo obegu ECMA 6, bo wszytsko plusy TS beda dostepne pod zwyklym JS. Oczywiscie na ECMA 6 jeszcze duzo wody uplynie, ale JS jest najbardziej rozwijajacym sie jezykiem w chwili obecnej.....

0

Lol. Przecież ES6 już się używa, bo są transpilatory. Od niedawna piszę projekt w React + ES6, używając Babela do kompilacji do JSX+ES6 i bardzo wygodnie się pisze.

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