IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Sondage sur l'utilisation des bibliothèques JavaScript
Par Peter-Paul Koch

Le , par vermine

26PARTAGES

2  0 
[Octobre 2012] Sondage sur l'utilisation des bibliothèques JavaScript par Peter-Paul Koch

Peter-Paul Koch est un formateur, consultant et stratège des plate-formes mobile. Il se spécialise dans la compatibilité des navigateurs au niveau des CSS, du JavaScript et du HTML. Dernièrement, il a effectué un sondage au sujet de l'utilisation des bibliothèques JavaScript et il a publié les résultats. Au moins 3 350 personnes ont répondu. Avec près de 155 000 réponses au total et près de 1 700 réponses pour la question qui en a reçu le moins, il estime que ce sondage est assez représentatif de ses lecteurs et des lecteurs de ses lecteurs et donne donc des informations véritablement utiles sur l'utilisation actuelle des bibliothèques JavaScript.

En moyenne, les participants au sondage ont utilisé 3,5 bibliothèques dans la dernière année et environ 2 dans plus de 50 % de leurs projets. Bien sûr, ce dernier chiffre pourrait signifier qu'ils utilisent une bibliothèque dans 50 % de leurs projets et une autre dans les autre 50 %.

95 % utilisent des bibliothèques, ce qui signifie que 5 % ne le font pas. Ça représente un certain nombre, mais ce n'est pas énorme.

59 % aurait pu finir leur dernier projet sans une bibliothèque. Ce n'est pas trop mal, mais cela signifie que 41 % ne l'aurait pas pu.

42 % font tout ce qu'ils peuvent avec leurs bibliothèques actuelles parce qu'apprendre à utiliser une nouvelle prend trop de temps.

La bibliothèque la plus utilisée est jQuery avec 91 %.

La deuxième la plus utilisée est Modernizr (58 %) et ensuite viennent underscore.js (33 %) et backbone.js (30 %).

De 25 à 40 % des utilisateurs d'une bibliothèque l'utilise dans au moins 50 % de leurs projets. Pour Modernizr, underscore.js et surtout jQuery, ce pourcentage est plus élevé. Pour Zepto, Sencha Touch et Raphael.js, ce pourcentage est beaucoup plus faible.

Les résultats et le sondage sont ici. Vous pouvez créer plus de tableaux si vous le souhaitez. Il y a pas mal d'informations à cet endroit. Notez qu'il n'est pas possible de fermer un sondage Urtak, donc les visiteurs pourraient continuer d'envoyer des réponses, et donc les pourcentages peuvent changer progressivement.

En général

Questions générales sur l'utilisation des bibliothèques.

  • Avez-vous utilisé une bibliothèque JavaScript cette année ? 95 %
  • Avez-vous utilisé une bibliothèque JavaScript dans au moins 50% de vos projets ? 91 %
  • En général, trouvez-vous que les bibliothèques JavaScript actuelles sont faciles d'utilisation et assez performantes pour les mobiles ? 75 %
  • Avez-vous commencé à utiliser une nouvelle bibliothèque JavaScript cette année ? 60 %
  • Dans le dernier projet pour lequel vous avez utilisé une bibliothèque JavaScript, auriez-vous pu écrire les scripts vous-même sans l'aide d'une bibliothèque ? 59 %
  • En général, trouvez-vous que les micro bibliothèques sont une meilleure approche que les grandes bibliothèques plus complètes comme jQuery, YUI ou bien MooTools ? 47 %
  • Est-ce que le temps nécessaire pour apprendre une nouvelle bibliothèque vous rebute au point de ne pas le faire ? 42 %
  • Avez-vous déjà contribué au développement d'une bibliothèque JavaScript ? 28 %
  • Cette année, avez-vous changé de bibliothèque JavaScript pour une autre en plein milieu d'un projet ? 24 %
  • Avez-vous utilisé un micro framework comme qwery, reqwest, bonzo ou domReady cette année ? 17 %


Les bibliothèques de manière individuelle

Pour chaque bibliothèque, deux questions ont été posées :

1. Avez-vous utilisé [nom] cette année ?
2. Utilisez-vous [nom] dans plus de 50 % de vos projets ?

