View Single Post
Sitat av 0xFF Vis innlegg
I tillegg har jeg inntrykk av at det finnes ingen klare regler i Javascript, er liksom opptil enhver som lager Javascript interpretere. I andre språk så har man det som kalles standard, dette er et sett med regler som de som lager kompilatorer skal følge
Vis hele sitatet...
JavaScript er et av de språkene med klarest definert standard, språket er standardisert av ECMA, under navnet ECMA-262, og 5.1 er gjeldende standard og finnes her -> http://www.ecma-international.org/ecma-262/5.1/

Forhåpentligvis vil versjon 6 være gjeldende standard om noen måneders tid -> https://people.mozilla.org/~jorendorff/es6-draft.html, da sannsynligvis under navnet ES2015 i stedet for ES6.

At enkelte nettleserprodusenter (les: Microsoft) aldri har klart å følge standarden, er i utgangspunktet ikke språket sin feil, ei heller at du ikke har fått med deg at det finnes en standard, og lest den !

Microsoft valgte som kjent å utvikle sin egen versjon av JavaScript kalt JScript, som fulgte deres egen standard i mange år, og først under utvikling av IE9 valgte MS å bidra til arbeidsgruppen for ECMAScript og følge ECMA standarden.

Sitat av nudo Vis innlegg
Det er kjapt å lage en flaskehals med ng dersom du "mounter" en jQuery-løsning i ng istede for å implementere den på ng-vis.
Vis hele sitatet...
Det er enda kjappere og lage en flaskehals i Angular dersom man bruker ng-show/hide i stedet for ng-switch (som jeg regner med du mener når du skriver switch/case), fyller opp $$watchers med all mulig dritt, og kjører all annen code gjennom $scope.$apply(), for å ikke snakke om å oppdatere ng-repeat dynamisk, som er som sirup.

Angular ser veldig fint ut på papiret, og man blir helt blendet når man leser hvor enkelt alt er, og ser hvor fort man kommer i gang.

Det er først når man innser at ingenting av det man har skrevet validerer, eller er på noen måte gyldig HTML, og heller ikke alltid javascript som kan lintes, at man begynner å kjenne stanken av noe muggent.

Litt mer testing og graving, så forstår man at $$watchers er djevelens verk, hver eneste gang den såkalte "digest cycle" 'en kjøres, så kjøres alle funksjoner i $$watchers som er i samme scope som gjeldende, altså hver gang man slenger inn en ng-if, ng-switch eller annen ng, så legger man til en forholdsvis tung funksjon i $$watchers som modifiserer DOM'en, og alle de som er "in scope" som det heter vil kjøres, og det er nesten rart det ikke går saktere enn det gjør.

Så er det filtere, som er så ille at jeg ikke orker å skrive om de en gang, annet enn at de bør unngås for enhver pris, og det bør egentlig hele Angular etter min mening.

Hvis man likevel kjører på og lager noe fantastisk i Angular, så er det bare alle ukene med mareritt for å få unit-testet det igjen.
Sist endret av adeneo; 22. februar 2015 kl. 12:05. Grunn: Automatisk sammenslåing med etterfølgende innlegg.