Gå til innhold

Endring i Javascript-pakke med én kodelinje fikk konsekvenser for millioner av prosjekter verden over


Anbefalte innlegg

Videoannonse
Annonse
Gjest Slettet+987123849734

Alle disse bibliotekene er ofte basert på ganske gamle problemstillinger. Synes man idag skal være kritisk å ta i bruk alt mulig av biblioteker bare fordi det er de man kan. Javascript har endret seg betraktelig og veldig mye av det biblioteker løste er irrelevante problemstillinger idag. Har sett altfor mange ganger folk laster f. Eks jquery for å løse en helt enkel oppgave som du kan løse med like mange linjer javascript som jquery. Det eneste du oppnår er rotete kode og 3.parts avhengighet og noe som er tusen ganger verre å debugge.

Lenke til kommentar
mittvisningsnavn skrev (4 timer siden):

Det eneste du oppnår er rotete kode og 3.parts avhengighet og noe som er tusen ganger verre å debugge.


Samt støtte i eldre nettlesere, som jo er hovedgrunnen til at slike biblioteker eksisterer.

is-promise brukes for eksempel i React og Angular, nettopp fordi nettlesere som Opera Mini, IE11 med flere ikke støtter A+ promises, nettlesere som enkelte enda bruker.

Skal man lage ting for den virkelige verden, så er det ofte et krav at det funker i litt mer enn de aller nyeste versjonene av nettlesere.

  • Liker 4
Lenke til kommentar
Gjest Slettet+987123849734

Støtte for eldre nettlesere er så og si meningsløst idag om du ikke driver med veldig spesielle caser, enten lager til offentlig sektor og de tror at de fortsatt bruker ie eller at du lager noe som skal kunne brukes på en utdatert piratversjon av Windows xp. Det har vært standardisert i så mange år nå at det er på tide å gå videre.

Man kan gjerne bruke biblioteker, men man bør ha like stor kunskap om javascript og hvordan man selv kan skrive funksjonaliteten sånn at man faktisk kan avgjøre om det er hensiktsmessig å importere biblioteker eller ikke.

Når folk tror at jquery er javascript og at det må brukes for å legge til eller fjerne en css klasse på et element, så har fokuset på bruk av biblioteker tatt helt overhånd.

Lenke til kommentar
1 hour ago, 0laf said:

Skal man lage ting for den virkelige verden, så er det ofte et krav at det funker i litt mer enn de aller nyeste versjonene av nettlesere

La meg gjette: "aller nyeste versjoner" betyr versjoner laget de to siste årene.

Folk bør virkelig orke å oppdatere nettleseren av og til eller finne en annen hvis den ikke blir oppgradert.

Å stryke alle med hårene i alle sammenhenger er ikke en løsning på noe som helst.

 

Lenke til kommentar

Typiskt at folk synser om kva software utvikling burde vera, når det openbart ikkje er konsistent med verda... :) 

Folk flest her kjøpe vel kjøttdeig i butikken, eller egg, eller mel? Dykk går vel ikkje ut og slakter kyr så dykk har middag ut uka, eller drifter høns så dykk har egg, osv. Eg byrja vidare med eit eksempel om bil, men der inngår det så mykje subkomponenter at eg kan skriva bok om det.

3. parts kode er ikkje annleis. Nokon andre har gjort ein del av jobben for deg. Og dei har gjerne betre erfaring med det enn deg. 3. parts kode gjer ikkje ting meir rotete, eller verre å vedlikehalde, eller debugge. Det gjer det vesentlig enklare.

Når det angår nettlesere er det vel rakende likegyldig kva dykk meine. Prosentfordelingen blant nettlesere er offentleg informasjon. Dykk kan meina kva dykk vil, men tar dykk den holdninga med dykk til software utvikling får dykk sparken, for verktøy som babel har jo for lenge siden invalidert ein så bakvendt tankegang.

  • Liker 2
  • Innsiktsfullt 1
Lenke til kommentar
mittvisningsnavn skrev (1 time siden):

Støtte for eldre nettlesere er så og si meningsløst idag...


Okey, er helt uenig, desto flere nettlesere man kan støtte, desto bedre, de aller fleste større nettsider kan ikke bare støtte seneste Chrome, men må funke i så å si alt av nyere nettlesere, fra rundt IE9 og opp.
 

mittvisningsnavn skrev (1 time siden):

Når folk tror at jquery er javascript og at det må brukes for å legge til eller fjerne en css klasse på et element, så har fokuset på bruk av biblioteker tatt helt overhånd.


jQuery ble laget i en tid når det var en enorm oppgave å få noe som helst cross-browser, i dag er JavaScript oppdatert til å ligne mer på jQuery enn det var tidligere, QuerySelector er jo nærmest som hentet rett ut av jQuery, XMLHttpRequest funker overalt osv. for å ikke snakke om ting som Fetch og sockets.

Jeg ser ingen problemer med å bruke jQuery dersom man ønsker det, men er enig at utviklere først og fremst bør forstå plain JS.

Biblioteker har jo åpenbart sin plass, ting som React, Angular, Vue og annet brukes jo omtrent "overalt" i dag, selv om de fleste utviklere sikkert kan gjøre den samme jobben uten slike bibliotek, men for de som jobber i den virkelige verden så tar man den hjelpen man kan få, det er ikke noe poeng å sitte å skrive sine egne hjelpfunksjoner for helt trivielle ting, når man kan hente inn den samme funksjonaliteten, ofte bedre skrevet, i biblioteker, unntak er dersom man ikke aner hva man driver med å inkluderer en haug med skrot man absolutt ikke trenger.

Personlig er jeg ikke noen stor fan av slike biblioteker, bruker hverken React eller Angular, å sjelden jQuery, men jeg har ingen problemer med å forstå at webutviklere som er avhengig av å få noe gjort, og å lage ting som funker på mange plattformer, i mange nettlesere, bruker tredjepartskode.

Endret av 0laf
  • Liker 2
Lenke til kommentar

Klart biblioteker er nyttige, og det er ikke bare ræva språk som JavaScript som har dem. Rust og Haskell, for å nevne noen, bruker alle masse små biblioteker. 
 

Problemet her er at man i JavaScript-land har en kultur for å pakke de mest trivielle ting inn tredjepartsbibliotek. 

Endret av scav-
Lenke til kommentar

Forstår heller ikke frontend-miljøts insistens på å ikke låse ned versjonene på avhengighetene sine.

Vilkårlige endringer på npm-pakker, ofte enkeltpersoners hobbyprosjekter, dras ukritisk ned compile-time. Vet jo aldri når nye bugs kommer inn, eller bygget ryker i et node-prosjekt.

Lenke til kommentar

Kost/nytte/risiko. Plutselig sitter man plutselig med et rammeverk som ikke har blitt oppdatert på to år, og så er det en linje kode som slutter virke etter siste oppdatering av Chrome, midt inni et større rammeverk som ingen i bedriften har vært med på å utvikle...

Når det er sagt, så likte jeg jQuery. Smidig lite rammeverk som gjorde dynamisk innhold enklere. Men vi har allerede måtte byttet ut en rekke biblioteker som bare stoppa utviklinga opp. Så også jQuery UI. I hvilken grad jeg liker React og Material-UI er en annen diskusjon, som jeg ikke orker ta. 

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...