Ceux qui ont dit "oui" à la première question sont les "utilisateurs". Ceux qui ont dit "oui" à la deuxième question sont les "utilisateurs réguliers". La colonne d'"analyse croisée" affiche le pourcentage de ceux qui ont répondu à la première question par "oui" et qui ont également répondu à la deuxième question par "oui". Remarque : si la première question a été répondue par "oui" avec moins de 100 personnes, l'analyse croisée n'est pas calculée.

Donc 58 % des participants au sondage ont utilisé Modernizr au moins une fois cette année, 35 % l'ont utilisé dans au moins 50 % de leurs projets, et parmi ceux qui l'ont utilisé au moins une fois, 57 % l'ont utilisé dans au moins 50 % de leurs projets.

Raphael, Zepto et Sencha Touch ont un score faible sur l'analyse croisée. Évidemment les gens ne l'utilisent pas dans de nombreux projets, bien que tous trois sont raisonnablement bien utilisés. La raison la plus probable est que ces bibliothèques sont là pour des cas d'utilisations très spécifiques qui ne se produisent pas dans tous les projets.

Code : Sélectionner tout
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
  Bibliothèque  Utilisateurs  Utilisateurs  Analyse  
                               réguliers    croisée
-----------------------------------------------------  
        jQuery 	     91% 	   80%         87%
     Modernizr 	     58% 	   35%         57%
 underscore.js 	     33% 	   16%         48%
   backbone.js 	     30% 	   11%         34%
    Raphael.js 	     19% 	    3%         10%
           YUI 	     15% 	    6%         37%
Google Closure 	     15% 	    7%         38%
         Zepto 	     13% 	    3%         17%
     Prototype 	     13% 	    5%         27%
        Ext.js 	     11% 	    4%         30%
      MooTools 	     10% 	    4%         34%
    KnockoutJS 	     10% 	    4%         31%
  Sencha Touch 	     10% 	    2%         15%
     AngularJS 	      8% 	    3%         31%
         Ember 	      6% 	    2%         23%
          Dojo 	      6% 	    2%         29%
      Kendo UI 	      4% 	    2%          *
        EnyoJS 	      3% 	    2%          *
        xui.js 	      2% 	    1%          *
       qooxdoo 	      1% 	    1%          *
     Stapes.js 	      1%  	    1%          *
-----------------------------------------------------       
         Total 	     359 	   194          -
Source : l'article sur QuirksMode.

Et vous ?

Quelles seraient vos réponses à ce sondage ?
Les questions sont-elles pertinentes ?
L'échantillon et le résultat vous paraissent-ils représentatifs de la réalité ?

Une erreur dans cette actualité ? Signalez-nous-la !

Avatar de transgohan
Expert éminent https://www.developpez.com
Le 23/10/2012 à 8:49
J'ai plutôt une question qui pourrait remettre en question toutes ces stats.

Quel est le type de projet qu'ils ont développé ?

Car bien évidemment moi il m'arrive de faire des projets où le code javascript se résume à quelques lignes, d'autres à plusieurs fichiers. Il va sans dire que dans le premier cas utiliser une librairie est une erreur.
4  0 
Avatar de Gugelhupf
Modérateur https://www.developpez.com
Le 23/10/2012 à 10:34
Je suis sûr qu'il y en a qui se savent pas qu'on peut faire de l'AJAX sans framework en quelques lignes.
Je suis sûr que si, mais c'est tellement plus simple avec jQuery...
3  0 
Avatar de moriarti13
Nouveau membre du Club https://www.developpez.com
Le 23/10/2012 à 11:08
Citation Envoyé par Zefling Voir le message
C'est souvent qu'on voit utiliser un framework (Jquery la plupart du temps) juste pour 2-3 « effets ». Juste par facilité, c'est plus simple de mettre 3 lignes que de coder l'effet.

Je suis sûr qu'il y en a qui se savent pas qu'on peut faire de l'AJAX sans framework en quelques lignes.
tu peux aussi laver ton linge à la rivière. c'est un choix

étonné que l'article ne parle pas de Node.js
3  0 
Avatar de
https://www.developpez.com
Le 23/10/2012 à 12:02
mais cette fonction tu la code qu'une seule fois pour tous tes projets et tu lui donne le nom que tu veut et si tu l'appel a sa donne

Code : Sélectionner tout
a("test.php");
et la tu fait mieux que jquery
4  1 
Avatar de rg77140
Membre confirmé https://www.developpez.com
Le 23/10/2012 à 11:48
Citation Envoyé par Zefling Voir le message
C'est souvent qu'on voit utiliser un framework (Jquery la plupart du temps) juste pour 2-3 « effets ». Juste par facilité, c'est plus simple de mettre 3 lignes que de coder l'effet.

