10 mai 09
Passage à Ruby On Rails…ou pas
Posté dans Naeka | Tags :Framework, PHP, Rails, Zend | 5 Commentaires »
Le mois d’avril dernier a été pour toute la joyeuse équipe de Naeka l’occasion de tester Ruby On Rails. L’occasion de passer sur un Framework qui nous paraissait très bien. Vous avez compris, j’ai parlé au passé car on va pas dire que se fut une franche réussite. Et ça s’est conclue par un arrêt pur et simple du test de RoR…pour l’instant.
Je sais que pas mal de monde voulait un feedback de notre apprentissage. Donc je vais essayer de le donner à ma sauce. La première chose c’est qu’en passant sur RoR il faut apprendre un nouveau langage qu’est Ruby. Même si dans les grandes lignes c’est un langage comme un autre il faut quand même l’apprendre. Un point qui n’est pas à négliger.
La seconde chose et qui là est le point central de l’abandon de Rails, c’est le manque de documentation. Et je ne parle même pas de documentation française ! On a bossé avec l’aide d’un livre assez bien fait mais ce n’est qu’un livre. Dès que l’on cherche quelque chose sur internet il est assez rare de trouver ce qu’on recherche. Et quand on trouve ce que l’on cherche c’est souvent de la documentation qui n’est plus à jour. De belles soirées passées à s’arracher les cheveux !
Car c’est bien là que se pose aussi le problème. Rails évolue vite. Très vite. Trop vite. Du coup entre 2 versions majeures (v1 et v2) une majorité des choses qui existaient n’existent plus. Si vous aviez de la documentation pour la version 1 de Rails vous pouvez la jeter, et c’est quand même très embêtant…Et on retrouve le même phénomène à l’intérieur des branches mineures. De la documentation de 2008 ne marchera pas (sauf avec de la chance) avec la version 2009 de Rails. Rails n’est donc pas rétro-compatible. Très très embêtant…
Il y a quand même des points positifs que je vais vous lister car je commence à trop parler :
- Le code est très clair et mieux découpé
- La possibilité de créer des choses fonctionnelles très rapidement
- Assez bonne gestion de l’Ajax
- Orienté gros projets
- MVC (Model View Controller)
- Abstraction de la base de donnée
- Plugins (mais pas toujours documentés)
Dernière chose qui n’a pas été un sentiment partagé par tout le monde. En effet il est assez difficile de comprendre ce qu’il se passe dernière la machine qu’est RoR. En une ligne vous sélectionnez, recherchez et sauvegardez un élément dans votre BDD. Personnellement ça me fait mal au cul de pas savoir comment ça se passe. Du coup on peut pas optimiser, sécuriser (même si Rails le devrait pouvoir le faire tout seul). Il y a trop d’abstraction pour moi.
Du coup on repasse à notre très cher ami PHP en testant Zend Framework. Et si c’est pas concluant on fera notre propre Framework PHP. Naa !
Autrement, amis lecteurs, sur quel framework travaillez-vous ? Lequel recommanderiez vous ?




