2012-05-10 4 views
26

Je commence actuellement à construire une application PhoneGap, je connais les avantages de la réduction du code pour les navigateurs. Cependant, je me demandais si cela valait la peine de réduire mon code HTML, JavaScript et CSS pour mon application PhoneGap?Code mini pour PhoneGap App?

Je comprendrais que le code s'exécute plus rapidement potentiellement plus rapidement?

Si c'est le cas, y at-il une application qui fera tout pour moi? (Quand je dis le faire pour moi, je veux dire prendre un répertoire sur ma machine et rapetisser le code enregistrement d'une version .min.js? Ou est-ce un simple fichier par fichier?)

Merci à l'avance pour toute aide

+0

You pourrait utiliser [this] (http://jscompress.com/) ou [this] (http://dean.edwards.name/packer/) pour les codes js. – hkutluay

Répondre

13

En général, cela ne vaut pas la peine de réduire l'application PhoneGap. La réduction est bénéfique pour l'application Web car elle réduit la taille de chaque requête. Avec PhoneGap, tous vos fichiers HTML/JS/CSS seront regroupés dans un package d'application (qui est compressé en btw.) Et téléchargés une fois lors de l'installation de l'application. Il n'y aura donc pas de gains de vitesse.

+1

C'est ce que je pensais cependant, je pensais que le moteur pourrait fonctionner plus vite? bien que cela puisse être en millisecondes –

+1

@NickWhite Je ne pense pas, que vous obtiendrez des gains (au moins mesurables/notables) de cette façon. Je dirais - ne le faites pas, car vous compliquerez votre processus de construction/déploiement sans gagner de valeur. – PiRX

+0

ouais pense que vous avez raison pour le conseil/aide :) –

27

Bien chatouiller mes pieds et m'appeler grand-mère, mais j'ai minifié le javascript pour mon application phoneGap, et il améliore très certainement les performances.

Bien sûr, il n'y a pratiquement aucune différence en termes de taille du package d'application. Ainsi, une fois qu'un utilisateur télécharge et installe l'application, il n'y a aucun gain réel à réduire.

Mais chaque fois que l'utilisateur exécute l'application, ayant javascript minifié fait toute la différence. Même si le fichier est local, il doit toujours être chargé dans le «navigateur», et les fichiers plus petits sont chargés plus rapidement et commenceront donc à s'exécuter plus tôt.

Et il y a de fortes chances que vous ayez beaucoup de javascript puisque la plupart des applications veulent "faire" quelque chose au lieu de simplement fournir du contenu HTML passif.

Je songe à réduire le fichier phonegap.js lui-même. Toutes les pensées à ce sujet sont très appréciées.

+0

Lorsque vous dites que les fichiers les plus petits sont chargés plus rapidement, faites-vous référence aux performances d'E/S? Ou le processus de chargement du navigateur? – sgimeno

+1

Les petits fichiers auront fini le chargement plus tôt que les fichiers volumineux. Je n'ai aucune raison de croire qu'ils obtiennent un taux d'E/S plus rapide du navigateur. Les gros livres prennent plus de temps à lire que les petits livres :) – Wytze

+2

Avez-vous exécuté des tests de performance pour quantifier le gain de performance? –

18

Une réponse du représentant PhoneGap, copié à partir PhoneGap Community Forum:.

« Pas nécessairement compression JavaScript est le plus important pour le réseau performances - des applications web qui demandent des fichiers à partir serveurs distants doivent attendre que le fichier à télécharger, afin d'avoir un fichier plus petit rend le processus beaucoup plus lisse.

Ce qui compte sur les appareils mobiles, et PhoneGap applications spécifiquement, est mémoire, plutôt que le trafic réseau. alors que vous pouvez obtenir de la mémoire bénéficie d'exécuter un fichier JS minifié, l'original et le fichier minifié sont interprétés dans le même code *, de sorte que la différence est négligeable.

Dans la plupart des cas, la réduction de JavaScript est faible dans la liste des priorités pour une application PhoneGap."

2

Cela pourrait être un peu en retard, mais si vous êtes toujours intéressé par minifying le code de votre application, je fait un paquet MNP minifies votre Javascript, CSS, et les fichiers image appelée cordova-minify (https://www.npmjs.org/package/cordova-minify).

Mon projet est également sur GitHub, donc si vous voulez contribuer et/ou voir ce qui est sous le capot, il est là - https://github.com/alastairparagas/cordova-minify C'est pratiquement un Cordova Hook qui appelle des dépendances de paquetage NPM pour faire la compression respective

+1

Ceci est utile – Mirko

+1

Cela ne répond pas à la question, qui est de savoir si la minification est bénéfique. – Flimzy

+0

Je dirais que si la minification ne dérange pas la fonctionnalité de votre application, alors c'est toujours une chose. –