Software-update: jQuery 3.0

jQuery logo (75 pix)Voor het vereenvoudigen van client-side-scripting in html kun je gebruikmaken van jQuery. Dit is een opensource-JavaScript-library, waarvan de syntax het makkelijker maakt om door documenten te navigeren, DOM-elementen te selecteren, animaties in elkaar te zetten, events af te handelen en natuurlijk Ajax-applicaties te ontwikkelen. Daarnaast kan de functionaliteit worden uitgebreid door plug-ins te gebruiken. Voor meer informatie verwijzen we naar deze pagina. De ontwikkelaars hebben versie 3.0 de deur uitgedaan, voorzien van de volgende aankondiging:

jQuery 3.0 Final Released!

jQuery 3.0 is now released! This version has been in the works since October 2014. We set out to create a slimmer, faster version of jQuery (with backwards compatibility in mind). We’ve removed all of the old IE workarounds and taken advantage of some of the more modern web APIs where it made sense. It is a continuation of the 2.x branch, but with a few breaking changes that we felt were long overdue. While the 1.12 and 2.2 branches will continue to receive critical support patches for a time, they will not get any new features or major revisions. jQuery 3.0 is the future of jQuery. If you need IE6-8 support, you can continue to use the latest 1.12 release.

Despite the 3.0 version number, we anticipate that these releases shouldn’t be too much trouble when it comes to upgrading existing code. Yes, there are a few “breaking changes” that justified the major version bump, but we’re hopeful the breakage doesn’t actually affect that many people.

To assist with upgrading, we have a brand new 3.0 Upgrade Guide. And the jQuery Migrate 3.0 plugin will help you to identify compatibility issues in your code. Your feedback on the changes will help us greatly, so please try it out on your existing code and plugins!

Versienummer 3.0
Releasestatus Final
Website jQuery
Download https://jquery.com/download/
Licentietype GPL

Door Bart van Klaveren

Downloads en Best Buy Guide

10-06-2016 • 14:18

34 Linkedin

Submitter: Jogai

Bron: jQuery

Update-historie

07-'16 jQuery 3.1.0 2
06-'16 jQuery 3.0 34
04-'13 jQuery 2.0 44

Reacties (34)

34
34
30
3
0
0
Wijzig sortering
Op enig moment moet je je natuurlijk afvragen hoe lang je IE8 nog moet supporten. Met de evolutie van de major browsers de laatste jaren en de (weliswaar ietwat gestage) uitrol van HTML5 is het op enig moment gewoon niet meer haalbaar. Een goede zaak dus dat we eindelijk stappen vooruit gaan zetten en het tijdperk van IE 7 & 8 achter ons gaan laten. :+

M.b.t. versie 3.0 raad ik iedereen aan die wil upgraden om even goed de changelog te lezen. Ik heb zelf even de major changes gelezen en zag al direct een interessante:
Removed deprecated event aliases
.load, .unload, and .error, deprecated since jQuery 1.8, are no more. Use .on() to register listeners.
Vooral .load en .unload kom ik nogal eens tegen in allerlei scripts die op internet rondzweven. Even goed kijken dus of alles nog compatible is. :>
Wat is trouwens de beste manier om te melden dat browsers niet meer worden ondersteund?
Bij sommige websites krijg je een melding/popup, bij andere word je volledig afgesloten.
Dat laatste is in mijn ogen de beste manier om zo snel mogelijk te dwingen naar nieuwe browsers, maar niet natuurlijk voor bedrijven die vaak iets langer blijven steken op een IE versie. :/

Zijn er plugins voor je webserver, of algemene pagina's beschikbaar?
Applicaties die hier van gebruik gaan maken zullen waarschijnlijk gewoon jQuery 3.0 EN 1.12 gebruiken, en gewoon tussen de 2 switchen als ze zien dat je browser niet compatible is? Ik vraag me af hoeveel hiervan uberhaupt mogelijk is

[Reactie gewijzigd door MrFax op 10 juni 2016 19:40]

