js & jquery

R9
  • Rejestracja:ponad 14 lat
  • Ostatnio:ponad 4 lata
  • Postów:87
0

siema,
czy za pomocą jquery można napisać wszystko co jest możliwe do napisania w js ...tak wiem, że jquery to tylko biblioteka. Pisze tego posta ponieważ chce kupic ksiazke do nauki jQuery, ale nie wiem czy bez znajomości js to dobry pomysł ?


nigdy nie wiesz gdzie czai się sztruks...
ŁF
na przyszłość dawaj bardziej opisowy temat, bo jeśli nie byłby to dział newbie, to post już leżałby w koszu.
DA
  • Rejestracja:około 17 lat
  • Ostatnio:prawie 12 lat
1

a jak chcesz pisać w jquery nie znając js? zapewne w tej książce nie będzie wytłumaczona składnia js, zmienne, klasy i inne konstrukcje bo zakłada, że czytający to wie. to tak jak byś chciał pisać wiersze po angielsku nie znając angielskiego.


#define if(x) if(rand()%6 && (x)) u mad? <img src="http://e.deviantart.net/emoticons/t/trollface.png" alt="user image" />
edytowany 1x, ostatnio: dawidgarus
UB
  • Rejestracja:około 17 lat
  • Ostatnio:ponad 7 lat
0

Przeczytaj kurs na necie zanim książka przyjdzie. No i pytanie czy masz już doświadczenie z programowaniem.

edytowany 1x, ostatnio: ubuntuser
unikalna_nazwa
  • Rejestracja:około 14 lat
  • Ostatnio:ponad 9 lat
0
dawidgarus napisał(a):

a jak chcesz pisać w jquery nie znając js? zapewne w tej książce nie będzie wytłumaczona składnia js, zmienne, klasy i inne konstrukcje bo zakłada, że czytający to wie. to tak jak byś chciał pisać wiersze po angielsku nie znając angielskiego.

tak, zwłaszcza na pewno nie wytłumaczą klas w js ;)
ja bym powiedział raczej że próba uczenia się jquery bez znajomości js, jest jak próba uczenia się C++ bez znajomości C - czyli nic niezwykłego
podejrzewam że w tej książce będzie wytłumaczona podstawowa składnia js, bo inaczej książka nie miałaby targetu - ludzie którzy potrafią pisać w js raczej nie potrzebują książki do obsługi tak banalnej biblioteki jaką jest jQuery

"czy za pomocą jquery można napisać wszystko co jest możliwe do napisania w js?"
o ile ktoś wcześniej napisał do tego plugina ;)


Pół giga extra na dropboxie? Pół giga extra na dropboxie! Tyle wygrać! >>Klik here<<
edytowany 1x, ostatnio: unikalna_nazwa
R9
  • Rejestracja:ponad 14 lat
  • Ostatnio:ponad 4 lata
  • Postów:87
0
ubuntuser napisał(a):

Przeczytaj kurs na necie zanim książka przyjdzie. No i pytanie czy masz już doświadczenie z programowaniem.

tak mam.

hm, słyszałem, że jQuery bardzo ułatwia pracę przy js. Czyli co polecalibyście w pierwszej kolejności ogarnąć js, a dopiero potem brać się za jQuery ?


nigdy nie wiesz gdzie czai się sztruks...
UB
spytaj gościa @WITCHER , on pisał w jQuery nie znając JS
ŁF
Moderator
  • Rejestracja:ponad 22 lata
  • Ostatnio:9 dni
1

dobrze powiedziane. jQuery UŁATWIA pracę z js. nie zastępuje go, nie programujesz w innym języku. jQuery to tylko bardzo wygodna biblioteka. używanie jQuery bez znajomości js jest jak jazda samochodem bez znajomości praw rządzących ruchem drogowym.


MVC
  • Rejestracja:około 13 lat
  • Ostatnio:prawie 11 lat
1

