KnockoutJS

http://knockoutjs.com/

  • čini mi se jako zanimljiv framework. Ima li itko iskustva s istim?

Malo pogledao, nisam do sada vidio ništa slično a tako izvedeno u JS svijetu.
No recimo pristup je raširen za component based tehnologije. Razvoj u Flexu ili androidu je mislim sličan i pitao sam se zašto to nitko nije izveo u javascriptu.
Za HTML elemente se vežu event handleri i propetiji od elementa.

Sumnjam da će zaživjeti ali mislim da je za izradu sučelja komponent based pristup najbolji pogotovo u ovom slučaju jer se dobiva jednostavan a opet čist MVC.
Alternativa je puno kompliciranija i ima puno više koda, ali ako u PHP nije prošlo sumnjam da će kod javascripta.

Ja sam slučajno naletio na taj knockoutjs dok sam pregledavao jedan asp.net mvc video, pa reko da vidim jel ima tko kod nas da je radio s istim. Čini mi se jako zanimljivim, a i upotrebljivim, pogotovo što ga je lako upariti s bilo kojim JS frameworkom, u spomenutom video je čovjek koristio jQuery template i mogu reći da sam bio oduševljen lakoćom integracije te dvije biblioteke.

Baš ću probat malo s tim raditi da vidim kako je. Čini mi se da bi bio jako upotrebljiv kod grafova i sličnih chart prikaza.

Neke stvari bi trebale biti puno jednostavnije za napraviti i puno manje koda.
Ako pošalješ neki ajax request na server i vratiti ti se json, trebaš ga samo spojiti sa objektom u javascriptu koji služi kao model tog elementa. I to je to.

[quote=“gorrc”]Neke stvari bi trebale biti puno jednostavnije za napraviti i puno manje koda.
Ako pošalješ neki ajax request na server i vratiti ti se json, trebaš ga samo spojiti sa objektom u javascriptu koji služi kao model tog elementa. I to je to.[/quote]

Pa da i upravo te “stvarčice” su me oduševile, nema puno petljanja i pisanja dugačkog koda:

var myViewModel = {
    firstName: ko.observable('Creatif'),
    lastName: ko.observable('Code')
};

<p>First name: <strong data-bind="text: firstName"></strong></p>
<p>Last name: <strong data-bind="text: lastName"></strong></p>
<p>First name: <input data-bind="value: firstName" /></p>
<p>Last name: <input data-bind="value: lastName" /></p>

I to je sve, sad svaki put kad se promijeni value input boxa firstName i lastName varijable svuda u view template gdje stoji text: firstName i text: lastName se mijenja vrijednost. Unbelivable.

[quote=“CreatifCode”]Pa da i upravo te “stvarčice” su me oduševile, nema puno petljanja i pisanja dugačkog koda:

var myViewModel = {
    firstName: ko.observable('Creatif'),
    lastName: ko.observable('Code')
};

<p>First name: <strong data-bind="text: firstName"></strong></p>
<p>Last name: <strong data-bind="text: lastName"></strong></p>
<p>First name: <input data-bind="value: firstName" /></p>
<p>Last name: <input data-bind="value: lastName" /></p>

I to je sve, sad svaki put kad se promijeni value input boxa firstName i lastName varijable svuda u view template gdje stoji text: firstName i text: lastName se mijenja vrijednost. Unbelivable.[/quote]

Istina, data binding je odličan, to sam prvi put vidio u Flexu. Ja sam malo krenuo istraživati Knockout js, ali na moju štetu ta ljubav se nikad nije rasplamsala. Jedino što znam je da ja i konkurencija žestoka, Backbone js, Spine js, i mislim da ih ima još par.

Sad sam malo proletio po ovom tutorialu
http://learn.knockoutjs.com/
i moram reći da me pisanje koda nekako neodoljivo podsjeća na pisanje koda u Ruby on Railsu, nemam pojma zašto, ali jednostavno je tako. I sad kad se sjetim da sam do grla zaglibio sve ove godine u PHP-u, a toliko krasnih programskih jezika, okruženja, frameworka, dođe mi da plačem.

Ti si jedna od malo osoba koja kaže da je JavaScript divan jezik :smiley:

Nisam tu mislio isključivo na JavaScript, mislio sam i na server side jezike i frameworke. Sa javascriptom sam do prije godinu i pol bio na Vi, ali što više koristim taj jezik više mi se sviđa. :slight_smile:


Copyright © 2020 WM Forum - AboutContact - Sponsored by: Mydataknox & Webmaster.Ninja