Maar dat moet je ook weer aan de slag met html5shiv (omdat niet alle HTML5 tags aanwezig zijn), workarounds in je CSS, etc.
Het zou beter zijn als deze dingen zouden verdwijnen en browsers gewoon altijd up-to-date zouden zijn. :/
Prima toch, voor oude ie's laad je jquery 1.13, wat polyfills & specifieke css de moderne browsers kunnen dit overslaan.
Jammer dat de laatste stable van Bootstrap niet werkt met versie 3 en ze ook geen plannen hebben hier wat aan te doen.
Oftewel gebruik je JS van bootstrap dan zit je vast aan 2 of lager totdat BS v4 uitkomt wat nog wel even gaat duren...
Ik vind het inderdaad een beetje belachelijk hoe ze hier met Bootstrap omgaan. Bootstrap 4 is nu al 1,5 jaar geleden aangekondigd en zit nu al bijna 1 jaar in alpha-fase, met 2 alfa's uit en momenteel minstens 2 gepland (alfa 3 en 4), en 3 laat nu al een half jaar op zich wachten. Aan deze voortgang is BS4 pas volgend jaar klaar... Bootstrap staat wat features betreft nu al een dik 1,5 jaar stil, ik snap niet waarom zie met iedere grote versie een volledig herschreven framework willen vrijgeven, dit is enorm vervelend, vooral omdat ook de syntax bij iedere major weer wordt veranderd. In versie 3 introduceerde ze panels, iets dat ik persoonlijk ontzetten veel gebruik, en bij versie 4 is het weer weg en vervangen door cards wat ook nog eens een andere syntax heeft...
Juist vanwege al dat gedoe bij Bootstrap ben ik overgestapt op http://semantic-ui.com/ O+
Bootstrap was in de beginnen voor Twitter geschreven, en sinds dat ze open-source zijn geworden is er eigenlijk bar weinig veranderd, het is meer "hun" project en het belang van de community word grotendeels vergeten (bij de introductie van v3 werd gelijk alles van v2 verwijderd |:( en upgraden was niet altijd even makkelijk). Plus het eindelijk vooruit schrijven van een nieuwe versie waarin alles (weer) anders word gedaan 8)7
Hoezo geen plannen om hier iets aan te doen?
https://github.com/twbs/bootstrap/issues/16834
Dat hebben ze pas veranderd. Tot eerder vandaag hebben ze altijd gezegd dat het hun niet interesseert om jQuery 3 te ondersteunen in Bootstrap 3 en zelfs voor Bootstrap 4 hebben ze dit vaak aan de kant geschoven in het verleden omdat "tegen de tijd Bootstrap 4 klaar is, is jQuery 3 nog lang niet uit"...
Nice! Helaas zijn wij nog 'verplicht' om IE8 te supporten, gezien de bezoekersaantallen..
IE wordt voor 5.8% gebruikt.
http://www.w3schools.com/browsers/browsers_stats.as

Maar IE 10 > is niet eens 1% van alle browser gebruik.
http://www.w3schools.com/browsers/browsers_explorer.asp

Gewoon een melding plaatsen om te upgraden naar IE 11 of hoger.
Bezoekers van een website gaan niet upgraden naar een nieuwe Internet Explorer om vervolgens terug te keren. Die klikken direct weg en komen nooit meer terug. Zo eenvoudig is het.

In dit geval moet je gewoon blijven bij jQuery 1.12 dat IE8 wel ondersteunt. jQuery 1.12 werkt nog prima en ik denk niet dat je op een bestaande website plots nieuwe functies gaat gebruiken die in latere versies er wel inzitten.

Ik weet wel dat je best de laatste versies gebruikt van browser etc, maar dat is niet realistisch om te eisen van al je bezoekers. Je bent er niet om het Internet veiliger te maken maar gewoon om je eigen website te beheren.

[Reactie gewijzigd door biglia op 10 juni 2016 15:00]

Je kunt best de stats van je eigen site gebruiken om deze keuze te maken. w3schools toont het aandeel van browsers dat w3schools bezoekt. Dat is al een vrij specifiek publiek. Daarom dat IE ook zo laag scoort daar.

Je hebt dan sites die market shares proberen te gokken, zoals netmarketshare en statcounter. Maar hier zitten grote verschillen op.

Als je bijvoorbeeld naar https://www.netmarketshar....aspx?qprid=2&qpcustomd=0 kijkt dan zie je dat IE8 nog 6,21% in handen heeft.
IE 8: 6,21%
IE 9: 4%
IE11: 19,27%
Edge: 4,46%
IE specifiek mag je dan uitgaan van +33,94%, want er zullen ook nog wel IE's zitten in de andere (33%).