Cóż ja korzystałem z jQuery dosyć sporo bez znajomości JS - ale to nie znaczy, że nie znałem zasad programowania... znałem wtedy troszkę PHP więc jQuery łatwo mi podchodziło (tak, wiem że te języki mają do siebie tyle co pralka do lodówki).
Korzystałem z tego: http://helion.pl/ksiazki/jquery-poradnik-programisty-wlodzimierz-gajda,jquepp.htm ale jakby nie patrzeć to już stare jest wiec sugerowałbym to: http://helion.pl/ksiazki/jquery-od-nowicjusza-do-wojownika-ninja-earle-castledine-craig-sharkie,jqnoni.htm

Nie wiem czy dobrze zrobiłem ucząc się jQuery nie znając JS ale nie odczuwałem jakoś za bardzo braków zwłaszcza, że miałem konkretny cel.
http://jquery.com/ mnóstwo przykładów
http://ui.jquery.com/ - też znajdziesz coś dla siebie.

Tak czy inaczej jeżeli masz taką możliwość to poczytaj chociaż o totalnych podstawach js: http://pl.wikibooks.org/wiki/JavaScript na pewno Ci to zaowocuje.

edytowany 2x, ostatnio: MVC
somekind
Moderator
  • Rejestracja:około 17 lat
  • Ostatnio:około 23 godziny
  • Lokalizacja:Wrocław
0

Jaka wiedza o JS jest potrzebna do korzystania z jQuery? Umiejętność deklarowania zmiennych?
W praktyce, to wszystko można skleić z sampli i tutoriali do jQuery, których w necie pełno.

BS
  • Rejestracja:ponad 15 lat
  • Ostatnio:około 12 lat
2

Nie wiem, czy jQuery jest jakkolwiek lepsza od tych bibliotek z innych języków programowania, które są udane i wygodne (i relatywnie bardzo łatwe) do stosowania w swojej dziedzinie, przy czym -- jednocześnie -- praca w tej dziedzinie jest efektowna.

Ważne stwierdzenie: jQuery nie ulepsza samego JavaScriptu. No, odrobinkę to robi, ale robi to akurat... bardzo słabo. Istnieją biblioteki, które jednocześnie są mniejsze i znacznie bardziej ułatwiają nam poruszanie się po języku JavaScript (np. biblioteka Underscore.js).

jQuery za to rewelacyjnie sprawdza się podczas manipulacji drzewem dokumentu (DOM). Sęk w tym, że JavaScript jest obecnie najczęściej wykorzystany na stosunkowo prostych frontendowo witrynach, właśnie do manipulacji na DOM. Jakby tego było mało, dostępne w przeglądarkach API DOM, ustandaryzowane przez W3C, jest bardzo słabe i niewygodne. jQuery zapewnia dużo wygodniejszy i lepszy interfejs do manipulacji DOM. Jednocześnie, jQuery wypełnia luki w implementacji DOM, istniejące szczególnie w starszych przeglądarkach.

Proszę jednak pamiętać, że DOM to tylko jedna warstwa. Coś w rodzaju warstwy widoku.

W nietrywialnych aplikacjach JavaScriptowych dzieje się dużo, dużo więcej. Trzeba napisać normalną logikę, tak samo jak przy programowaniu w każdym innym języku.

Do jQuery istnieje spory zestaw wtyczek, które dostarczają nam gotowce. Walidacja formularzy, popupy/lightboxy, karuzele... Większość z tych rzeczy można bardzo prosto podpiąć pod naszą stronę. Faktycznie, nie potrzeba być specem od JavaScriptu żeby napisać $("#mójFormularz").validate() i ew. przekazać do metody kilka opcji. Ale to jeszcze nie znaczy, że "napisaliśmy własną walidację formularzy w jQuery". Nie, my po prostu odpaliliśmy gotowca i ew. lekko go skonfigurowaliśmy.

Problem powstaje, gdy twórcy danego gotowca nie przewidzieli czegoś, co my chcemy osiągnąć. Albo nie odwalili wcale takiej dobrej roboty. To się wbrew pozorom dzieje dość często. Popularne pluginy do jQuery nie są bardzo słabe, ale też często nie są zbyt dobre.