Je suis sûr qu'il y en a qui se savent pas qu'on peut faire de l'AJAX sans framework en quelques lignes.
A ma connaissance, sans jQuery tu dois faire un truc du genre :
Code : Sélectionner tout
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
function getXMLHttpRequest() {
	var xhr = null;
	if (window.XMLHttpRequest || window.ActiveXObject) {
		if (window.ActiveXObject) {
			try {
				xhr = new ActiveXObject("Msxml2.XMLHTTP");
			} catch(e) {
				xhr = new ActiveXObject("Microsoft.XMLHTTP");
			}
		} else {
			xhr = new XMLHttpRequest(); 
		}
	} else {
		alert("Votre navigateur ne supporte pas l'objet XMLHTTPRequest...");
		return null;
	}
	return xhr;
}

var xhr = getXMLHttpRequest();
xhr.open("GET", "test.php", true);
xhr.send(null);
Sachant que la fonction getXMLHttpRequest peut évoluer dans le temps et qu'il te revient de la maintenir.

En jQuery :
Code : Sélectionner tout
$.get("test.php");
Dans ce cas tu te concentres juste sur ton code métier. Si la fonction get doit évoluer avec les nouveaux navigateurs c'est à jQuery qu'il en revient la responsabilité.

Je ne parle des cas où tu souhaites faire des choses un peu plus poussées (effectuer des callback en cas de succès, échec, etc...)

Chacun fait son choix, moi j'ai fait le mien
1  0 
Avatar de transgohan
Expert éminent https://www.developpez.com
Le 23/10/2012 à 13:20
Citation Envoyé par rg77140 Voir le message
Roh quand même... Je ne parlais pas du nom de la fonction...

Ta fonction même si tu la mutualises sur tous tes projets tu es quand même bien obligé de la maintenir, de la tester... Pourquoi vouloir le faire quand un framework le fait déjà très bien ? Je ne vois pas l'intérêt de réinventer la roue...

Je préfère me concentrer sur les fonctionnalités de mon application que sur des choses aussi bas niveau et mutualisables que l'ajax...
Tout simplement car le framework embarque tout un tas d'autres trucs dont tu n'as pas l'utilité.
Pourquoi emmener les skis dans ton coffre quand tu vas à la mer ?
1  0 
Avatar de Xinu2010
Membre averti https://www.developpez.com
Le 23/10/2012 à 14:56
Citation Envoyé par Zefling Voir le message
Plutôt que de copier/coller 20 lignes de code tu préfères utiliser 100 Ko de code dont 99% ne servira à rien ?
Oui et au fur et à mesure que le site évoluera, tu perdras ton temps à ré-implémenter les concepts de JQuery, rendre le code compatible multi-navigateur (gros plus des framework js), au lieu de te concentrer sur la logique de ton application.
1  0 
Avatar de Zefling
Expert confirmé https://www.developpez.com
Le 23/10/2012 à 15:13
Tout dépends le projet. J'ai un petit projet (petit application web), si je mets Jquery je double sa taille et en encore il faudrait aussi UI alors que le code JS prend que 100 lignes sans framework. C'est sûr avec ça en prendrait moins. Je connais très bien Jquery, et je ne vois toujours l'utilité de l'utiliser dessus.

Après tout dépend du projet, de la cible, de sa vision à long terme. Sur d'autre projet, la première chose que je fais c'est ajouter Jquery car je sais que j'en aurait besoin.

Bref, pas besoin d'une usine de nettoyage pour laver un mouchoir.
1  0 
Avatar de vermine
Expert éminent sénior https://www.developpez.com
Le 23/10/2012 à 15:18
Pour en revenir au sondage, qui est le sujet principal (), on peut constater que certaines "micro" bibliothèques sont utilisées dans un pourcentage plus gros que des frameworks complets. Ce qui diminue le poids et l'ajout de code inutile.
1  0 
Avatar de vermine
Expert éminent sénior https://www.developpez.com
Le 23/10/2012 à 9:12
Il va sans dire, cependant, beaucoup de développeurs en herbe qui ne connaissent pas le JavaScript optent souvent pour la (fausse ?) facilité des frameworks même pour quelques lignes de code. Le type de projets n'est pas précisé. On peut supposer qu'il y a donc de tout.
0  0