Volgens statcounter zit IE dan weer aan 11%.
Omdat StatCouter en NetApplications niet hetzelfde meten, SC meet usage share, niet market share, wat NetApplications wel doet.
Gast, W3Schools is GEEN source voor dit soort informatie. Die website is ontzettend biased. Laat ik maar niet beginnen over het bedrijfsleven.
Verder naar beneden scrollen:
Statistics Can Be Misleading

You cannot - as a web developer - rely ONLY on statistics. Statistics can be misleading.

Note: W3Schools is a website for people with an interest for web technologies. These people are more interested in using alternative browsers than the average user. The average user tends to use the browser that comes preinstalled with their computer, and do not seek out other browser alternatives.

Tip: Global averages may not be relevant to your web site. Different sites attract different audiences. Some web sites attract professional developers using professional hardware, while other sites attract hobbyists using old computers.

Anyway, our data, collected from W3Schools' log-files over many years, clearly shows the long term trends.
De End-Of-Life voor IE8 is sinds januari. Daarbij is IE8 beschikbaar voor Windows XP/2003 en niet voor Vista of hoger.

Mijn advies: stop met supporten van IE8 en waarschuw de gebruiker met een browser melding dat men de site op eigen risico verder gebruikt. Scheelt tijd en geld.
Zeg dat even tegen de baas die ziet dat er 10.000 bezoekers per maand sales doen op je website via IE8...
Je kan natuurlijk ook voor zorgen dat je site nog wel zo werkt dat je winkelmandje en de checkout nog wel in oudere browsers werkt. Andere meer exotische zaken ondersteun je dan gewoon niet meer. Zo gaat het bij grote webshops vaak wel.
Absoluut daar ben ik het mee eens maar om dat gewoon te zeggen sorry gebruiker je browser is te oud, dat vind ik wel beetje ver gaan
Ten eerste is Internet Explorer 8 beschikbaar voor Vista en 7, ten tweede is IE8 nog niet End of Life op alle versies van Windows, enkel waar het niet de recentste versie is, en er zijn nog versies van Windows waar IE8 de laatste nieuwe is die nog ondersteund wordt.
Die Windows versies worden in zijn geheel niet meer ondersteund...
Daar ben je zelf bij. Melding maken dat deze website een moderne browser vereist met download link naar Firefox en Chrome.

Als je maar oude meuk blijft ondersteunen komt dat natuurlijk nooit goed. Leg de pijn bij de user en niet bij jezelf. Als die nooit hoeven te upgraden omdat toch elke website nog werkt gebeurt het ook niet

[Reactie gewijzigd door matty___ op 10 juni 2016 14:37]

Tja, niet helemaal: ~200.000 sessions initiated per dag door IE8 users wil je niet naar de concurrent sturen.

Er staat al een melding, en we stoppen er zo min mogelijk moeite in het de site werkend te houden op IE8, maar een upgrade naar zo'n breaking versie zit er dan gewoon nog ff niet in: je moet een goed verhaal houden om tijd te investeren in iets waar je potentieel minder inkomsten door vergaard.

[Reactie gewijzigd door noes op 10 juni 2016 14:57]

Ik heb de indruk dat de populariteit van jQuery wat is afgenomen door de opkomst van frameworks zoals AngularJs terwijl ze eigenlijk elkaar perfect kunnen aanvullen. Wat denken jullie?

Voorts zit er volgens mij niet zoveel nieuws in deze nieuwe release. Het framework is al jaren vrij compleet. Er is nu wel een Slim build die kleiner is.
Angular1 heeft jQuery lite voor de meest basale dingen. Maar veel kun je prima met native javascript doen.
Tuurlijk kan het met native js maar wil je dat :p

a) native JS is ongeloofelijk wordy;
document.getElementById("test") t.o.v. $("#test") ik weet het wel :p
b) Voor native JS moet je nog steeds veel browser specifieke code schrijven
c) Het ontwikkeld door a en b veel sneller.