Co jeśli chcemy, by nasze tooltipy działały sprawnie nawet gdy użytkownik korzysta z klawiatury i klawisza TAB? Co jeśli to w takich tooltipach chcemy wyświetlać komunikaty o błędzie?Co jeśli chcemy, by po 10 sekundach od wysłania żądania ajaxowego wyświetlił się komunikat mówiący, że operacja trwa niespotykanie długo i umożliwiający ponowne wysłanie żądania? Co jeśli do naszej dynamicznej turbo-tabelki chcemy dodać pięćsetny wiersz, a nasze algorytmy -- choć tego nie widzimy -- mają złożoność O(n^3)? Co jeśli po wybraniu jednej opcji z selecta nr 1 chcemy zmienić opcje w selekcie nr 2?

Rety, ile już razy ludzie pisali o takich rzeczach na forum...

Za każdym razem, gdy przychodzi do napisania czegoś nieskomplikowanego, użytkownik jQuery nie znający dobrze JavaScriptu co najmniej mocno się poobija, programując przypadkowo. Jeśli aplikacja zrobi się odpowiednio duża, stanie się wkrótce niemal niemożliwa w utrzymaniu. Powtórzenia kodu będą potężne. Zamiast uwspólnić i uabstrakcyjnić system okienek, komponentów czy formularzy tak, by nowe instancje tych elementów można było składać z klocków (być może całkowicie automatycznie), za każdym razem rzeczy te będą pisane od nowa, na pałę, w N linijkach płaskiego, słabego "kodu jQuery".

Pracował ktoś kiedyś nad większymi projektami? Takimi na trzycyfrową liczbę roboczodni samego front-endu? Proponował ktoś z Was rozwiązania problemów biznesowych na tyle "nowatorskie", że nie ma na nie gotowców? Doszedł ktoś z Was kiedyś do wniosku, że wszystkie dostępne gotowce nawet do tak popularnej rzeczy jak wyświetlanie okienek ligthboxowych są w sumie niezbyt super i mało elastyczne?

Jeśli tak to wiecie, że nie da się zrobić tych rzeczy nie mając pewnej znajomości JS. Znajomości, która w naszej branży uchodzi już niestety za "potężną", mimo iż w rzeczywistości taka nie jest.

Taaak, każdy może napisać $(".cośtam").show() i cieszyć się z pięknej animacji rozsuwającej dany element i zmieniającej poziom jego przezroczystości. Osoba ta może nie mieć zielonego pojęcia o asynchroniczności metody .show(), hackach na różne przeglądarki jakich wymaga przezroczystość i wszystkich algorytmach, które tam siedzą. Algorytmach niespecjalnie super skomplikowanych, ale będących lata świetlne poza naszym zasięgiem, bo my nawet nie znamy języka, którego używamy (!).

Łatwość użycia rzeczy w stylu .show() świadczy o sile biblioteki. Ale nie czyni z nas osoby, która byłaby w stanie napisać cokolwiek, co czyniłoby z nas kogokolwiek innego niż najniższego możliwego klepacza kodu. To chyba oczywiste, prawda?

Oczywiście, problem powstaje, gdy po tym .show() chcemy coś zrobić i nie rozumiemy, czemu wywołanie umieszczone linijkę niżej jest wykonywane zanim jeszcze element się pokaże (*). Ale czy można naprawdę wytłumaczyć komuś, czemu tak się dzieje? Czy można mówić o asynchroniczności, o kontynuacjach i domknięciach, jeśli osoba ta funkcje anonimowe zna tylko z widzenia, z tutoriali, i nigdy się nad nimi nie zastanawiała?

Dużo osób prędzej czy później trafia na ścianę. Może wszyscy. Nie mogą zdebugować jakiegoś problemu lub zaimplementować dokładnie tego, co chce klient. Myślą, że są o krok, bo "robią coś prawie takiego samego". Ale oni tego nie robią, tylko wywołują odpowiednie, gotowe funkcje. A teraz trzeba napisać własną. I jest tragedia, bo to dwa zupełnie inne światy.

