Sziasztok!
Szeretnék elmélyedni a JavaScript nyelvben. Tudtok ajánlani olyan könyveket, oldalakat stb.-t, ahonnan meg lehet tanulni jól? Java/Scala fejlesztő vagyok, szeretném a JS-t úgy elsajátítani, hogy a JS szellemiségét, saját konstrukcióit, gondolkodásmódját is megértsem, ne csak olyan legyek aki Java-JavaScriptet ír.
Köszi,
M.
- 13077 megtekintés
Hozzászólások
Kezdj el ganyolni veszettul es maris a community teljes jogu tagja lehetsz ;)
- A hozzászóláshoz be kell jelentkezni
+1 :D
- A hozzászóláshoz be kell jelentkezni
+1
- A hozzászóláshoz be kell jelentkezni
Regi bukmarkok, de szerintem mind kotelezo:
http://www.yuiblog.com/crockford/
http://weblabor.hu/cikkek/oojsafelszinalatt
http://weblabor.hu/cikkek/oojsafelszinfolott
http://www.webreference.com/js/column79/index.html
http://www.webreference.com/js/column80/index.html (plusz a tobbi, amit meg itt kedvedre valonak talalsz)
http://www.crockford.com/javascript/inheritance.html
http://www.klauskomenda.com/code/javascript-programming-patterns/
- A hozzászóláshoz be kell jelentkezni
Köszi neked is!
- A hozzászóláshoz be kell jelentkezni
Nem kötekedni akarok, nem is értek a javascripthez, de amit észrevettem, az vicces:
Ebben a fentebb ajánlott cikkben http://weblabor.hu/cikkek/oojsafelszinfolott lényegében az első javascript programsor:
var mouse = new Object();
Ezzel szemben a Crockford JavaScript: The Good Parts könyv Bad Parts (!!!) részében (B.11 szakasz, 231. oldal) mit olvasok?
"An even better coping strategy is to not use new at all."
- A hozzászóláshoz be kell jelentkezni
Egyertelmuen nincs olyan, hogy "igy programozz jol JS-ben" :) Idorol idore valtozik a dolog: tapasztalatok, tesztek, bongeszok, "trendek" fuggvenyeben. A fenti cikk cirka 6 eves, azota sokat valtozott a webes vilag es egy folyamatos valtozas alatt van, lasd: AMD, TDD, automatizaciok, stb.
- A hozzászóláshoz be kell jelentkezni
Azt is írja, hogy az == veszélyes, teljesen jogosan. De az elején meg azt írja, hogy "Attempting to retrieve values from undefined will throw a TypeError exception. This can be guarded against with the && operator". Gyk:
window.van = "x"
window.van && window.van.length => 1
window.nincs.length => error, pont ez ellen akarunk védekezni
window.nincs && window.nincs.length => undefined
De ha kötekedni akarok:
window.hoppa = ""
window.hoppa && window.hoppa.length => "" <= így járás
Létezik olyan &&-szerű operátor, ami nem szalad bele a 0/false/"" csapdába? Vagy muszáj a fullos undefined ellenőrzés?
- A hozzászóláshoz be kell jelentkezni
(window.hoppa instanceof Object) && window.hoppa.length
ja és
window.tomb = []
(window.tomb instanceof Object) && window.tomb.length => true
- A hozzászóláshoz be kell jelentkezni
"" instanceof Object => false
false instanceof Object => false
- A hozzászóláshoz be kell jelentkezni
Természetesen az alap osztályoknál már egyáltalán nem divat new-t írni, hanem new Object() helyett {}, new Array() helyett []. Ellenben tisztába kell lenni a dologgal, mert amikor majd elkezdesz "osztályokat örököltetni" és példányosítod őket még jól fog jönni a tudás
-
Ping-conf beszámoló
- A hozzászóláshoz be kell jelentkezni
Van egy jo konyv a temaban - JavaScript for PHP developers.
Ha ezzel megvagy, van egy screencast sorozat: http://www.letscodejavascript.com/
- A hozzászóláshoz be kell jelentkezni
A modern ("idiomatikus") javascript egyértelműen Crockford 2007-es előadásával indul:
Douglas Crockford: The JavaScript Programming Language
Ezt a videót éveken át minden új JS fejlesztővel végignézettem.
Az ebből született rövid, de rendkívül tömény könyv anno a Nokia Maps fejlesztői szobájában majdnem minden asztalon ott volt:
Douglas Crockford: JavaScript - The Good Parts
Ezek vezetik be a JS-t mint funkcionális nyelvet.
2010 januárjában Crockford újrafogalmazta az előadást, ebből lett a fent már linkelt előadássorozat:
Persze linkelhetném Stoyan Stefanov Javascript Patterns-jét, vagy Resig összefoglalóját a Pro JavaScript Techniques -ben, egy csomó jó könyvet, de innen indul minden (Resig is az első videó hatására írta meg a jQuery-t). Szóval szerintem itt érdemes kezdeni.
- A hozzászóláshoz be kell jelentkezni
Köszi, ezek remekek. Pont ilyesmire gondoltam. :)
- A hozzászóláshoz be kell jelentkezni
anno a Nokia Maps fejlesztői szobájában majdnem minden asztalon ott volt
:-D Hogy még mindig vannak emberek, akik pozitív érvként hoznak fel olyasmit, hogy a Nokiánál mi volt...
- A hozzászóláshoz be kell jelentkezni
Azert a Nokia es a Nokia Maps fejlesztoi !=. Sokan a terkep miatt vettek csak a Nokiat.
- A hozzászóláshoz be kell jelentkezni
Kíváncsi volnék ugyanerre az előadásra az azóta történt változások fényében.
- A hozzászóláshoz be kell jelentkezni
Feliratkozom.
- A hozzászóláshoz be kell jelentkezni
+1
- A hozzászóláshoz be kell jelentkezni
+1
- A hozzászóláshoz be kell jelentkezni
.
- A hozzászóláshoz be kell jelentkezni
+1
- A hozzászóláshoz be kell jelentkezni
+1
- A hozzászóláshoz be kell jelentkezni
+1
- A hozzászóláshoz be kell jelentkezni
+1
- A hozzászóláshoz be kell jelentkezni
subs
- A hozzászóláshoz be kell jelentkezni
===============================================================================
// Hocus Pocus, grab the focus
winSetFocus(...)
http://c2.com/cgi/wiki?FunnyThingsSeenInSourceCodeAndDocumentation
- A hozzászóláshoz be kell jelentkezni
/facepalm
- A hozzászóláshoz be kell jelentkezni
- A hozzászóláshoz be kell jelentkezni
+1
- A hozzászóláshoz be kell jelentkezni
subscribe
- A hozzászóláshoz be kell jelentkezni
sub
- A hozzászóláshoz be kell jelentkezni
+1
--
blogom
- A hozzászóláshoz be kell jelentkezni
[Feliratkozás]
- A hozzászóláshoz be kell jelentkezni
:) amikor JS-t tanultam, nem találtam igazán jó könyvet. Egyik ezt mondta, a másik azt...
JS-ben sokféleképp meg lehet oldani bizonyos problémákat, amelyek más nyelvekben egyértelműek. Pl. névterek létrehozása.
Maga a nyelv, szerintem, egyszerű, nem igényel sok olvasást. A kód rendszerezése ami problémásabb. Pl. hogyan példányosítasz egy osztályt, örököltetsz vagy beágyazol, stb.
A JS megtanulására javallom:
- megérteni a prototype alapú öröklést, closure-t (gyakorlás által)
- kódolni sokat, összerakni egy több osztályból álló progit
- kipróbálni a különböző megoldásokat azonos problémára
- nagyobb lib-ek forráskódjának nézegetése
- nem használni jQuery-t, MVC frameworkot stb. ami félrevezeti a tanulást
Írj mondjuk egy egyszerű játékot, ahol vannak egymásba ágyazott grafikus objektumok, callback-ek, event handling.
Tudsz használni Canvas libeket, pl. kineticjs, easeljs, stb. Ezzel az alap nyelvet, eszközöket jól meg lehet érteni + látványos a végeredmény.
A másik terület, a HTML DOM működésének a megértése...
Jav: sorry, egy része rád nem vonatkozik a Scala miatt :)
Javallott referencia doksik, chrome dev tools és profiles használata.
- A hozzászóláshoz be kell jelentkezni
subscribe
- A hozzászóláshoz be kell jelentkezni
+ subscribe
* Én egy indián vagyok. Minden indián hazudik.
- A hozzászóláshoz be kell jelentkezni
> gondolkodásmódját
LOL
- A hozzászóláshoz be kell jelentkezni
Ezaz. Kőkemény szakmaiság. Ezt szeretem a hup-ban :D
- A hozzászóláshoz be kell jelentkezni
Csak lazán kapcsolódik, de hátha segít, egy mapping Dart és JS, Dart és C#, Dart és Python között. Én pl. ez alapján tanultam meg a Python alapokat, és gyors ránézésre a JavaScript alapokhoz is segítség lehet:
https://www.dartlang.org/docs/synonyms/
Ha esetleg a Dart is érdekel bővebben:
https://www.dartlang.org/articles/idiomatic-dart/
- A hozzászóláshoz be kell jelentkezni
Ez a Dart a Google féle Dart? Van benne potenciál, érdemes megtanulni?
--
blogom
- A hozzászóláshoz be kell jelentkezni
Igen, az, és igen, szerintem érdemes megtanulni.
Másfél éve dominánsan csak ebben fejlesztek, és ha rajtam múlik, akkor nem választanék más nyelvet. Egy jódarabig csak a Google-en belül vették komolyan, ma már egyre több az ebben fejlesztett éles oldal, pl: http://ps4showcasestage.software.eu.playstation.com/
< /erősen-elfogult-vélemény >
- A hozzászóláshoz be kell jelentkezni
sub
- A hozzászóláshoz be kell jelentkezni