Synergy: JavaScript keretrendszer webalkalmazások építéséhez
Noha még a napokban azon vívódott Peter, hogy kiutat találjon a release early, release often és az első benyomás problematikájából, végül úgy döntött, már most nyílttá teszi a Synergy forráskódját. Az egyelőre még early alpha stádiumban lévő JavaScript keretrendszeren tavaly nyár óta dolgozik Peter Michaux.
A projekt egy Rhinon alapuló, kiszolgáló oldali szett, kódjait vegyesen JavaScript és Java nyelvű összetevők teszik ki. Ma volt időm először kézbe venni a forráskódot, így a helló, világ! klasszikuson nem jutottam túl sokkal, de a framework – legalábbis használatát tekintve – elsőre a Djangora emlékeztetett. A Synergy esetében nincsenek meg a hagyományosan vett vezérlők, minden művelet. A műveletek argumentumként kapják a kérést, majd tudásukhoz mérten egy válasszal kell visszatérniük. Legegyszerűbb formában:Ahol a
A műveleteket URL-ekhez köthetjük, így:A kimenetet öntsük HTML formába, ehhez készítsünk egy sablont, és egyúttal a műveletbe bevarrt üdvözlő szöveget is emeljük ki onnan:A A keretrendszer ejs összetevője lesz az, aki a háttérben kapcsolatot teremt sablon és művelet között. A sablon fájlnevéből (legyen
Maga a Synergy moduláris felépítésű, illetve valójában maga a Synergy csak egy csupasz webalkalmazás váz, valamennyi funkcionalitás xjs modulokkal érhető el (ezt a szerző a Gem, CPAN működéséhez hasonlítja, és ezzel dugába is dőlt a djangós hasonlatom). A keretrendszer tartalmaz MySQL, PostgreSQL, JSON, Logger, Unit és további modulokat, valamint egy beépített webkiszolgálót, amelyekkel könnyen elindítható egy alkalmazás. Legfrissebb újításként tegnap egy YUICompressor modul is része lett a forráskódnak, így egy éles állapot legyártása során a JS és CSS állományokat akár egy minimalizáló szűrőn is átnyomhatjuk.
A Synergy iránt érdeklődőknek kiindulópontként ajánlom Peter "hello, world" Tutorial: Synergy Server-Side JavaScript cikkét, holnapra esőt mondanak. Kellemes hétvégét.
■ A projekt egy Rhinon alapuló, kiszolgáló oldali szett, kódjait vegyesen JavaScript és Java nyelvű összetevők teszik ki. Ma volt időm először kézbe venni a forráskódot, így a helló, világ! klasszikuson nem jutottam túl sokkal, de a framework – legalábbis használatát tekintve – elsőre a Djangora emlékeztetett. A Synergy esetében nincsenek meg a hagyományosan vett vezérlők, minden művelet. A műveletek argumentumként kapják a kérést, majd tudásukhoz mérten egy válasszal kell visszatérniük. Legegyszerűbb formában:
function sayHello(request) {
return {
body: 'Szia ' + (request.params.name || 'világ!')
};
}
request.params.name
például a HTTP GET-tel érkező name paraméter értékét hordozza.A műveleteket URL-ekhez köthetjük, így:
mapConnect('sayHello', {path:'/szia'});
<p>Szia, <%= c.name || 'világ' %>!<p>
sayHello()
műveletünket értesítjük a sablon használatáról:
function(request) {
return {
body: layout({name: request.params.name})
};
}
layout.ejs
) származtatva implicit elérhető lesz a layout
nézet, az annak argumentumként adott objektum pedig megállapodás szerint c
objektumként jelenik meg a sablonban. Nem szükségszerű az ejs használata, a Synergy nézetekről külön bejegyzésben is értekezik Peter.Maga a Synergy moduláris felépítésű, illetve valójában maga a Synergy csak egy csupasz webalkalmazás váz, valamennyi funkcionalitás xjs modulokkal érhető el (ezt a szerző a Gem, CPAN működéséhez hasonlítja, és ezzel dugába is dőlt a djangós hasonlatom). A keretrendszer tartalmaz MySQL, PostgreSQL, JSON, Logger, Unit és további modulokat, valamint egy beépített webkiszolgálót, amelyekkel könnyen elindítható egy alkalmazás. Legfrissebb újításként tegnap egy YUICompressor modul is része lett a forráskódnak, így egy éles állapot legyártása során a JS és CSS állományokat akár egy minimalizáló szűrőn is átnyomhatjuk.
A Synergy iránt érdeklődőknek kiindulópontként ajánlom Peter "hello, world" Tutorial: Synergy Server-Side JavaScript cikkét, holnapra esőt mondanak. Kellemes hétvégét.
Köszi
Nem olvastam még róla
forrás
SVN
omg