Event.Behavior

Prezentace Metaprogramming with JS external Adama McCrea (informace i na Dev::info info) inspirovala Ryana Johnsona person k vytvoření DSL info (Domain-Specific Language) s názvem Event.Behavior external. Event.Behavior umožňuje psát metody obsluhy událostí v JavaScriptu způsobem, který se blíží přirozené řeči.

Ukázka:


with (Event.Behavior) {
show('postal_code_field').when('country_select').is('United States').or('Canada');
set_style(styles).on(paragraphs).when(selects).change();
add_class_name('black').to('paragraph').when('color_select').is('black');
}

Event.Behavior pracuje se základní sadou slov, jako jsou slovesa (ukaž, skryj, odstraň, přidej_styl, nahraď), události (změněno, kliknuto, ...), spojky (a, nebo) nebo podmínky (je, není, obsahuje). V doslovném překladu tedy výše popsaný kód vypadá takto:


with (Event.Behavior) {
ukaž('postal_code_field').když('country_select').je('United States').nebo('Canada');
nastav_styl(styles).na(paragraphs).když(selects).se_změní();
přidej_třídu_jménem('black').k('paragraph').když('color_select').je('black');
}

Event.Behavior umožňuje přidávání dalších sloves či událostí, lze jej tedy přizpůsobit na míru vaší aplikaci.

Přiznám se, že mě možnost zapisovat obsluhu událostí téměř-přirozeným jazykem zaujala. Dnes je to možná kuriozita, za pár měsíců - kdo ví? Třeba se dočkáme stránek, které budou odesílat formuláře pomocí odešli(‘formular’).když(‘odeslat’).je_stisknuto(); - a nebude nám to připadat nijak divné.

Další popis a odkaz pro stažení naleznete na stránce Event.Behavior external


Syndikovat obsah