JavaScript: Von einfachen Scripten zu komplexen Anwendungen

· 4 Kommentare

Am 2. Dezember habe ich beim Multimediatreff 28 – Webtechnologien – HTML5, CSS3 & Co den Vortrag JavaScript: Von einfachen Scripten zu komplexen Anwendungen gehalten. Hier können Sie die Vortragsfolien herunterladen und Linkliste zu den angesprochenen Themen.

Vortragsankündigung

JavaScript hat sich von einer beschränkten Scriptsprache zu einer mächtigen Sprache entwickelt, in der umfangreiche clientseitige Anwendungen geschrieben werden. Doch der Sprung von einfachem DOM-Scripting mit Hilfsmittel wie jQuery zu komplexen Anwendungen ist schwierig und verlangt Know-How. Der Vortrag gibt einen Einblick in aktuelle Konzepte und Techniken, die Struktur in die Entwicklung von JavaScript-Anwendungen bringen.

Folien herunterladen

JavaScript: Von einfachen Scripten zu komplexen Anwendungen (PDF)

Videomitschnitt

Korrekturen

Bastian Sackermann hat mich freundlicherweise darauf aufmerksam gemacht, dass im jQuery-Beispielcode auf der Folie 10 etwas fehlt. Das Szenario ist ein Link zu einer Folgeseite z.B. im Rahmen einer Blätternavigation. Das Script fügt dem Link JavaScript-Funktionalität hinzu, sodass das Linkziel per Ajax im Hintergrund geladen und die Serverrückgabe ins Dokument eingefügt wird. Damit das klappt und nicht das Linkziel auf gewöhnliche Weise angesurft wird, fehlte das Unterdrücken der Standardaktion z.B. mit event.preventDefault(). Der korrigierte Code:

jQuery(document).ready(function ($) {

  $("#loadmore").click(function (event) {
    event.preventDefault();

    var href = $(this).attr("href");

    $("#content").load(href);

  });

});

Linksammlung

Einleitendes

Objekt-Literal

Module-Pattern

Revealing Module Pattern

Pseudoklassen

Sinnvolle JavaScript-Anwendung: Behaviour Layer und Unobtrusive JavaScript

Beispielanwendung Moviepilot

  • Moviepilot.de – bekannte deutschsprachige Site
  • Moviepilot.com – englischsprachige JavaScript-Webanwendung, an der 9elements mitentwickelt hat
  • Ruby on Rails – serverseitiges Webframework, das die Grundlage für Moviepilot.com bereitstellt
  • CoffeeScript – die Metasprache, in der wir JavaScript schreiben
  • Handlebars – Templating-Bibliothek
  • Underscore – JavaScript-Bibliothek u.a. für komfortable funktionale und objektorientierte Programmierung
  • Backbone – kleines MVC-Framework, das bei Moviepilot.com im Einsatz ist

The Good Parts

ECMAScript 5 & 6

Google Closure Compiler

CoffeeScript

Google Web Toolkit und weitere Metasprachen

  • Google Web Toolkit – ausgereiftes Framework zur JavaScript-Anwendungsentwicklung
  • Cappucino & Objective-J – weiteres umfangreiches GUI-Framework
  • Traceur – Metasprache/Compiler für ES6-Features
  • Dart – Programmiersprache für »structured code«, kann nach JavaScript kompiliert werden

MVC-Bibliotheken

Publish/Subscribe

Build-Tools

Allgemeine Links zu JavaScript-Webanwendungen

« Effiziente CSS-Entwicklung mit Sass und Compass

Zum Stand der Webstandards, dem W3C und der WHATWG »

  • Struppi hat kommentiert:

    Oh Danke,

    du hast mein Motto übernommen. Cool :-)

  • molily hat kommentiert:

    Stimmt. Ich hätte »© Struppi« darunterschreiben sollen. :) Ich revanchiere mich mit einem Platz in der Linkliste!

  • Struppi hat kommentiert:

    Hehe, Danke!

    Aber ob ich da rein passe? Das ist ja alles mittlerweile eine komplett andere Liga. Und das meine ich mit Respekt. Mit dem Umfang und der Gründlichkeit der Artikel, kann mein Blog bei weitem nicht mithalten.

  • sanfu hat kommentiert:

    Vielen dank für diesen ausführlichen vortrag, konnte neue erkenntnisse gewinnen.

    Eine frage hätte ich da, womit würde es sich mehr lohnen zeit zu investieren um eine programmiersprache zu erlernen, in dem vortrag wurde erwähnt das man mit hilfe von java und gwt javascript code generieren lassen kann.

    Ist es nicht besser java zu erlernen an statt mich mit javascript durch zu quälen

Kommentar verfassen

Der Kommentar erscheint nicht sofort unter dem Artikel, sondern wandert erst einmal in die Moderationsschleife. Er wird dann zeitnah freigeschaltet.