Je cherche à essayer JRuby et JRuby sur Rails. J'ai du mal à trouver des informations sur la différence entre JRuby on Rails et Ruby on Rails.
Quelles sont les différences que je dois rechercher?
Je cherche à essayer JRuby et JRuby sur Rails. J'ai du mal à trouver des informations sur la différence entre JRuby on Rails et Ruby on Rails.
Quelles sont les différences que je dois rechercher?
JRuby est le rubis de mise en œuvre qui s'exécute sur une machine virtuelle java alors que Matz ruby est un C mise en œuvre.
Principales caractéristiques à prendre en compte sont:
Il existe d'autres différences qui sont énumérés à l'jruby wiki:
Je suis surpris, il y a une chose essentielle manquant dans toutes les réponses à cette question, liée à GIL.
La principale différence faut-il se préoccuper de l'esp. dans les web-applications tels que ceux construits avec des Rails est vrai simultanéité ("Global Interprète de Verrouillage"). Lorsque deux threads en cours d'exécution (par exemple, desservant 2 demandes de l'utilisateur) avec JRuby ils sont capables de fonctionner simultanément dans un même processus, alors que dans l'IRM, il y a la GIL (même avec 1,9 natif des threads) qui évite d'exécuter du code Ruby en parallèle.
Pour le développeur de l'application, c'est la première chose à garder à l'esprit tout en tenant compte de JRuby, comme il brille vraiment avec config.threadsafe!
mais exige de vous assurez-vous que votre code (et vos gemmes code) pour être "vraiment" thread-safe.
Je peux me tromper, mais je pense que vous pouvez emballer une application JRuby on Rails d'une manière que vous ne pouvez pas faire avec un RoR normal - regardez Mingle ou similaire. Permet de vendre sans laisser tomber votre pantalon / ouvrir le komono.
Cela dit, je ne connais pas assez bien les emballages RoR, alors ne me retenez pas :)
la plupart du temps, cela devrait fonctionner de la même manière. dans jRoR vous pouvez accéder à des choses que vous n'auriez pas dans RoR. Généralement, il s'agit principalement d'un problème de déploiement.
Toutefois, si votre application RoR utilise des bibliothèques natives ne disposant pas d'un équivalent s'exécutant sur la machine virtuelle Java, cela peut s'avérer difficile. Cependant, la plupart des librairies ont une version non native disponible (du moins les plus populaires que j'ai rencontrées).
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.