Stéphane Akkaoui a écrit : > > Le 6 févr. 09 à 10:11, Martin Catty a écrit : >> On pourrait automatiquement inclure le show.js lorsqu'un render du >> show.html.erb est effectué, avec un mécanisme de content_for par >> exemple. > > Je suis moyen bof d'accord avec ça. > En plus de multiplier les fichier de code, ça deviendrait horrible en > cas de partial (faudrait inclure leurs JS aussi ?). > Et puis ca multiplie les requêtes pour les fichiers js, donc le > chargement de la page...
C'est vrai que si tu as une vue qui render 10 partials avec chacun leur js, ça devient coûteux en requêtes http, mais ce n'est pas forcément si courant que ça. A l'inverse, combien de pages charge tout la lib prototype (voir script.aculo.us) alors qu'il n'y a aucun javascript à exécuter parfois ? > C'est mieux tout dans le application.js, non ? En plus, s'il est > compressé, c'est encore mieux) C'est clair que c'est mieux en terme de requêteq http car il y en a moins, mais ça pose plusieurs problèmes. D'abord en terme de maintenance, si j'enregistre tous les événements de page1 et page2 dans un même fichier je dois chaque fois vérifier que je suis bien dans tel contexte et pas dans l'autre. Avec de la délégation c'est plus léger mais avec beaucoup de pages ça devient vite un cauchemar. En terme de performances ça dépend de la taille de l'application. Pour une grosse appli il vaut peut être mieux charger deux fichiers de quelques ko qu'un fichier application.js de 100ko dont 90% du code ne te sert pas dans le contexte actuel. Pour une petite appli ce serait plus l'inverse. Dans le meilleur des deux mondes ce qui serait intéressant serait que le framework fasse automatiquement la concaténation des fichiers javascript avant d'envoyer ça au navigateur. Faut voir les inconvénients. -- Martin Catty || fuse http://www.noremember.org --~--~---------~--~----~------------~-------~--~----~ 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] -~----------~----~----~----~------~----~------~--~---
