Florian, tu m'as convaincu. Le principe me plaisait beaucoup mais je crois
effectivement que si c'est nécessaire de réécrire les librairies javascript
ça ne sert à rien.
J'ajoute que ça peut être difficile de distinguer quels sont les fonctions
disponible en opal. Par exemple :
puts('test'.capitalize) # donne Test
mais
puts('test'.capitalize!) # donne "Object test has no method capitalize!"
Au moins avec CoffeeScript, c'est clair que c'est du javascript. Un
compilateur similaire à ruby devrait couvrir 99% des RubySpec. Mais bon,
Opal est juste en version 0.5.4.
Le 3 mars 2014 20:57, Florian Dutey <[email protected]> a écrit :
> Pourquoi je trouve ca trop complique?
>
> Tout simplement parce que traduire du coffee en javascript mentalement est
> tres simple. Coffeescript est du javascript avec un peu de sucre syntaxique.
> Opal, c'est une implementation de ruby en javascript, ca n'a absolument
> rien a voir. Le fait qu'il faille une gem pour pouvoir utiliser jQuery, je
> trouve ca juste effrayant. Si tu lis un peu le code de opal-jquery, tu
> pleures. Si je veux toucher a une propriete que opal a pas prevue? Je dois
> l'ajouter moi meme?
> Si j'ai besoin de quelque chose qui est pas dans opal, il faut d'abord que
> j'ecrive la gem qui correspond?
> Le fait de l'ecrire en ruby ne me fait rien gagner par rapport au
> coffescript. C'est pas plus rapide (il y a meme plus a ecrire en ruby avec
> les 'end'), la sortie n'est pas plus lisible (au contraire, en general, les
> concatenations massives sont degueus), le code est pas plus optimise.
> Si en plus je dois mettre les mains dans le camboui des que je veux
> utiliser quelque chose, ca me fait perdre du temps, donc c'est un mauvais
> outil.
> Et tu peux me dire "oui mais ya plein de choses comme ca ou tu dois ecrire
> toi meme les trucs". Oui, pour du metier client, ou pour mon metier.
> Quelque chose qui va creer de la valeur pour moi (BVA) ou pour mon client
> (CVA). Mais si la chose existe deja et que mon outil m'empeche de
> l'utiliser, et que le code que j'ecris est pour faire marcher quelque chose
> qui marche deja tout seul, et bien j'estime que je detruis de la valeur.
>
> Je sais pas qui sont tes clients, mais si les mecs sont prets a te payer
> pour que tu fasses des bindings opal, envoie les moi. J'ai plein de
> frameworks inutiles a ecrire et j'aimerai bien qu'on me paie pour ca. (la
> petite ligne de troll qui va bien).
>
> Un compilo comme coffeescript traduit une syntaxe vers une autre. Ca a
> pour effet d'etre predictible et comprehensible.
> Avec opal, chaque methode peut potentiellement renvoyer du code
> differemment pense, ecrit, etc... en fonction de qui l'a ecrit. Quand tu te
> retrouves avec 5 gems qui sont codees dans 5 styles differents, le debug
> commence a devenir coquin.
> Ensuite, chaque "binding" ajoute son lot potentiel de bugs. J'utilise
> jQuery, jQuery est stable mais contient des bugs. C'est donc des problemes
> potentiels en production. Pourquoi je devrai ajouter des bugs
> supplementaires wrappes dans une gem alors que le resultat en terme de
> valeur est quasiment null?
>
> Enfin. tester du javascript et du ruby ne fait aucune difference a mon
> sens. Je vois vraiment pas la difference entre rspec et jasmine, a part un
> brin de syntaxe
>
> Et si t'es toujours pas convaincu, tu vas sur cette page:
> http://opalrb.org/try/ et tu reflechis a comment on debug un model qui
> fait 500 lignes (en ruby) une fois traduit en opaljs degueu.
>
> Pour moi c'est un projet d'etudiant. C'est marrant, ca a plus d'interet a
> etre ecrit qu'a etre utilise, l'interet est purement technique et scolaire.
> C'est impressionnant, ca claque devant un jury d'ecole d'ingenieur, tu peux
> leur lacher que tu fais comme GWT tellement t'es trop puissant. Mais sorti
> de la, dehors c'est le monde de la production. Le monde reel avec des
> clients, des factures et de l'argent entre les 2.
>
> Mais je peux me tromper.
>
>
> Le 4 mars 2014 04:05, thierry henrio <[email protected]> a écrit :
>
> 2014-03-03 18:34 GMT+01:00 Guirec Corbel <[email protected]>:
>>
>>> C'est peut-être pas une bonne raison, mais j'ai du mal à tester mon
>>> javascript avec CoffeeScript alors que je penses que je le ferais avec Opal
>>> étant donné qu'il y a une implémentation similaire à RSpec et donc que je
>>> n'ai pas besoin de réapprendre un nouvel outil.
>>>
>>
>> Ce n'est pas une bonne raison IHMO
>> il faut savoir tester son javascript
>> que tu choisisse d'écrire ton js en coffee ne change rien au problème de
>> tester le javascript qui tourne dans le browser
>> .
>> mocha est pas mal pour ça... que ce soit node ou browser
>> ( si tu veux prendre le chemin je teste mon module avec node, il y a
>> browerserify )
>>
>> opal a besoin d'un runtime
>> l'exemple https://github.com/opal/opal-rspec#readme utilise un browser
>> ou phantom ...
>> C'est comme d'utiliser mocha ( si ce n'est que mocha tourne aussi sur
>> node ... )
>>
>> Utiliser une lib dans le browser pour compiler du xxx en yyy, personne ne
>> fait ça, que yyy soit du js ou du css ( enfin, je crois :)
>>
>> Serious, Thierry
>>
>> --
>> --
>> Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance"
>> de Google Groups.
>> Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse
>> [email protected]
>> Pour résilier votre abonnement envoyez un e-mail à l'adresse
>> [email protected]
>> ---
>> Vous recevez ce message, car vous êtes abonné au groupe Google
>> Groupes Railsfrance.
>> Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le
>> concernant, envoyez un e-mail à l'adresse
>> [email protected].
>> Pour plus d'options, visitez le site
>> https://groups.google.com/groups/opt_out .
>>
>
> --
> --
> Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de
> Google Groups.
> Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse
> [email protected]
> Pour résilier votre abonnement envoyez un e-mail à l'adresse
> [email protected]
> ---
> Vous recevez ce message, car vous êtes abonné au groupe Google Groupes
> "Railsfrance".
> Pour vous désabonner de ce groupe et ne plus en recevoir les messages,
> envoyez un e-mail à l'adresse [email protected].
> Pour obtenir davantage d'options, consultez la page
> https://groups.google.com/groups/opt_out.
>
--
--
Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de
Google Groups.
Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse
[email protected]
Pour résilier votre abonnement envoyez un e-mail à l'adresse
[email protected]
---
Vous recevez ce message, car vous êtes abonné au groupe Google Groupes
Railsfrance.
Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le concernant,
envoyez un e-mail à l'adresse [email protected].
Pour plus d'options, visitez le site https://groups.google.com/groups/opt_out .