ARCHIVE FILE
Farene ved å bruke «latest» i produksjon
Bruker du en CDN for å laste ned JavaScript-filer bør du holde deg unna «latest».
Det kan være flere grunner til at du bruker «latest» når du inkluderer filer fra en CDN. Kanskje du tenker at det er fint å alltid gi brukerne siste versjon av biblioteket du inkluderer. Det kan også være fordi du ikke vet eller er 100% sikker på hvilken versjon du ønsker å tilby og derfor bruker siste versjon som et sikkert valg.
Det kan være en tabbe. Selv om de fleste programmere er nidkjære på å holde pakkene sine fri for bugs, så vil det å hente siste versjon av alle avhengigheter alltid medføre en risikofaktor. Du kan aldri vite om de siste endringene i biblioteket brekker funksjonalitet du har baket inn i applikasjonen.
jQuery advarer mot å bruke «jquery-latest.js»
jQuery rykket nylig ut med en advarsel og ber deg nå eksplisitt om ikke å bruke «jquery-latest.js» i produksjon. Det gjør de fordi den nyeste versjonen av jQuery er 2.x-grenen. Den støtter ikke eldre nettlesere, og siden «jquery-latest.js» er den som hentes flest ganger er de redd for at dette skiftet ville brekke et stort antall applikasjoner.
jQuery har derfor bestemt at «jquery-latest.js» fra nå av og for all overskuelig framtid kun vil gi deg jquery-1.11.1. Paradoksalt nok vil altså «latest» gi deg en eldre versjon av jQuery. Samtidig har «jquery-latest.js» en veldig lav cache-tid i forhold til de versjonerte filene, så du får også et ytelsesproblem på toppen dersom du henviser direkte til denne i dine html-filer.
Nå er riktignok ikke alle biblioteker like utbredt som jQuery, men det illustrerer problemet med å bruke «latest» ganske godt.
Du unngår glatt hele problemstillingen ved å henvise til versjonsnummeret til biblioteket applikasjonen din er avhengig av for å fungere. Det medfører riktignok litt ekstra forvaltningsarbeid, men det er tross alt bedre enn at den plutselig slutter å fungere.
Pakkestyring
Bruker du et pakkestyringssystem for å holde avhengighetene dine oppdatert? Bra, men hold deg unna «latest».
Bruker du «latest» i for eksempel Composer, Bower, NPM eller tilsvarende systemer får du logisk nok alltid siste versjon av avhengigheten du etterspør. Det er ganske greit i et utviklingsmiljø, men du bør aldri gjøre dette i produksjon.
Selv om de fleste programmere er nidkjære på å holde pakkene sine fri for bugs, så vil det å hente siste versjon av alle avhengigheter alltid medføre en risikofaktor. Du kan aldri vite om de siste endringene brekker funksjonalitet du har baket inn i appen.
Kanskje du nå tenker at du vet dette, og at du aldri ville kunne finne på å gjøre noe slikt. Godt, for da er du i minoriteten. En rask titt på CDN-statistikken til jQuery viser at «jquery-latest.js» er den mest populære filen som blir lastet ned. Problemet for jQuery er at de vedlikeholder to versjoner av jQuery: en for 1.x-grenen og en for 2.x-grenen. 2.x-grenen er den det jobbes mest med, men den støtter ikke eldre nettlesere. jQuery har derfor bestemt at «jquery-latest.js» fra nå av kun vil gi deg jquery-1.11.1, og det for all overskuelig framtid.