Ruby on Rails vs Java
Par Ludovic Toinel le dimanche 20 mai 2007, 22:17 - Vidéos - Lien permanent
Simple comme vidéo mais tellement vrai ..
Utiliser Java comme langage de développement Web offre pas beaucoup de possibilité surtout avec les nouveaux frameworks MVC comme JSF, Tapestry, Spring MVC. Cependant la problématique est toujours là, il faut agglomérer un panier de librairies pour obtenir une application. Et ces librairies ne sont pas forcement compatibles entre elles dans le cas de dépendances croisées.
Typiquement sur une application Web2.0 développé en Java, il faut :
- Un framework MVC : JSF, Struts, Tapestry, Spring MVC ..
- Un framework Ajax : Ajax4jsf, DWR, GWT ...
- Une librairie de persistance de données : Hibernate, EJB3.
- Spring pour gluer le tout.
- Les librairies dépendantes à toutes ces librairies.
Pour développer une application contenant 3 pages Web, on se paluche une 30 aine de librairies (jars). Au final ça marche, mais il faut des compétences très pointus pour obtenir une application robuste et maintenable dans le temps. Sans parler des problématiques de configuration du serveur d'application mis en oeuvre.
Je pense que RoR à pas mal d'avenir devant lui 
Dernières News
Nuage de Tags
Archives
RSS des articles
Souscrire par email



Commentaires
Pour PHP, je vous conceil cakephp (www.cakephp.org).
Pour l'ajax, il s'uffit également d'inclure la librairie javascript "prototype", dans le site, mais la aussi aucune ligne js a écrire, les "helpers" de cakephp faisant tout.
En réalité, CakePHP est le portage de RoR pour PHP (et n'as rien a y envier), et donc je vous le conseil également, et permet de garder une homogénéité dans un parc info.
Merci pour l'info Richard !
Je ne connaissais pas ..
J'avais vaguement entendu parlé de RoR... pour le programme classique Ruby ne m'a pas trop séduit, mais cette vidéo m'a convaincu d'essayer Ruby on Rails !
Je pense qu'il faut remettre les choses à leur place.
Developper 3 pages ... je m'irais pas vers RoR non plus ..
Pour les applications de classes moyenne, je dirais "RoR" car c'est super top.
Mais pour une application de grande envergure ayant besoin d'une réel stabilité et de standardisation "entreprise", ben J2EE.
Car je ne pense pas que RoR possède la rigueur et la puissance de Java.
RoR est certe mieux placé que J2EE pour certaine application genre 3-Tier, mais au dela avec tous ce qu'on peut voir dans les clusters etc. RoR a encore trop de travail,
ne comparons pas ce qui n'est pas comparable, java est certainement l'outil le plus performant pour développer des APPLICATIONS Web, java c'est une multitude de frameworks, de librairies, de possibilités, c'est interopérable avec tout, il existe même une couche JRUBY et JPYTHON, dans les technologies web, java est le langage le plus rapide (environ 50x plus rapide que le php http://www.timestretch.com/FractalB...), de plus il est compilé en mémoire dans les serveurs d'application, ceux-ci permettent de gérer plusieurs niveaux de cache, la persistance des données, les pools de connexions, etc.. java tiens donc mieux la charge, mes propres essais m'ont démontré que pour une même page web avec accès aux bases de données un test du type ab -c 300 -n 1000 http://etc... donne les résultats suivants
un serveur Glassfish ou tomcat peut gérer facilement 500 requests per second, là ou apache/php en gère à péniblement 30.
De plus java évolue rapidement et dans le bon sens, soutenu par les poids lourds de l'industrie IBM, SUN, ORACLE, etc..
comparer par exemple php à java c'est comme comparer une twingo à une mercedes classe S.
Je vous conseille de lire l'ouvrage suivant de Bruce Tate, qui à été ingénieur chez IBM, consultant Java international pendant plusieurs années et auteur de plusieurs best seller dont un en faveur de java :
http://www.pragmaticprogrammer.com/...
Dans son ouvrage, Bruce Tate argumente pour Ruby et contre Java, démontrant que Ruby représente la prochaine révolution des langages informatiques. D'après lui, tous les dix ans, depuis l'avènement de l'ordinateur, un nouveau langage apparait venant détrôner des technologies arrivant à bout de souffle : Fortran vs Assembleur, C vs Fortran, C++ vs C, Java vs C++ etc... Chaque révolution connait ses détracteurs qui refusent de remettre en questions leurs acquis et argumentent en faveur du conservatisme.
Son bilan est clair : La plateforme Java touche aux limites de son extensibilité, créant un niveau de complexité tel qu'il devient difficile à un seul programmeur de la maitrisée dans son ensemble. Les langages interprétés sont l'avenir du développement tant d'entreprise qu'industriel et ce, malgré l'évidence même de leur manque de performance : La puissance des machines est au service de l'homme, non l'inverse. Si tel n'était pas le cas, nous coderions encore tous en assembleur.
Et si Grails http://grails.org/ mettait tout le monde d'accord? Les atouts indéniables de RoR, mais une intégration très soignée dans le monde Java : framework s'appuyant sur Spring, Hibernate...