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

Les rubriques (actu, forums, tutos) de Développez
Tags
Réseaux sociaux


 Discussion forum

Sur le même sujet
Le , par vermine, Responsable JavaScript & AJAX
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 :
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é ?


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse

Avatar de transgohan transgohan
http://www.developpez.com
Expert Confirmé Sénior
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 ?
Avatar de Xinu2010 Xinu2010
http://www.developpez.com
Membre confirmé
le 23/10/2012 13:27
Citation Envoyé par transgohan  Voir le message
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 ?

Pour faire du ski nautique ?
Avatar de rg77140 rg77140
http://www.developpez.com
Membre expérimenté
le 23/10/2012 13:49
Citation Envoyé par Xinu2010  Voir le message
Pour faire du ski nautique ?



Citation Envoyé par transgohan  Voir le message
Pourquoi emmener les skis dans ton coffre quand tu vas à la mer ?

Parce que je n'ai pas la place. Tu manques à ce point de place sur tes disques dur pour ne pas pouvoir embarquer un framework ? Mauvais exemple...

Si encore tu me disais que c'était pour des raisons de performance. Si tel est le cas alors oui c'est un argument valable. Il faudra alors peser le pour et le contre entre stabilité, maintenabilité, rapidité, etc... Mais bon je pense qu'il faut quand même rentrer dans des cas assez particuliers pour qu'un framework JS te posent des soucis de performances (mais je ne dis pas que c'est impossible). Personnellement que ça soit avec Mootools ou jQuery je n'ai jamais eu de soucis de performances...

EDIT : Comme je le disais plus haut : chacun fait son choix en fonction des critères de son projet. En ce qui me concerne la maintenabilité, la robustesse, les tests, etc.. passent avant des critères tels que : "avec du JS pur je peux effectuer 80 000 getElementById à la seconde, alors qu'avec jQuery je ne peux en faire que 70 000" (exemple pris totalement au hasard).
Avatar de transgohan transgohan
http://www.developpez.com
Expert Confirmé Sénior
le 23/10/2012 14:07
Mouais peut être question de philosophie... C'est vrai qu'à l'heure de l'ADSL...
Personnellement je travaille dans les systèmes embarqués, donc quand il est question d'optimiser des appels de fonction ou de place c'est jamais anodin.

N.B : mon message plus haut n'était pas hors-sujet, je fais du développement web sur mes temps libres.
Avatar de Zefling Zefling
http://www.developpez.com
Membre Expert
le 23/10/2012 14:38
Citation Envoyé par moriarti13  Voir le message
tu peux aussi laver ton linge à la rivière. c'est un choix

étonné que l'article ne parle pas de Node.js

Plutôt que de copier/coller 20 lignes de code tu préfères utiliser 100 Ko de code dont 99% ne servira à rien ?
Avatar de Xinu2010 Xinu2010
http://www.developpez.com
Membre confirmé
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.
Avatar de Zefling Zefling
http://www.developpez.com
Membre Expert
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.
Avatar de vermine vermine
http://www.developpez.com
Responsable JavaScript & AJAX
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.
Avatar de Traroth2 Traroth2
http://www.developpez.com
Expert Confirmé Sénior
le 23/10/2012 17:10
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.

Même pour 2 ou 3 lignes, ne pas utiliser de framework, c'est s'exposer à tous les vieux problèmes d'incompatibilité entre navigateurs. C'est ça, magie du Javascript !
Offres d'emploi IT
Assistant chef de projet
Alternance
BVA - Ile de France - Boulogne-Billancourt (92100)
Parue le 07/08/2014
Analyste/ Technicien Exploitation h/f
CDI
Atos Technology Services - Suisse - Strasbourg
Parue le 18/08/2014
Ingénieur de développement COBOL- Strasbourg H/F
CDI
BULL FR - Suisse - Strasbourg
Parue le 30/07/2014

Voir plus d'offres Voir la carte des offres IT
 
 
 
 
Partenaires

PlanetHoster
Ikoula