Ma si usa ancora
?
Claudio Bisconti
@claudiobisconti - claudio.bisconti@comm-it.it
Web applications
Backend SOA
Mobile apps
Embedded software
Business
services
Consulenza
Il nostro laboratorio di cultura digitale
Dante Alighieri - La Divina Commedia
Inferno - Canto III
I was, originally, going to use JSelect, but all the domain names were taken already.
John Resig
Releases
1.0 => 2006
1.1 => 2007
1.9 => 2013
2.0 => 2013
3.0 => 2016
ECMAScript v3 - 24 marzo 2000
http://www-archive.mozilla.org/js/language/E262-3.pdf
7.6 Identifier Names and Identifiers
Identifier Names are tokens that are [...]
An Identifier is an IdentifierName that is not a ReservedWord
[...]
This standard specifies specific character additions: The dollar sign ($) and the underscore (_) are permitted anywhere in an IdentifierName.
Da ricordare
$ != jQuery
(Opinabile... nel 2017)
$(function() {
var elements = ...
$('#tbody').empty();
$.each(elements, function(index, element)
var output = '<tr class="element-';
if (element.id % 2 == 0)
output += 'even';
else
output += 'odd';
output += '">';
output += '<td>' + element.name + '</td>';
output += '<td>';
var skills = element.skill.split(',');
$.each(skills, function(index, skill) {
output += '<span class="skill">#' + skill.trim() + '</span> ';
})
output += '</td>';
output += '</tr>';
$('#tbody').append(output);
});
});
<table>
<tbody>
<tr ng-repeat="e in elements"
ng-class-odd="'odd'"
ng-class-even="'even'">
<td>{{ e.name }}</td>
<td>
<span ng-repeat="skill in e.skills | split:,">
#{{ skill }}
</span>
</td>
</tr>
</tbody>
</table>
var renderedEl = this.props.elements.map(function(e) {
return (
<tr>
<td>{{ e.name }}</td>
...
</tr>
);
});
...
$("#foo").show();
...
$("#foo").addClass("thing");
...
$("#foo").hide();
...
$("#foo").on('click', function() {
// di solito sono almeno 100 righe di codice,
// un onclick è per sempre
});
...
$("#foo")
.find("ul > li.event > input[type=checkbox]")
.addClass("black");
...
Al momento della sua nascita era una figata pazzesca (c'era solo quello o Kendo UI)
Ma...
Creare tutti gli oggetti e le classi CSS via javascript si è rivelato non essere proprio il top
... per jQuery
... in quegli anni
Qualcuno (più di uno) ha gridato:
"è colpa dei dispositivi che sono lenti"
(2015)
Smartphone con 4 core a 2.5GHZ
Jim Morrison
(o quasi)
QUnit is a powerful, easy-to-use JavaScript unit testing framework. It's used by the jQuery, jQuery UI and jQuery Mobile projects and is capable of testing any generic JavaScript code, including itself!
Q: Ma chi vuoi che li faccia i test in javascript
R: Se poi mantieni tutto tu, non ho problemi a non farli
Puoi farlo anche con:
npm install -g grunt-cli
git clone git://github.com/jquery/jquery.git
cd jquery
npm install
grunt custom --amd="custom-name"
grunt custom:-ajax,-deprecated,-effects,-wrap
grunt
grunt dist:./dist-custom-name/
Provare per credere!
dal 2013
Circa 1 milione di siti online con jQuery <= 1.8
Usato nel 70% dei top 100K siti più visti
jQuery Plugin Registry
Oltre 18M di siti online
Oltre 700K di portali online
Oltre il 50% delle applicazioni web fatte tra il 2008 e il 2012
(
Modulo
jquery_update
(serve per aggiornare la versione di jquery presente nel core di drupal 7)
Oltre 500k installazioni
Ah... non c'è un modulo jquery migrate :|
)
Statistiche alla mano,
a inizio 2016,
c'era la stessa probabilità di andare a lavorare su jQuery o su React
Magari i recruiter su LinkedIn un po' meno
Tanta interazione immediata con gli utenti
Molteplici funzionalità e classi
Progetti con tanta logica javascript
Metti jQuery, togli jQuery
Maestro Mijagi
Se non sei in grado di usare tutte le bellissime features di HTML5 e CSS3...
studiatele
Non forzare la mano
... poi te ne pentirai
... e non è una frase detta a caso :)
Il saggio per eccesso di jQuery diventa un folle.
Ralph Waldo Emerson
Viviamo in un’epoca di superlavoro e di sottocultura; un’epoca in cui la gente usa talmente jQuery da divenire stupida.
Oscar Wilde
L’eccesso nell'uso di jQuery non è meglio dell’insufficienza.
Confucio
Non uso jQuery mai eccessivamente – Uso jQuery con moderazione, un solo plugin alla volta
Mark Twain
L'abuso di jQuery non è una malattia, ma una decisione, come quella di andare incontro ad una macchina che si muove. Questo non si chiama malattia, ma mancanza di giudizio.
Philip K. Dick