7 votes

Symfony est-il un meilleur choix que Zend pour un atelier de développement web (10+) car c'est un framework full stack ?

Mon équipe au travail envisage d'utiliser un framework pour développer des sites et des applications web. Certains des seniors sont convaincus que nous devrions utiliser le Zend Framework parce qu'il est plus facile de choisir les fonctionnalités et que le framework sera léger.

Je crains toutefois qu'ils ne s'intéressent qu'aux avantages techniques d'un cadre léger. À mon avis, il est préférable d'avoir un framework full-stack (et je suis un partisan de Symfony) car

  1. Cela nous permettra également de disposer d'une méthode de travail standard sans avoir à écrire une nouvelle documentation.
  2. Si nous souhaitons utiliser de nouvelles fonctionnalités, il nous suffit de lire la documentation pour voir comment les utiliser, au lieu de devoir les intégrer dans notre configuration de Zend.

Je ne m'attends pas à ce que tout le monde réponde à mes questions, mais voici ce que je recherche dans la réponse :

  • Est-ce que j'ai raison ?
  • Avez-vous été dans une situation similaire et comment l'avez-vous gérée ?
  • Avez-vous d'autres arguments que je pourrais utiliser OU qui pourraient me faire reconsidérer ma propre opinion ?

Le contexte : Je travaille dans un petit atelier avec environ 10 programmeurs. Nous programmons principalement du PHP. Nous utilisons un framework très simple développé en interne et une bibliothèque ORM qui ne sont pratiquement pas documentés et ne possèdent que les fonctionnalités les plus basiques (pas de validateurs, pas de transactions, pas de cache, pas d'authentification).

14voto

killermikedaman Points 21

Et pourquoi pas les deux ? J'utilise symfony depuis 2006, je suis un vrai fan de Doctrine depuis un an, et depuis quelques mois, nous avons franchi plusieurs étapes sur l'échelle de la productivité en intégrant des composants Zend directement sur nos applications symfony.

La véritable force de symfony réside dans le découplage de tout, et l'extensibilité facile du cadre. Vous pouvez remplacer presque toutes les couches de l'ensemble. Copiez/collez simplement le répertoire Zend dans /lib/, et ajoutez ce singleton dans /config/ProjectConfiguration.class.php :

    static public function registerZend()
{
    if (self::$zendLoaded)
    {
        return;
    }

    sfToolkit::addIncludePath(sfConfig::get('sf_lib_dir') . '/vendor', 'back');
    require_once(sfConfig::get('sf_lib_dir') . '/vendor/Zend/Loader.php');

    Zend_Loader::registerAutoload();
    self::$zendLoaded = true;
}

Et utilisez librement tout composant Zend que vous souhaitez. Vous pourriez être intéressé par le nouveau tutoriel Jobeet, et particulièrement par la partie Recherche, qui utilise Zend_Lucene_Search.

1voto

Colonel Sponsz Points 1320

Symfony est vraiment facile à utiliser et permet d'obtenir un site entièrement fonctionnel avec des sessions, une mise en cache, des tests unitaires et fonctionnels, un déploiement automatisé et plus encore, en très peu de temps. Vous ne devez vraiment vous préoccuper que du code pour accéder à vos données et les afficher. Même s'il n'est pas aussi léger qu'une implémentation "roll-your-own", la quantité de code que vous devez maintenir sera moindre.

L'ORM Propel/Creole fonctionne bien, possède des validateurs intégrés, etc. et est configuré pour être extensible dès le départ.

Lors de la transition d'un framework interne vers Symfony, j'ai pu réutiliser de nombreux codes de bibliothèques en les plaçant simplement dans l'un des répertoires de bibliothèques que Symfony analyse au démarrage.

Bien que je ne l'ai pas utilisé, il y a un pont Zend intégré dans Symfony qui vous permet d'utiliser des modules Zend si nécessaire.

J'espère que cela vous aidera.

1voto

OIS Points 5566

Je pense que la documentation de ZF et l'implication de la communauté sont meilleures. J'aime aussi le système de dénomination, la norme de codage et l'extensibilité. ZF semble également obtenir beaucoup de nouvelles fonctionnalités et d'améliorations aux classes existantes comme un projet open source, de nombreuses personnes différentes travaillant sur leurs propres projets.

Je ne vois pas vraiment en quoi Symfony est un avantage pour un groupe de 10 programmeurs. Il est clair que vous devriez être en mesure de mettre en place relativement rapidement une configuration par défaut pour les nouveaux projets, et avoir beaucoup d'extensibilité construite sur et en plus de ZF.

1voto

Comment est ZF no "full stack" ? Il semble contenir tous les éléments de Symfony, et même plus. De plus, ZF a une approche "choisissez votre poison", vous permettant d'utiliser différents éléments dans différentes méthodes. (Par exemple, nous utilisons Zend_Config dans beaucoup d'endroits différents, juste pour que chacun puisse s'attendre à un système de configuration raisonnablement uniforme, même sur de minuscules morceaux de code).

1voto

troelskn Points 51966

Je crains toutefois qu'ils ne s'intéressent qu'aux avantages techniques d'un cadre léger. À mon avis, il est préférable d'avoir un framework complet (et je suis un partisan de Symfony) car ...

Cela dépend beaucoup du type d'application(s) que vous construisez. Si vous construisez un grand nombre d'applications peu complexes, principalement axées sur le contenu, alors Symfony sera parfait. D'autre part, si votre application ne correspond pas au paradigme de l'objet nu de Symfony (par exemple, si elle est complexe et pas entièrement axée sur la gestion de contenu), vous pouvez trouver que c'est plus un obstacle qu'une aide.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X