ZK (framework)
Website: zkoss.org
ZK este un cadru de aplicații web AJAX open-source, scris în Java, care permite crearea de interfețe de utilizator grafice pentru aplicații web cu cunoștințe de programare necesare puțin necesare. Nucleul ZK constă dintr-un mecanism bazat pe evenimente bazat pe AJAX, peste 123 XUL și 83 componente bazate pe XHTML și un limbaj de marcare pentru proiectarea interfețelor de utilizator. Programatorii își proiectează paginile de aplicații în componente XUL/XHTML bogate în caracteristici și le manipulează la evenimente declanșate de activitatea utilizatorului final. Este similar cu modelul de programare găsit în aplicațiile bazate pe GUI desktop. ZK folosește o abordare centrată pe server în care sincronizarea conținutului componentelor și linia de conducte de evenimente între clienți și servere sunt realizate automat de către motor, iar codurile de instalații de instalații Ajax sunt complet transparente pentru dezvoltatorii de aplicații web. Prin urmare, utilizatorii finali obțin interactivitatea și reacția similară implicată ca o aplicație desktop, în timp ce dezvoltarea programatorilor păstrează o simplitate similară cu cea a aplicațiilor desktop. ZK nu utilizează mecanismul standard de reacționare a solicitării web și nu trimite câmpuri de formular către server, făcând o solicitare GET cu parametri de interogare sau o cerere de postare. În schimb, cererile AJAX sunt trimise către server pentru a actualiza starea internă a fiecărui widget de ecran. La browser, ZK descarcă doar o descriere JSON a paginii web și folosește un rander client pentru a transforma asta într -o interfață de utilizator. Este destul de eficient și sub o inspecție mai atentă, nu descarcă totul simultan. O privire asupra traficului dintre client și server dezvăluie mai multe solicitări care merg înainte și înapoi între client și browser până când redactarea paginii se finalizează în cele din urmă. Personalizarea opțională din partea clientului permite dezvoltatorului să utilizeze resursele din partea clientului cu așa-numitul server+fuziune client, pentru personalizare și pentru a reduce traficul AJAX. În plus față de programarea bazată pe componente într-o manieră similară cu Swing, ZK acceptă un limbaj de marcare pentru definiția bogată a interfeței de utilizator numită ZUML. ZUML este proiectat pentru dezvoltatorii non-program pentru a proiecta interfețe de utilizator intuitiv. ZUML permite dezvoltatorilor să topească diferite limbi de marcare, cum ar fi limbajul Mozilla Xul și XHTML, fără probleme în aceeași pagină. ZUML permite dezvoltatorilor să încorporeze scripturi într -un limbaj Java pur (interpretat de Beanshell) și să folosească expresiile EL pentru a manipula componentele și datele de acces.