Een webontwikkelaar heeft een sterk verkleinde versie van de jQuery-bibliotheek uitgebracht. De zogenaamde jquip-bibliotheek is aanzienlijk compacter maar bevat toch nog 90 procent van de belangrijkste jQuery-onderdelen.
De jquip-bibliotheek, jquip.js geheten, is na te zijn minified en gecomprimeerd met gzip slechts 4,28KB zwaar, slechts 13 procent van de grootte van het jQuery-framework. Volgens de ontwikkelaar Demis Bellot bevat jquip vrijwel alle belangrijke onderdelen van de populaire jQuery-bibliotheek en kan het gebruikt worden als een drop-in om zo een externe request naar de module over te slaan.
Webontwikkelaars die javascript toepassen en onderdelen van jQuery gebruiken, zouden door jquip toe te passen snelheidswinst kunnen behalen doordat de browser minder code hoeft in te laden. Mocht een ontwikkelaar toch een bepaald onderdeel missen, dan kan via een aantal plugins deze functionaliteit alsnog worden binnengehaald.
De maker claimt ook diverse optimalisaties in de broncode van jQuery te hebben doorgevoerd, maar het verzoekt gebruikers van jquip om mogelijk missende jQuery-onderdelen te melden zodat deze toegevoegd kunnen worden. Daarnaast verwijst hij voor verdere javascript-optimalisaties naar het Ender-project, een pakket dat het mogelijk maakt om eigen javascript-packages te bouwen.
[Reactie gewijzigd door Madnar op zondag 20 november 2011 23:52]
Maar is dat wel een realistisch idee? Er zijn maar weinig situaties te bedenken waarbij je eigen server stabieler/bereikbaarder is dan die van Google.Stel dat google om wat voor reden dan ook de stekker er uit moet trekken.
Wat heb ik aan een Google server die online is als mijn eigen server offline( of labiel) is? Dan kan die namelijk ook niks laden van die Google server.Maar is dat wel een realistisch idee? Er zijn maar weinig situaties te bedenken waarbij je eigen server stabieler/bereikbaarder is dan die van Google.
Daarnaast zie ik ook niet echt de toepassing van een afgeslankte versie van iets dat al superklein is. Zeker in vergelijking met alle andere assets die een gemiddelde website moet inladen.
Anderzijds klinken "diverse optimalisaties" wel aardig natuurlijk, maar het is wel triest dat je een merkbaar snelheidsverschil zou krijgen bij het inladen van een pagina, ook bij mobiele browsers.
[Reactie gewijzigd door SpaceK33z op zondag 20 november 2011 17:33]
Snelheidswinst?De snelheidswinst is dan wel weg, maar het is beter dan helemaal geen library.
En qua load performance: blijkbaar maakt het vooral veel uit welke browser je gebruikt:<!-- Grab Google CDN's jQuery, with a protocol relative URL; fall back to local if necessary -->
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.js"></script>
<script>window.jQuery || document.write('<script src="js/libs/jquery-1.5.1.min.js">\x3C/script>')</script>
[Reactie gewijzigd door AndrewF op maandag 21 november 2011 01:36]
Omdat je veelal niet afhankelijk wil zijn van externe code? Ik heb sites best vaak op hun plaat zien gaan omdat de google analytics .js weer eens niet beschikbaar was. Dat is enerzijds slordigheid van de persoon die het bouwt, maar het illustreert wel goed dat je niet afhankelijk wilt zijn van een derde partij voor je eigen website.Wat is het probleem? als iedereen netjes naar een CDN versie van bijvoorbeeld google code verwijst
Maar... heeft die ontwikkelaar nu een compleet alternatief geschreven voor jQuery, van de grond af aan, of heeft hij gewoon de grootste c.q. minder gebruikte onderdelen verwijderd en het overblijvende deel gehercomprimeerd?maar het verzoekt gebruikers van jquip om mogelijk missende jQuery-onderdelen te melden
[Reactie gewijzigd door Katsunami op zondag 20 november 2011 15:38]
40 KB is inderdaad niet zoveel. Echter het is niet alleen de code downloaden, deze voert ook weer initialisatiecode uit etc.Jep, want zo'n 40KB inladen, nee dat trekt de gemiddelde internetverbinding hedendaags niet meer.
Vanaf jQuery 1.7 registreert jQuery zichzelf als een CommonJS asynchronous module definition (AMD).Ik heb overigens toevallig zelf een project geschreven, Packages JS, dat eenzelfde doel dient. Je kunt packages definieren en daarbij aangeven dat je weer andere packages nodig hebt (dependency management).
Het gaat niet alleen om het inladen van 40KB. Feit is dat een externe script-tag (in tegenstelling tot een plaatje) de page rendering compleet blokkeert, en dat de javascript niet alleen opgehaald moet worden, maar ook nog moet worden geparsed en uitgevoerd. Dat laatste kost doorgaans meer tijd dan het inladen zelf, en met een kleinere library haal je daar ook de meeste winst uit.Jep, want zo'n 40KB inladen, nee dat trekt de gemiddelde internetverbinding hedendaags niet meer.
Dat we tegenwoordig meer en meer memory, cpu en bandbreedte hebben, betekend niet dat we daar maar verkwistend mee om moeten gaan. Ik hekel programmeurs die 'dure' shortcuts nemen, omdat het 'toch weinig meer uitmaakt'. En dan later op de blaren zitten omdat die keuze achteraf structureel erg kostbaar bleek te zijn.Jep, want zo'n 40KB inladen, nee dat trekt de gemiddelde internetverbinding hedendaags niet meer.
[Reactie gewijzigd door HyperioN op zondag 20 november 2011 14:56]
Hebben we gedaan, maar toch weer verwijderd. Eigenlijk voornamelijk omdat we Google niet perse de gegevens van onze klanten door willen geven (ook gedaan met Facebook). Dit voornamelijk omdat we zagen dat Google in tests in ene advertenties van concurrenten ging tonen aan potentiële klantendie zij hosten
[Reactie gewijzigd door HerrPino op zondag 20 november 2011 20:53]
10 procent ontbreekt er als ik het bericht mag geloven.De zogenaamde jquip-bibliotheek is aanzienlijk compacter maar bevat toch nog 90 procent van de belangrijkste jQuery-onderdelen.
'bepaalde wijzigingen' is een behoorlijke understatement voor het comprimeren van 90% van de code...Wat ik me eerder afvraag is waarom deze developer niet gewoon bij de JQuery developers zelf aanklopt om bepaalde wijzigingen door te laten voeren.
[Reactie gewijzigd door R4gnax op zondag 20 november 2011 22:04]
is te makkelijk gesteld.Als je 85% aan code kan reduceren, dan kan het niet anders dan dat de code ook sneller word uitgevoerd
[Reactie gewijzigd door Mac_Cain13 op zondag 20 november 2011 15:24]
Op dit item kan niet meer gereageerd worden.
Populair: Asus Samsung Websites en communities Mobiele telefoons Laptops Sony Games Microsoft Consoles Microsoft Xbox One
© 1998 - 2013 Tweakers.net B.V. Contact Over Tweakers Jouw privacy Algemene voorwaarden Cookies
Tweakers wordt uitgegeven door De Persgroep en wordt gehost door True