Aller au contenu

« ZK (informatique) » : différence entre les versions

Un article de Wikipédia, l'encyclopédie libre.
Contenu supprimé Contenu ajouté
Modification de la dernière version de ZK
m Restauration des ancres brisées
 
(2 versions intermédiaires par 2 utilisateurs non affichées)
Ligne 13 : Ligne 13 :
{{Autres projets|wikibooks=ZK}}
{{Autres projets|wikibooks=ZK}}


'''ZK''' est un [[framework]] [[open source]] web 2.0, proposant une [[Interactions homme-machine|interaction utilisateur]] (UI) riche. ZK permet tout autant de définir rapidement des [[Interface graphique|interfaces graphiques]] via une [[Langage de programmation#Éléments du langage de programmation|syntaxe]] [[Extensible Markup Language|XML]] ou un [[Traitement de texte|éditeur]] [[What you see is what you get|Wysiwyg]] que de manipuler directement les objets en [[Java (technique)|Java]].
'''ZK''' est un [[framework]] [[open source]] [[web 2.0]], proposant une [[Interactions homme-machine|interaction utilisateur]] (UI) riche. ZK permet tout autant de définir rapidement des [[Interface graphique|interfaces graphiques]] via une [[Langage de programmation#Définition|syntaxe]] [[Extensible Markup Language|XML]] ou un [[Traitement de texte|éditeur]] [[What you see is what you get|Wysiwyg]] que de manipuler directement les objets en [[Java (technique)|Java]].


==Principes==
== Principes ==
Le traitement des événements se fait côté serveur relié depuis le navigateur via le moteur [[JavaScript]] de ZK.
Le traitement des événements se fait côté serveur relié depuis le navigateur via le moteur [[JavaScript]] de ZK.


Ligne 28 : Ligne 28 :
Utiliser les composants graphiques prédéfinis et les assembler permettra de se passer totalement de code [[JavaScript]]. S'il faut un comportement bien spécifique, il sera nécessaire de créer ses propres composants et de gérer aussi la partie cliente en JavaScript.
Utiliser les composants graphiques prédéfinis et les assembler permettra de se passer totalement de code [[JavaScript]]. S'il faut un comportement bien spécifique, il sera nécessaire de créer ses propres composants et de gérer aussi la partie cliente en JavaScript.


==Forces et faiblesses==
== Forces et faiblesses ==
'''Avantages :'''
'''Avantages :'''
<br />Le framework ZK, basé sur un moteur AJAX, permet :
<br />Le framework ZK, basé sur un moteur AJAX, permet :
Ligne 44 : Ligne 44 :
== Prérequis système ==
== Prérequis système ==
* [[Machine virtuelle Java|J2RE]] version 1.4 or supérieure
* [[Machine virtuelle Java|J2RE]] version 1.4 or supérieure
* Un serveur web supportant les [[servlet]]s
* Un [[serveur web]] supportant les [[servlet]]s


== Prérequis de compétences en programmation ==
== Prérequis de compétences en programmation ==
Ligne 64 : Ligne 64 :
| Frameworks web
| Frameworks web
}}
}}
{{portail informatique}}
{{Portail|informatique}}


[[Catégorie:Framework de programmation]]
[[Catégorie:Framework de programmation]]

Dernière version du 6 avril 2024 à 23:35

ZK

Informations
Développé par Potix Corporation
Dernière version 8.5.1.2 ()
Dépôt github.com/zkoss/zkVoir et modifier les données sur Wikidata
Écrit en JavaVoir et modifier les données sur Wikidata
Environnement Multiplate-forme
Type Ajax Web Framework
Licence GNU General Public License / Commercial
Site web www.zkoss.org

Sur les autres projets Wikimedia :

ZK est un framework open source web 2.0, proposant une interaction utilisateur (UI) riche. ZK permet tout autant de définir rapidement des interfaces graphiques via une syntaxe XML ou un éditeur Wysiwyg que de manipuler directement les objets en Java.

Le traitement des événements se fait côté serveur relié depuis le navigateur via le moteur JavaScript de ZK.

Pour l'utilisateur du framework, tout se passe comme si l'interface graphique était gérée entièrement côté serveur. Il est possible d'ajouter, enlever, modifier des composants graphiques comme avec Swing. Le moteur de ZK se chargeant de répercuter automatiquement les modifications dans le navigateur du client.

Il est tout autant possible de définir une application relativement classique, comme avec des framework tel que Struts et JavaServer Faces. Les JavaServer Pages sont remplacées par des fichiers XML. Le code EL est lui aussi de la partie et chaque événement (validation d'un formulaire...) donnera lieu à changement de page.

Il est au contraire aussi possible de designer l'interface graphique sans aucun rechargement de page, le contenu étant mis à jour dynamiquement via AJAX. Le comportement est alors proche d'une interface graphique classique, raisonnablement rapide, mais sans toutefois avoir la même réactivité.

De nombreux tag et composants graphiques sont inclus dans le framework afin de faciliter la tâche : saisie de date avec calendrier, fenêtres, popups, menus, arborescences, grilles et peuvent être mélangés à du code XHTML.

Utiliser les composants graphiques prédéfinis et les assembler permettra de se passer totalement de code JavaScript. S'il faut un comportement bien spécifique, il sera nécessaire de créer ses propres composants et de gérer aussi la partie cliente en JavaScript.

Forces et faiblesses

[modifier | modifier le code]

Avantages :
Le framework ZK, basé sur un moteur AJAX, permet :

  • de gagner du temps par rapport aux framework WEB classiques
  • de coder de manière simple (proche d'une application Swing ou AWT)
  • d'avoir une application web full Java (aussi bien les traitements que les interfaces) sans la moindre ligne de Javascript à taper
  • ZK s'intègre parfaitement avec toute technologie Java : JMS, Hibernate

Inconvénients :

  • Le code généré est très intrusif : table dans des tables dans des div, etc. ce qui amène à une personnalisation difficile des composants.
  • La performance dépend du navigateur et de la machine. La fluidité ne sera pas celle d'une interface graphique classique.
  • La technologie est non standard, soutenue uniquement par une petite société.
  • La licence payante pour une utilisation commerciale (beaucoup de framework concurrents sont 100 % gratuits).

Prérequis système

[modifier | modifier le code]

Prérequis de compétences en programmation

[modifier | modifier le code]

ZUML (ZK User Interface Markup Language) un langage de balise (markup language) pour une définition d’interface utilisateur.

Liens externes

[modifier | modifier le code]