Posted on juillet 16, 2008 at 1:46

Zend Framework, premières impressions

1A8A36C5-1A79-466F-AE75-A9380F7280C6.jpg

Zend Framework est un framework développé par Zend qui est une des plus grosses sociétés tournant autour de Php. La grand majorité des contributeurs au core de Php proviennent de Zend.

Par conséquent, Zend framework est parmi les deux frameworks les plus usités avec Symfony de par le rayonnement de l’entreprise et aussi la qualité intraséque du framework.

Néanmoins, est-ce qu’il est adapté à toutes les situations ? Quel est le temps d’adaptations avant d’en tirer vraiment partie ?

Par où commencer ?

Zend Framework est contrairement aux autres frameworks livrés brut de fonderie. Ici pas d’outils en ligne de commande pour démarrer un projet, ou pour générer un formulaire avec les API correspondantes.

De plus, pas d’architecture, ni de structure à respecter. Tout au plus quelques conventions de nommages à respecter au niveau des contrôleurs ou pour bénéficier de l’autoload mais là encore, vous êtes libre de l’utiliser ou non.

Zend Framework ressemble beaucoup à une bibliothèque de classes qu’on peut utiliser conjointement ou individuellement. Au final, ce qui importe est l’orientation que vous voulez donner à votre projet, de cette orientation en découlera son organisation.

C’est à la fois son avantage et son inconvénient.

Temps d’adaptation

Il est assez court si on connaît bien le modèle objet de php, ensuite comme je l’ai précisé plus haut, il faut voir ZF comme une bibliothèque de classes, on est libre d’utiliser le modèle MVC ou non, etc…
Il faut quelques jours pour bien appréhender les composants de base du Zend Framework dans le cadre d’une utilisation MVC et comprendre le mécanisme et la mise en place des différents éléments puisqu’on débute from scratch.
Par la suite, l’utilisation des autres composants se fait assez naturellement.

Les API

Elles sont nombreuses, plutôt bien documentés et utilisable de manière indépendante (ce qui permet d’utiliser des classes du Zend Framework au sein de Jelix ou de Symphony par exemple sans trop d’effort).
Cela part des classes du MVC (Zend_Controller, etc…) jusqu’à des classes plus spécifique comme l’interaction avec Apache Lucene ou encore parser un flux RSS.
Après un usage assez intensif de certaines classes, je peux dire qu’elles sont vraiment bien conçu et pas buggé.

Quelques bémols toutefois, à mon sens, la couche ORM (ou du moins celle qui semble y correspondre le plus) n’est pas vraiment compléte, elle ne constitue pas à l’heure actuelle un outil de productivité performant et à mon sens, c’est un critère à prendre en compte lors du choix du framework.

Un autre manque est l’absence total de scripts permettant de générer un formulaire, une classe métier, etc… contrairement à la plupart des frameworks. C’est gênant et contre-productif.

La communauté

Elle s’articule autour de plusieurs sites mais la communauté francophone (qui je m’abuse est tenu par un formateur de chez Anaska) est assez jeune, un peu moins grosse que la communauté US mais assez réactive toute fois (pour l’avoir sollicité quelques fois) :-).

Malgré tout cela, il m’est arrivé de tomber sur des articles qui se voulaient des introductions à ZF mais qui ne marchaient tout simplement pas.
Un autre inconvénient du aux changements d’api (il me semble) au début de ZF, beaucoup de composants sont inutilisables avec les nouvelles versions et par conséquent on peut perdre pas mal de temps à débugger ou essayer de faire fonctionner un composant dépassé.
Cela peut être excessivement rebutant pour un développeur s’initiant à ZF.

En conclusion

Zend framework est des 3 frameworks que j’ai testé le plus flexible et surtout utilisable dans beaucoup de cas (programme ligne de commande, site classique mélangeant un peu les couches, site MVC, etc…) sans rencontrer de difficultés particulières.
Néanmoins, il ne faut pas négliger la mise en place et le choix d’une structure pour son projet afin d’éviter des déboires.

Ce qui m’attriste un peu au regard de la roadmap, certes non officielle, est le peu d’évolutions dans les mois qui viennent au vue des manques flagrant voir gênant dans certains cas.

2 Responses to “Zend Framework, premières impressions”

  1. NiKo on juillet 16th, 2008 at 17:09 says:

    C’est dommage de pas être parti sur symfony ;-)

    –>[]

  2. despe_ki_roule on juillet 16th, 2008 at 17:26 says:

    je pense qu’une formation offerte m’aurai convaincu :D
    Non, contrairement à ce que je pensais au début, Symfony est un framework de bonne qualité. Néanmoins, le choix s’est porté sur ZF dans notre comparaison.

Leave a Reply

Un peu de pub :)