Je vais construire une solution clé en main pour un marché vertical, et je voudrais offrir les deux options: le logiciel en tant que service, et leur donner la possibilité d'héberger l'application par eux-même. En d'autres termes, je vise à avoir des options de déploiement similaires à celles de Joel's FogBugz. Je suis un programmeur Python, et je pourrais survoler le projet avec Django. Il y a plusieurs raisons pour lesquelles je préfère PHP:Django ou CodeIgniter pour l'application Web clé en main
1) L'installation de Django et la configuration supposent que vous avez accès à un shell (ma cible n'est pas le type de programmeur). Bien que je puisse offrir le service d'installation, mais pas sur leurs serveurs. 2) Django s'exécute uniquement sur certains hôtes spécifiques qui doivent être particulièrement vigilants pour l'activer. L'installation de mod_python/mod_wsgi, et probablement la minorité de mes clients potentiels aurait un accès root, ou même un cpanel.
3) Utiliser PHP signifierait que je pourrais l'exécuter sur leur serveur existant. Je n'aurais pas besoin de les déplacer vers un serveur compatible Django, et pas de temps d'arrêt pour leurs emails, alors que les mises à jour DNS. D'autre part, j'ai très peu d'expérience avec PHP. Par contre, j'ai peu d'expérience avec PHP. Smarty, en tant que langage de gabarit, est joli et fonctionne de la même manière que les gabarits Django. Il n'offre cependant pas d'héritage de template, sauf d'une manière très hackish dans laquelle je ne souhaite pas l'utiliser car il pourrait casser l'application si le concepteur les dérange. Qu'est-ce que tu penses? Merci d'avance!
Bien sûr, PHP va être plus facile à installer qu'une application Python mais vous ouvrez toute une boîte de Pandore en ce qui concerne les configurations du serveur web (Apache, IIS, d'autres?), Les versions de PHP (PHP4 et obsolètes, PHP5s buggy) ayant l'utilisateur réellement obtenir le serveur servant votre PHP. Ensuite, vous avez la base de données ... –
Semble que les mêmes problèmes qui sévissent WordPress ... – GloryFish
Vous n'avez pas besoin de Smarty si vous utilisez CodeIgniter, et vous? Il sépare déjà la vue du contrôleur. Et il comprend un mécanisme de mise en cache. –