Może taka analogia...

Czy da się pisać w Swingu, nie znając Javy? :) Przecież Swing pracuje na warstwie będącej odpowiednikiem DOM w przeglądarce. Wspomagając się jakimś IDE typu RAD, z drag'n'dropem i w ogóle, można by pewnie zrobić w Swingu aplikacyjkę, która na pierwszy rzut oka wyglądałaby całkiem profesjonalnie! Tylko czy wtedy naprawdę jesteśmy programistami? Czy tylko tak się trochę bawimy?

Różnica jest taka, że jQuery jest wygodniejsze od Swinga i nie potrzebuje drag'n'dropa, oraz prawdopodobnie ma więcej darmowych wtyczek, większą bibliotekę gotowców.

(*) Pisałem tutaj akurat o .show(), ale tak naprawdę problemem była asynchroniczność. Przed chwilą na forum został napisany post, w którym użytkownik ma dokładnie ten problem: http://4programmers.net/Forum/Webmastering/200467-ajax_+_zakres_zmiennych_w_js?p=856931#id856931

edytowany 1x, ostatnio: bswierczynski
Kliknij, aby dodać treść...

Pomoc 1.18.8

Typografia

Edytor obsługuje składnie Markdown, w której pojedynczy akcent *kursywa* oraz _kursywa_ to pochylenie. Z kolei podwójny akcent **pogrubienie** oraz __pogrubienie__ to pogrubienie. Dodanie znaczników ~~strike~~ to przekreślenie.

Możesz dodać formatowanie komendami , , oraz .

Ponieważ dekoracja podkreślenia jest przeznaczona na linki, markdown nie zawiera specjalnej składni dla podkreślenia. Dlatego by dodać podkreślenie, użyj <u>underline</u>.

Komendy formatujące reagują na skróty klawiszowe: Ctrl+B, Ctrl+I, Ctrl+U oraz Ctrl+S.

Linki

By dodać link w edytorze użyj komendy lub użyj składni [title](link). URL umieszczony w linku lub nawet URL umieszczony bezpośrednio w tekście będzie aktywny i klikalny.

Jeżeli chcesz, możesz samodzielnie dodać link: <a href="link">title</a>.

Wewnętrzne odnośniki

Możesz umieścić odnośnik do wewnętrznej podstrony, używając następującej składni: [[Delphi/Kompendium]] lub [[Delphi/Kompendium|kliknij, aby przejść do kompendium]]. Odnośniki mogą prowadzić do Forum 4programmers.net lub np. do Kompendium.

Wspomnienia użytkowników

By wspomnieć użytkownika forum, wpisz w formularzu znak @. Zobaczysz okienko samouzupełniające nazwy użytkowników. Samouzupełnienie dobierze odpowiedni format wspomnienia, zależnie od tego czy w nazwie użytkownika znajduje się spacja.

Znaczniki HTML

Dozwolone jest używanie niektórych znaczników HTML: <a>, <b>, <i>, <kbd>, <del>, <strong>, <dfn>, <pre>, <blockquote>, <hr/>, <sub>, <sup> oraz <img/>.

Skróty klawiszowe

Dodaj kombinację klawiszy komendą notacji klawiszy lub skrótem klawiszowym Alt+K.

Reprezentuj kombinacje klawiszowe używając taga <kbd>. Oddziel od siebie klawisze znakiem plus, np <kbd>Alt+Tab</kbd>.

Indeks górny oraz dolny

Przykład: wpisując H<sub>2</sub>O i m<sup>2</sup> otrzymasz: H2O i m2.

Składnia Tex

By precyzyjnie wyrazić działanie matematyczne, użyj składni Tex.

<tex>arcctg(x) = argtan(\frac{1}{x}) = arcsin(\frac{1}{\sqrt{1+x^2}})</tex>

Kod źródłowy

Krótkie fragmenty kodu

Wszelkie jednolinijkowe instrukcje języka programowania powinny być zawarte pomiędzy obróconymi apostrofami: `kod instrukcji` lub ``console.log(`string`);``.

Kod wielolinijkowy

