2016-04-24 1 views
0

Contexte: Dans notre université, une bibliothèque Javascript pour la programmation peer-to-peer mobile a été développée. A l'origine, il utilisait le titane pour être multi-plateforme. Cependant, si le programmeur veut utiliser notre bibliothèque, il doit utiliser Titanium. Par conséquent, mon travail consistait à le rendre indépendant du cadre, et à ajouter du soutien pour Cordova. Maintenant, les gens peuvent utiliser notre bibliothèque à la fois, Titanium et Cordova.Analyse comparative Cordova vs Titanium app

J'ai développé une application qui utilise la librairie, une fois en Titanium et une fois en Cordova. Dans une dernière étape, nous voulons comparer les deux versions, en utilisant quelques benchmarks.

Nous avions à l'esprit de comparer:

  • utilisation du processeur
  • Utilisation de la mémoire
  • Vitesse de communication
  • réactivité de l'interface utilisateur (si possible?)

Pour le vitesse de communication entre deux p Je souhaitais marquer chaque message par un horodatage au moment de l'envoi et de la réception. Puis envoyez une grande quantité de messages et calculez la moyenne.

Pour l'utilisation du processeur et de la mémoire, j'ai jeté un coup d'oeil dans les docs Titanium et Cordova. En titane j'ai trouvé Titanium.Platform.availableMemory. Cependant, j'ai encore besoin de trouver comment je peux accéder à la mémoire totale de telle sorte que je peux surveiller l'utilisation de la mémoire en faisant Total Memory - Titanium.Platform.availableMemory et encore calculer une moyenne. En outre, j'ai besoin d'un moyen de faire la même chose à Cordova.

Je n'ai pas réussi à trouver un moyen d'accéder à l'utilisation du processeur du périphérique. Et je me demande comment je pourrais surveiller la réactivité de l'interface utilisateur.

Pour Cordova, j'ai trouvé un article intéressant sur automating performance audits.

Répondre

2

Vous ne recevrez jamais des données 100% fiables en regardant les API des deux plates-formes. Vous devrez utiliser les inspecteurs natifs. Par exemple, xCode a de très bons inspecteurs pour surveiller l'utilisation de la CPU et de la mémoire, par exemple. Android a quelque chose de similaire aussi.

Si vous "construisez" pour un périphérique avec Titanium (avec lequel j'ai de l'expérience), il générera un projet xCode pour vous. Celui-ci peut être ouvert par Xcode, et à partir de là vous pouvez le reconstruire pour l'appareil et utiliser les outils de surveillance. Les projets de Cordova vont faire quelque chose de similaire, je suppose. Je ne sais pas comment ceux-ci compilent.

+0

Merci, c'est utile! En effet, Cordova génère également un projet Xcode. Je vais jeter un oeil :) – HyperZ

+0

Les différents outils d'instrumentation fournis par Xcode sont vraiment incroyables, cependant, je suis confronté à un moment difficile en essayant de reproduire les graphiques. Par exemple, j'utilise le "Time Profiler". Le graphique affiché par le profileur de temps donne une indication de l'utilisation du processeur en%. J'ai essayé d'exporter les données de piste dans un fichier CSV et de les importer en nombres pour recréer le graphique. Cependant, il n'exporte pas ce pourcentage de données dans un fichier CSV mais d'autres informations. Je n'étais pas encore capable de reproduire le graphique à cause de cela. Savez-vous comment exporter les informations sur l'utilisation du processeur (en%) dans un fichier CSV? – HyperZ