12
votes

Présentation des rails dans une boutique PHP? Ou accumulez ce que nous utilisons déjà?

Voici la configuration de notre boutique:

  • 1 très grande application PHP (Kohana 2) avec Beaucoup de devations et beaucoup d'infrastructure
  • multiple (4-5 et croissance) petit PHP Applications avec 1-2 Dev travaillant sur ces

    Problèmes:

    • aucun test
    • pas de documentation
    • Un déploiement fragile et fastidieux processus

      Je suis déplacé de la seule grande application sur le côté de la maison avec les multiples applications plus petites. Le manque de test et un processus de déploiement approprié dans notre magasin me rend nerveux que je vais passer plus de temps à réparer les bogues et au déploiement de corrections que de rédiger un code pour de nouvelles fonctionnalités.

      solution A:

      • Introduisez PHPUNIT et SELENIUM
      • nous déplace vers le pHing et le dbdeploy

        problème avec A: La mise en place de PHPUnit a été relativement facile, mais les tests fonctionnels avec sélénium ont été une douleur totale. Notre travail de VM est idéal pour Dev, mais sélénium pince l'aiguille, plus quelques tests simples prennent pour toujours. Je ne doute pas que je puisse avoir toutes ces technologies qui jouent bien ensemble, mais tout ressemble à un gâchis et la complexité de ces travailleurs semble fragile.

        solution B:

        • Switch to Rails
        • Utilisez des tests intégrés et / ou Rspec / concombre (intégration du ce dernier semble simple)
        • Utilisez des migrations de dB intégrées
        • Utilisez Capistrano pour des déploiements

          Sur la base des principaux problèmes de test, j'ai commencé à regarder dans des rails. Basé sur la nature de ces autres sites que nous gérons, je pense que les rails peuvent être une bonne solution. Essais intégrés, grande communauté, beaucoup d'excellents outils et développement rapide.

          problème avec B: Chaque application que nous avons maintenant est sur Kohana 2 (cadre PHP) et personne de l'organisation ne connaît les rails. L'inconvénient d'introduire une nouvelle technologie serait fracturant les équipes. Si je migre les sites vers des rails, puis-je heurter un bus, nous sommes un peu vissés.

          Bottom Line:

          Sur la base de nos points de douleur (déploiements, tests, documentation, migrations de base de données de la DB), vaut-il la peine de passer aux rails? Ou devrions-nous rester mis à Kohana et continuer à essayer d'obtenir les autres outils construits?

          Toute suggestion? Quelqu'un est parti autre chose? La direction m'a déjà dit qu'ils sont ouverts à avoir entendu parler des rails et veulent simplement utiliser le meilleur outil possible - quoi que ce soit. Notre architecte principal devra toutefois nécessiter une conviction si je décide de changer de frameworks sur nos plus petits projets.


9 commentaires

@Closer: Juste parce que vous n'avez rien à dire à propos de ce problème ne signifie pas que c'est trop subjectif et argumentatif pour certaines personnes qui ont été bloquées dans des situations similaires pour donner des réponses utiles.


Dans mon oppinion, c'est exactement ce genre de questions qui en font donc plus qu'un forum 'sendmetehcodez'. Avec des questions telles que ceci, tout le monde peut apprendre la complexité des décisions de méta de niveau supérieur, etc.


@Closer: Si j'ai besoin de modifier ma question, merci de me le faire savoir. Je pense que c'est une décision incroyablement complexe et je pense que de nombreux autres développeurs ont (ou volonté) rencontrent.


J'ai voté pour fermer parce que personne ne peut savoir ce qui est meilleur pour vous. Je pense qu'une meilleure question est simplement: "Comment puis-je introduire des tests dans cette application PHP / K2?" et laissez la migration des rails hors de la question. Après que les gens vous donnent des solutions, vous devriez être capable de vous asseoir et d'analyser les coûts liés à cela et de voir s'il est moins cher que de migrer vers des rails (que vous devriez déjà pouvoir analyser sans notre aide).


