Presentation laddar. Vänta.

Presentation laddar. Vänta.

Presentationens upplägg • Vad är JavaScript? • Varför är språket viktigt? • Historisk utveckling • Min frågeställning • Avgränsningar • Metod • Resultat.

Liknande presentationer


En presentation över ämnet: "Presentationens upplägg • Vad är JavaScript? • Varför är språket viktigt? • Historisk utveckling • Min frågeställning • Avgränsningar • Metod • Resultat."— Presentationens avskrift:

1

2 Presentationens upplägg • Vad är JavaScript? • Varför är språket viktigt? • Historisk utveckling • Min frågeställning • Avgränsningar • Metod • Resultat • Slutsats • Frågor?

3 Vad är JavaScript? – Språkets födelse • Netscape anställde Brendan Eich, 1995 • Mocha -> LiveScript -> JavaScript • Microsoft JScript, Internet Explorer 3 • ECMAScript • AJAX o Gmail o Hitta.se

4 Vad är JavaScript? – Design • Multi-paradigm o Prototype-baserat (avsaknad av klasser) o Imperativt o Funktionellt o Scriptspråk • Dynamiskt • Likheter med o C (syntaxen) o Self och Scheme (designprinciper) o Men även Java, Perl och Python

5 Vad är JavaScript? – Design • Körs i virtuell maskin • Utseende /* Finds the lowest common multiple of two numbers */ function LCMCalculator(x, y) { // constructor function function checkInt(x) { // inner function // exception throwing if (x % 1 != 0) throw new TypeError(x + " is not an integer"); return x; } // semicolons are optional (but beware since this may cause // consecutive lines to be erroneously treated as a single // statement) this.a = checkInt(x) this.b = checkInt(y) }

6 Varför är språket viktigt? • Ökad användning • Internet har spridit sig

7 Varför är språket viktigt? • Adobes Flash(ej standard) • Suns (Oracles) Java(halvstandard) • Microsofts Silverlight(ej standard) • HTML5(blivande standard)

8 Historisk utveckling

9 Min frågeställning • Har prestandan påverkats? • Har koden blivit lättare att förstå? o Rader kod o Återanvändbarhet o Minnesläckor • Vilka utvecklingsverktyg finns och hur påverkas de utvecklingen? • Var och när är det motiverat att använda JavaScript? • Hur ofta används den kod jag skrivit om?

10 Avgränsningar • Vad tittade jag på? o Hur prestandan påverkas o Mängd kod och hur den påverkar läsbarheten o Minnesläckor o Portabilitet och återanvändbarhet o Översiktlig genomgång av utvecklingsverktyg o Hur ofta skriven kod används • Endast C++ och JavaScript jämfördes • Exempel på vad jag inte tittade på

11 Metod • Litteratur och akademiska papper • Identifierade lämpliga uppgifter att implementera o GIF-dekoder o XML-parser o Elementära tester • JPEG-encoder • Industriella benchmarks

12 Metod – GIF-dekoder • Vad är en GIF-dekoder? • En C++-version, fyra versioner skrivna i JavaScript • Svårigheten med att implementera en GIF-dekoder i JavaScript • Varför GIF-dekoder?

13 Metod – GIF-dekoder • Dekoderns olika steg Rå dataHeader Färg- tabell LZW- block

14 Metod – XML-parser • Dekoda en slags XML • C++-dekoder • JavaScript-dekoder baserad på C++-versionen • Skrev ny JavaScript-dekoder baserad på regular expressions • Varför XML-parser?

15 Metod – Elementära tester • Varför elementära tester? • Exempel o Hashalgoritmer o Sortering o Matrisberäkningar o Funktionsanrop o Nästlade loopar o Strängkonkatenering

16 Resultat – GIF-dekoder

17 Resultat – Minnesanvändning

18 Resultat – XML-parser

19 Resultat – JPEG-encoder

20 Resultat – Annat • Rader kod? • Responsivitet? • Industriella benchmarks? • Internet Explorer?

21 Slutsats • JavaScript är snabbt! • Det går skapa de flesta program med fullgod prestanda • En stor nackdel är minnesförbrukningen • En kod kan köras på många platformar • Kräver mindre rader kod • Internet Explorer är en stor flaskhals • Utvecklingsverktyg?

22 Frågor?


Ladda ner ppt "Presentationens upplägg • Vad är JavaScript? • Varför är språket viktigt? • Historisk utveckling • Min frågeställning • Avgränsningar • Metod • Resultat."

Liknande presentationer


Google-annonser