ZK

Fiche logiciel à valider
  • Création ou MAJ importante : 27/11/08
  • Correction mineure : 07/06/12
Mots-clés
Pour aller plus loin
Fiche en recherche de relecteurs
Cette fiche est en recherche de relecteurs. Si vous êtes intéressé(e)s, contactez-nous !

ZK : environnement de développement Web AJAX

Ce logiciel est en cours d'évaluation par la communauté PLUME. Si vous utilisez ce logiciel en production dans notre communauté, merci de déposer un commentaire.
  • Site web
  • Système : UNIX-like, Windows, MacOS X
  • Téléchargement
  • Version évaluée : 3.5.1
  • Langue(s) de l'interface : anglais
  • Licence : GPL, Licence propriétaire

    Potix Corporation (la société qui développe ZK) utilise un système de double licence du type MySQL: on doit acheter une licence commerciale si on utilise ZK dans une application commerciale non libre. Sinon on peut utiliser la licence GPL (gratuit et open source).

Description
Fonctionnalités générales

ZK est un framework AJAX basé sur :
- HTML + Javascript côté client
- Java côté serveur
Vue d'ensemble de l'architecture : http://www.zkoss.org/doc/architecture-fr.dsp

Autres fonctionnalités

La fonctionnalité AJAX est complètement gérée par le Framework. Ainsi en utilisant ZK on n'a pas l'impression de développer une application Web : on développe comme on développerait une application Java classique.
ZK est basé sur XML et Java. Le langage utilisé est par défaut Java (pas javascript) et il s'exécute côté serveur. D'autres langages de script sont éventuellement proposés (Groovy, etc). Le développeur n'a pas besoin de programmer en Javascript, celui-ci est généré en interne par le Framework.
Il existe un package "ZK Mobile" destiné au développement d'interface Web sur smartphone, ce qui permettra le cas échéant de porter une interface web en minimisant le travail à fournir.

Interopérabilité