@konforce - Je sais déjà Comment d'introduire des tests dans nos applications existantes. La question que je demande est celle que vous présumez-vous que je devrais pouvoir répondre seul. Est-il en vaut la peine de changer de framework afin de tirer parti des avantages des tests intégrés et de meilleurs outils - est le coût de la commutation si haute que je devrais simplement essayer de s'appuyer sur ce que nous avons déjà malgré les problèmes que je mentionne ci-dessus? Cela aide-t-il à clarifier? Si je pouvais analyser cette aide, je ne serais pas ici. :)


@jmccartie, eh bien, je pense que la question générale est très subjective ... ou du moins impossible de vous donner une réponse utile sans connaître toutes sortes de choses sur le projet et l'entreprise, c'est pourquoi j'ai suggéré de poser une question spécifique qui peut être une réponse avantageuse avec autorité. Comme cela, certaines personnes répondront "oui" et certains répondront "non" ... et les deux côtés la basant sur des expériences du monde réel. J'ai réécrit des projets et j'ai été content d'avoir fait, mais j'ai également parfois tenu à soutenir des projets de 10 ans, malgré les parties d'entre eux me poussés fou.


C'est subjectif, mais c'est toujours quelque chose que beaucoup d'autres personnes commencent à considérer pour que je ne crois pas que cela devrait être proche. Peut-être reformulé pour supprimer un exemple spécifique pour vous. Je reviendrais à dire quelque chose comme "vaut-il la peine de prendre le saut aux rails (à gagner ...) ou de continuer à s'appuyer sur notre infrastructure actuelle (PHP)".


J'ai modifié quelques points principaux, y compris la dernière question. J'espère que cela l'effacera.


Sonne comme la raison pour laquelle j'ai quitté mon dernier emploi;)


3 Réponses :


9
votes

Je pense que vous pourriez avoir beaucoup de réponses différentes en fonction du type de développeurs que nous sommes.

Personnellement, je pense que vous devriez vous tenir à PHP mais passer à Kohana 3. puis introduire de meilleures techniques de gestion et de développement (documentation, test, etc.). Juste mon opinion, pas vraiment une solution.


1 commentaires

I (et une poignée d'autres personnes) sont excitées à propos de KO3, mais cela ne résout pas vraiment les problèmes plus importants (tests, docs, déploiement). En fait, cela crée sa propre, plus petite, scindée dans l'équipe depuis notre 1 immense application KO2 ne migrera probablement pas depuis un certain temps.



6
votes

Il y a beaucoup de facteurs qui influenceront votre décision.

Si vous passez à l'esprit sur les rails, gardez-vous un moment pour vous et votre équipe pour apprendre le cadre / la langue et peut facilement laser les fonctionnalités pendant un moment. Cela dépend vraiment de votre équipe, de vos contraintes de temps et de nombreux autres facteurs.

Peut-être essayez peut-être 1 des petits projets avec des rails et voyez si vous et votre équipe aimez effectivement des rails (je ne fais pas).

La réponse sera différente pour chaque équipe. J'aurais une réunion de groupe et discuterais des avantages et des inconvénients des deux décisions. Puis avoir un vote.


1 commentaires

J'ai évoqué cela parce que je suis d'accord - mais je souhaite seulement que mon entreprise ait exploité un processus démocratique pour décider de ce type de chose!



5
votes

Déplacer vers des rails (ou toute autre langue) vous coûtera probablement beaucoup d'au moins une des manières suivantes:

  1. Investissement de temps. Toute votre équipe devra apprendre des rails tout en continuant de travailler avec PHP.
  2. Coût du serveur. Vous devrez avoir un ensemble séparé de serveurs pour rails et PHP.
  3. coût humain. Certaines de votre équipe peuvent ne pas vouloir changer et vous devrez embaucher de nouvelles personnes.

    Ma recommandation est que vous regardez dans phpundercontrol et commencez à commenter votre code. Vous n'avez pas à écrire des piles de documentation, mais assurez-vous que chaque méthode est commentée.

    Et enfin, mon opinion complètement biaisée est que vous devriez donner à Kohana 3 un essai. Même si vous ne pouvez pas migrer vos applications existantes, cela pourrait vous faire économiser une frustration avec les nouvelles applications.


0 commentaires