Jump to content
php.lv forumi
  • 0

JS patterni/oop


hjkl

Question

Esmu iesācējs, kam ir vēlme iemācīties sakarīgi rakstīt JS, zinu tikai pamatus.

Tomēr google/un tml. valda liela putra par patterniem/oop implementāciju un nav skaidrs kur ķerties klāt.

 

Principā no fw zinu tikai jQuery, no organizācijas lietoju object literal un revealing module patternu. To, kas aprakstīts šeitan:

http://learn.jquery.com/code-organization/concepts/

 

Kas tagad būtu tas, ko iemācīties? Ko jūs ikdienā lietojat?

Googlē bieži uzpeldēja Backbone.js un klienta MVC varācijas, varbūt to?

Link to comment
Share on other sites

3 answers to this question

Recommended Posts

  • 0

No šāda aspekta javascripts ir draņķīga valoda un nav īsti piemērota OOP, jo tajā nav klases, bet ir prototipi. Saprotam, ka jebkurā Tūringa pilnā valodā var simulēt jebko, bet nu tas jau vairs nav skaisti.
Tieši šī iemesla dēļ Google ir izlaidusi jaunu valodu - Dart, ar kuru cer aizstāt javascriptu un pagaidām saderībai izmantot savienojamu kompilātoru, kurš pārveido no šīs valodas uz javascriptu: https://www.dartlang.org/
Es personiski neesmu izmantojis, jo tik sarežģītas js aplikācijas, lai kas tāds būtu vajadzīgs, neesmu veidojis. Ikdienā pārsvarā pietiek ar jquery un jqueryui. Parasti visu dalu jquery widget-os, kurus veidoju ar jquery widget factory. Tie nedaudz atgādina klases, jo tos var mantot, tiem ir iekšējs stāvoklis, konstruktori, destruktori, publiskas un privātas metodes.

Ir izmantots arī Angular, bet tas dažreiz sagādā galvas sāpes, lai izdarītu kādas vienkāršas, bet nestandarta lietas.

Link to comment
Share on other sites

  • 0

Nekad neesmu sapratis cilvēku apsēstību ar patterniem. Es rakstu kodu tā, kā to uzskatu par pareizu. Ja tas sakrīt ar kaut kādu patternu - man vienalga.

Palasīties jau var, bet tikai idejas smelties, ne jau reāli "vot tagad es visur taisīšu tā".

 

Ja tu gribi tīru OOP valodu, tad tev derētu pamācīties Java vai ko tamlīdzīgu, tiesa, browseros to izmantot gan nevajadzētu.

 

Tieši par JS runājot, man ir tāda pati situācija kā codez - nekad nav bijusi reāla vajadzība pēc kā jaudīgāka par jquery. Tiesa, es iztieku bez widgetiem, jo nerakstu one-page JS aplikācijas, man JS kalpo tikai kaut kādām pārbaudēm, ajax un popupiem (ar jquery ui dialog pietiek).

Link to comment
Share on other sites

  • 0

Par patterniem - arī uzskatu, ka tos vajag lietot, ja Tu jūti "natural fit" jeb tas makes real sense pielietojumā, taču tā nav, ka es meklēju kaut kādas patternu idejas, ko pielietot kodā, parasti ir otrādi, ka man ir kaut kādi izveidojušies ieradumi lietot noteiktus risinājumus noteiktās situācijās, un tad es saredzu līdzību šiem ieradumiem ar patternu aprakstiem. 

Pieņemu, ka firmās vecākie programmētāji "iesaka" lietot šādu vai tādu patternu, bet jaunais programmētājs īsti nesaprot, kāpēc tas vajadzīgs.. bet es arī nelietotu, ja tas doesn't make sense.

Par tiem var ievākt informāciju, lai būtu smadzenēs kaut kāds "iespējamais scenārijs", kas lai tur sēž, līdz radīsies klikšķis... vai neradīsies.

 

Tam pašam JS ir daudzas bibliotēkas,kas simulē OOP, super vienkāršs variants ir http://ejohn.org/blog/simple-javascript-inheritance/

 

Tagad ir arī daudzas šādas te kompilējamās-uz-Javascript valodas, tā kā mierīgi var izvēlēties to pašu Dart vai citu, kas sirdij tīk.. es iesaku Haxe, kas jau ir tuvāk Actionscript3 pēc līdzības un tajā ir klasiskās OOP un citas lietas.

Edited by gurkjis
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...