Ces derniers temps nous avons parallèlement travaillé en PHP avec Symfony 2, juste sorti cet été, et en Java Play! Framework. Ces deux outils sont ce que l’on appelle des Frameworks de productivité, dans la lignée de Ruby on Rails ou Grails, sur lequel j’ai un peu d’expérience.
L’enseignement de ces derniers mois est que ces outils sont presque interchangeables, car basés sur des architectures très proches : Vue, templating, routing, Controlleur, Modèle, ORM. Cela faisait 5 ans que je n’avais pas fait de PHP, et je n’ai pas eu de grandes difficultés à prendre Symfony 2 en main.
Mais pourquoi choisir un tel Framework ? Comme le nom l’indique, à être plus productif. J’ai pu réalisé en trois semaines un Back Office basé sur 35 tables SQL en générant automatiquement le code. En général le code généré n’est pas maintenable, mais Symfony va bien au-delà de cette génération. Tous ces outils m’ont permis ensuite de modifier ce Back Office brut en un produit plus adapté, marketé, en Ajax.
En avançant dans ce travail, et en reprenant également les composants pour le Front Office j’ai essentiellement eu de bonnes surprises.
Play! a également eu du succès, et effectue la partie Back Office de notre produit Ipad Kumobook. Ce qui est visible sur la vidéo a été fait par une personne en moins d’un mois ! JQuery fait également très bon ménage avec Play! et Symfony. Le système de Play! est assez différent puisque, comme Grails, il ne génère pas du code, mais affiche le rendu à la volée.
Reste donc à choisir le Framework parmi Symfony, Play!, Roo, ou Grails. Pour cela, DocDoku est à votre service pour vous apporter les conseils nécessaires.