ZK profite de la portabilité apportée :
- côté serveur, par la plateforme Java,
- côté client, par le Javascript qui est supporté par presque tous les navigateurs actuels, sans installation de plugin supplémentaire (donc aucune installation à faire côté client).
ZK est interopérable avec d'autres technologies Java: JSP, JSF, Portlet, etc. Par ailleurs certains des composants Javascript les plus élaborés sont développés par d'autres projets : FCKEditor ( http://www.fckeditor.net/demo ), Google Maps, etc.

Contexte d'utilisation dans mon laboratoire/service

J'ai testé ZK lors de mon précédent emploi pour une Société d'informatique industrielle.
Je l'ai choisi pour :

  • la facilité d'utilisation,
  • la très bonne qualité de la documentation (abondante, claire, mise à jour), voir plus bas,
  • le dynamisme du projet (voir plus bas).
Limitations, difficultés, fonctionnalités importantes non couvertes

Certaines fonctionnalités sont très récentes et de ce fait pourraient manquer de maturité. Un exemple de fonctionnalité très récente est la fonctionnalité d'édition de type WYSIWYG, qui a été ajoutée au module "ZK Studio" pour Eclipse le 6 novembre 2008.

Environnement du logiciel
Distributions dans lesquelles ce logiciel est intégré

Aucune à ma connaissance (logiciel trop spécifique).

Plates-formes

Serveur: tout serveur web disposant d'une machine virtuelle Java 1.4 ou supérieure avec Servlet 2.3 ou supérieur.
Client: Internet Explorer 6+/7, Firefox 1+, Safari 2+, Mozilla 1+, Opera 9+ and Camino 1+.

Logiciels connexes

Requis: Java Development Kit (JDK): GPL, http://java.sun.com/javase/downloads/index.jsp
Requis: un serveur web supportant les Servlets. Ex: Apache-Tomcat (Apache License, http://tomcat.apache.org/ ), JBOSS ( LGPL, http://www.jboss.org/ )
Recommandé: un environnement de développement, de préférence Eclipse ( open source, http://www.eclipse.org/ ), ou sinon NetBeans ( dual licence dont GPL, http://www.netbeans.org/ ).

Autres logiciels aux fonctionnalités équivalentes
  • Autres frameworks AJAX basés sur Java, comme GWT, http://code.google.com/webtoolkit/, Apache License. Traduit le code Java en Javascript => exécution côté client ; avantage: limite la charge sur le serveur ; inconvénient: peu adapté si votre application web utilise des ressources connectées au serveur, comme une base de données.
  • Frameworks AJAX basés sur PHP. Avantages: PHP beaucoup plus souvent disponible que Java ou .NET sur les offres d'hébergement web, inconvénients: langage un peu permissif, et peut être limité sur certaines fonctionnalités (ex en matière d'internationalisation, pas de support de l'Unicode)
  • Frameworks AJAX basés sur .NET. Avantages: environnement de développement très complet ; inconvénient: composants graphiques de base limités, et ceux plus élaborés sont souvent payants ; par ailleurs la partie AJAX n'est pas totalement gérée de manière transparente, on doit spécifier quelle partie de la page on doit rafraichir.
Environnement de développement
Type de structure associée au développement

Société Potix Corporation.
Etant OpenSource, ce logiciel profite également d'une communauté d'utilisateurs / développeurs.

Eléments de pérennité
  • Logiciel Open Source :
    -- Pourrait être repris si la société qui l'édite devait disparaître.
  • Logiciel construit sur des standards :
    -- XML, Java & Javascript
    -- L'équipe de développement essaie de promouvoir le design MVC (Model-Vue-Contrôleur), recommandé pour facilité la maintenance.
  • Dynamisme du projet :
    -- Il est presque toujours référencé dans les 10 projets les plus actifs, tous domaines confondus, sur le site Sourceforge http://sourceforge.net/softwaremap/ qui recense plus de 300000 projets
    -- Le site web http://www.zkoss.org présente des nouveautés très régulièrement (plusieurs par semaine)
Références d'utilisateurs institutionnels

La page http://www.zkoss.org/whosusingzk/ recense les utilisateurs les plus remarquables de cette technologie.
On y trouve de grandes sociétés comme Sun Microsystems, différents acteurs du web, un laboratoire (Lawrence Livermore National Laboratory), des universités (ex l'université d'Oxford)...
ZK a été téléchargé plus de 700000 fois. Statistiques disponibles sur http://sourceforge.net/project/stats/detail.php?gr....

Environnement utilisateur
Liste de diffusion ou de discussion, support et forums

Le forum: http://www.zkoss.org/forum (très réactif)

Documentation utilisateur

Le tutoriel : http://www.zkoss.org/doc/tutorial-fr.dsp
Le guide du développeur : http://www.zkoss.org/doc/devguide/
Le guide de référence : http://www.zkoss.org/doc/devref/

Par ailleurs la page de démo http://www.zkoss.org/zkdemo/userguide/ est très utile en matière de documentation car elle montre chaque fonctionnalité du framework par un exemple (source + résultat). Il est même possible de modifier la source en ligne et d'observer le résultat.

Divers (astuces, actualités, sécurité)

ZK a été choisi “projet du mois” de février 2009 sur le site Sourceforge.net.
Voir l’interview ici https://sourceforge.net/community/potm-200902/

Contributions

Feature requests: http://sourceforge.net/tracker/?group_id=152762&at...
Bugs: http://sourceforge.net/tracker/?group_id=152762&at...

Il est possible de proposer des articles (études, tutoriels...) qui seront diffusés sur la page du site. Ecrire (en anglais) à info [at] zkoss [dot] org.

Commentaires

Responsable thématique précédent

Cette fiche a d'abord été suivie par le responsable thématique Jean-Luc Archimbaud. David Rousse l'a reprise en mai 2012.

Projet du mois Fevrier 2009

Pour information, ZK a été choisi "projet du mois" de février 2009 sur le site Sourceforge.net.
Voir l'interview ici https://sourceforge.net/community/index.php/potm-2...

Logiciel utilisé sur plusieurs sites Ens Sup Recherche ?

Cette fiche ZK est publiée comme logiciel à valider car nous n'avons pas d'information sur son utilisation sur des sites Ens Sup - Recherche. Si vous l'utilisez et êtes satisfait, mettez un commentaire sur cette fiche ou envoyez un message à plume [at] services [dot] cnrs [dot] fr. On pourra ainsi mettre plus en avant ce logiciel ou non.