en er zijn nog wel meer dingen te bedenken, jQuery code minified meestal ook wat beter. Ik neem voor lief dat ik dan die extra KBtjes voor jQuery door de pijp zuig (want vaak verdien je die wel weer terug door betere minified JS in andere code)
Is niet altijd waar dat natie meer tekst nodig heeft. Soms kan native sneller zijn en hoef je je bezoekers geen 32kb jquery via het Google cdn te laten downloaden. Aan de andere kant, grote kans dat jquery al geladen is via het Google cdn.
Nu denk je, wat scheelt het, maar met een hoop afbeeldingen op een pagina en met de opkomst van mobiel internetten is het toch van belang dat webbouwers de boel weer een beetje lichter maken. ;)
Nee niet altijd maar in het gros van de gevallen wel (plus het feit dat je vaak browser specifieke zaken moet schrijven, zeker voor oudere browsers). Dus tsja. Wat performance betreft kan je wel gelijk hebben omdat jQuery gewoon weer een extra laag introduceert, wat kost.
Maar ook weer niet omdat je voorbij gaat aan de minificatie van het geheel.
Code moet ook leesbaar en onderhoudbaar blijven en daar doet jquery goed in, vind ik. Om nou bv zelf met xmlhttp objecten te gaan kloten ipv simpel $.ajax te gebruiken...
Er zijn, zeker in grootte projecten, naar mijn bevinding vaak op veel andere dingen grote stappen te maken (juist afstellen van de webserver bv) ivm het geneuzel in de marge als het om jquery gaat.
Al met al vind ik de afweging voor jquery makkelijk gemaakt.

[Reactie gewijzigd door jozuf op 10 juni 2016 17:44]

Het is denk ik meer dat jQuery als basis werd gebruikt voor allerlei uitbreidingen die niks met jQuery te maken hadden. Maar nu Javascript zelf wat volwassener is, en frameworks wat specifieker en sterker zijn, wordt jQuery weer meer gebruikt waarvoor het bedoelt was, ipv. een algemeen toeganspunt voor allerlei extensies.
Valt mee, AngularJS etc. zijn meer gericht op webapplicaties dan op websites. Het is wel zo dat de lijn daartussen vager wordt, maar voor veel sites is jQuery een ideale toolbox en heb je geen AngularJS nodig.
Niet alleen door dergelijke frameworks, maar ook doordat JavaScript nu een hoop dingen waar jQuery veel voor gebruikt werd native ondersteunt, denk aan querySelector/querySelectorAll, de fetch API en classList. In combinatie met de animatie mogelijkheden van CSS3 heeft jQuery voor veel mensen inderdaad niet zoveel meer te bieden.
Pas wel op met jQuery plugins in aan single-page application, dit is namelijk een recept voor memory leaks! https://blog.isleofcode.com/the-real-reason-to-avoid-jquery/

Overigens is dit niet perse de schuld van jQuery of de plugins, maar verkeerd gebruik omdat ze niet gewend zijn binding weer te vernietigen (voor je het DOM element verwijderd).

Op dit item kan niet meer gereageerd worden.

Tweakers maakt gebruik van cookies

Tweakers plaatst functionele en analytische cookies voor het functioneren van de website en het verbeteren van de website-ervaring. Deze cookies zijn noodzakelijk. Om op Tweakers relevantere advertenties te tonen en om ingesloten content van derden te tonen (bijvoorbeeld video's), vragen we je toestemming. Via ingesloten content kunnen derde partijen diensten leveren en verbeteren, bezoekersstatistieken bijhouden, gepersonaliseerde content tonen, gerichte advertenties tonen en gebruikersprofielen opbouwen. Hiervoor worden apparaatgegevens, IP-adres, geolocatie en surfgedrag vastgelegd.

Meer informatie vind je in ons cookiebeleid.

Sluiten

Toestemming beheren

Hieronder kun je per doeleinde of partij toestemming geven of intrekken. Meer informatie vind je in ons cookiebeleid.

Functioneel en analytisch

Deze cookies zijn noodzakelijk voor het functioneren van de website en het verbeteren van de website-ervaring. Klik op het informatie-icoon voor meer informatie. Meer details

janee

    Relevantere advertenties

    Dit beperkt het aantal keer dat dezelfde advertentie getoond wordt (frequency capping) en maakt het mogelijk om binnen Tweakers contextuele advertenties te tonen op basis van pagina's die je hebt bezocht. Meer details

    Tweakers genereert een willekeurige unieke code als identifier. Deze data wordt niet gedeeld met adverteerders of andere derde partijen en je kunt niet buiten Tweakers gevolgd worden. Indien je bent ingelogd, wordt deze identifier gekoppeld aan je account. Indien je niet bent ingelogd, wordt deze identifier gekoppeld aan je sessie die maximaal 4 maanden actief blijft. Je kunt deze toestemming te allen tijde intrekken.

    Ingesloten content van derden

    Deze cookies kunnen door derde partijen geplaatst worden via ingesloten content. Klik op het informatie-icoon voor meer informatie over de verwerkingsdoeleinden. Meer details

    janee