Dodaj fragment kodu komendą . Fragmenty kodu zajmujące całą lub więcej linijek powinny być umieszczone w wielolinijkowym fragmencie kodu. Znaczniki ``` lub ~~~ umożliwiają kolorowanie różnych języków programowania. Możemy nadać nazwę języka programowania używając auto-uzupełnienia, kod został pokolorowany używając konkretnych ustawień kolorowania składni:

```javascript
document.write('Hello World');
```

Możesz zaznaczyć również już wklejony kod w edytorze, i użyć komendy  by zamienić go w kod. Użyj kombinacji Ctrl+`, by dodać fragment kodu bez oznaczników języka.

Tabelki

Dodaj przykładową tabelkę używając komendy . Przykładowa tabelka składa się z dwóch kolumn, nagłówka i jednego wiersza.

Wygeneruj tabelkę na podstawie szablonu. Oddziel komórki separatorem ; lub |, a następnie zaznacz szablonu.

nazwisko;dziedzina;odkrycie
Pitagoras;mathematics;Pythagorean Theorem
Albert Einstein;physics;General Relativity
Marie Curie, Pierre Curie;chemistry;Radium, Polonium

Użyj komendy by zamienić zaznaczony szablon na tabelkę Markdown.

Lista uporządkowana i nieuporządkowana

Możliwe jest tworzenie listy numerowanych oraz wypunktowanych. Wystarczy, że pierwszym znakiem linii będzie * lub - dla listy nieuporządkowanej oraz 1. dla listy uporządkowanej.

Użyj komendy by dodać listę uporządkowaną.

1. Lista numerowana
2. Lista numerowana

Użyj komendy by dodać listę nieuporządkowaną.

* Lista wypunktowana
* Lista wypunktowana
** Lista wypunktowana (drugi poziom)

Składnia Markdown

Edytor obsługuje składnię Markdown, która składa się ze znaków specjalnych. Dostępne komendy, jak formatowanie , dodanie tabelki lub fragmentu kodu są w pewnym sensie świadome otaczającej jej składni, i postarają się unikać uszkodzenia jej.

Dla przykładu, używając tylko dostępnych komend, nie możemy dodać formatowania pogrubienia do kodu wielolinijkowego, albo dodać listy do tabelki - mogłoby to doprowadzić do uszkodzenia składni.

W pewnych odosobnionych przypadkach brak nowej linii przed elementami markdown również mógłby uszkodzić składnie, dlatego edytor dodaje brakujące nowe linie. Dla przykładu, dodanie formatowania pochylenia zaraz po tabelce, mogłoby zostać błędne zinterpretowane, więc edytor doda oddzielającą nową linię pomiędzy tabelką, a pochyleniem.

Skróty klawiszowe

Skróty formatujące, kiedy w edytorze znajduje się pojedynczy kursor, wstawiają sformatowany tekst przykładowy. Jeśli w edytorze znajduje się zaznaczenie (słowo, linijka, paragraf), wtedy zaznaczenie zostaje sformatowane.

  • Ctrl+B - dodaj pogrubienie lub pogrub zaznaczenie
  • Ctrl+I - dodaj pochylenie lub pochyl zaznaczenie
  • Ctrl+U - dodaj podkreślenie lub podkreśl zaznaczenie
  • Ctrl+S - dodaj przekreślenie lub przekreśl zaznaczenie

Notacja Klawiszy

  • Alt+K - dodaj notację klawiszy

Fragment kodu bez oznacznika

  • Alt+C - dodaj pusty fragment kodu

Skróty operujące na kodzie i linijkach:

  • Alt+L - zaznaczenie całej linii
  • Alt+, Alt+ - przeniesienie linijki w której znajduje się kursor w górę/dół.
  • Tab/⌘+] - dodaj wcięcie (wcięcie w prawo)
  • Shit+Tab/⌘+[ - usunięcie wcięcia (wycięcie w lewo)

Dodawanie postów:

  • Ctrl+Enter - dodaj post
  • ⌘+Enter - dodaj post (MacOS)