Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Grundlagen der Entwicklung von Web-Apps

Grundlagen der Entwicklung von Web-Apps

Thorsten Rinne

March 07, 2013
Tweet

More Decks by Thorsten Rinne

Other Decks in Programming

Transcript

  1. VS.

  2. AKTUELLE BROWSER • Google Chrome 25 • Firefox 19 •

    Safari 6 • Opera 12.5 13? • Internet Explorer 10
  3. NODE + SQLITE3 • OS X $ brew install node

    $ brew install sqlite3 • Linux $ apt-get install nodejs $ apt-get install sqlite3 • Windows Bitte Binaries laden!
  4. NODE MODULE $ npm install sqlite3 $ npm install express

    $ npm install ws $ npm install less
  5. EXPRESS.JS • node.js basiertes Web Framework • Inspiriert von Sinatra

    (Ruby), analog zu Silex (PHP) • asynchron • http://expressjs.com/
  6. EXPRESS.JS var express = require('express'), app = new express(); app.get('/',

    function(req, res){ res.send('Hello, Munich!'); }); app.listen(8080);
  7. STRUKTUR • HTML (Templates) • CSS • JavaScript (Libraries und

    eigener Code) • LESS/SASS • Tests (lassen wir mal aussen vor) • Medien wie Bilder, Fonts, Audio, Video, usw
  8. <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Hallo, München</title> </head> <body>

    <h1>Hallo, München</h1> </body> </html> <meta charset="utf-8">
  9. STRICT MODE MEHR FEHLER • keine versehentlichen globals (ReferenceError) •

    Schärfere Regeln bei Zuweisungen • Non-writable, getter-only, neue Properties bei non-extensible Objekten • Kein Löschen von nicht löschbaren Eigenschaften (prototype) • Eindeutige Propertynamen • Eindeutige Namen für Argumente (function (a, a, b)...) • Keine Oktalnotation (z.B. 012 - SyntaxError)
  10. STRICT MODE EINFACHERE BENUTZUNG • “with” ist verboten • (var

    x = 1; with (obj) { x};) • Keine neuen Variablen mit “eval” • eval(“var x”); • Keine Variablen löschen • var x = 123; delete x;
  11. STRICT MODE EINFACHERE BENUTZUNG • “with” ist verboten • (var

    x = 1; with (obj) { x};) • Keine neuen Variablen mit “eval” • eval(“var x”); • Keine Variablen löschen • var x = 123; delete x;
  12. STRICT MODE EVAL & ARGUMENTS • eval und arguments können

    nicht mehr mit anderen Werten belegt oder an einen Kontext gebunden werden • arguments kann nicht mehr durch Aliases verändert werden • function func(arg) { var arg = 15; return [arg, arguments[0]]}; • arguments.callee existiert nicht mehr - TypeError
  13. STRICT MODE SICHERHEIT • Kein Zugriff mehr auf das globale

    Objekt aus Funktionen • function f() { return this; } - undefined • Kein Zugriff auf func.arguments und func.caller von außerhalb • Kein Zugriff auf Variablen in einer Funktion von außerhalb
  14. STRICT MODE • Reservierte Wörter: implements, interface, let, package, private,

    protected, public, static, und yield • Keine Funktionsdefinition in Bedingungen und Schleifen
  15. KONTAKT Sebastian Springer sebastian.springer@mayflower.de Mayflower GmbH Mannhardtstr. 6 80538 München

    Deutschland @basti_springer https://github.com/sspringer82 Thorsten Rinne [email protected] Yatego GmbH Kobellstr. 15 80336 München Deutschland @ThorstenRinne https://github.com/thorsten