JS Learning Group: Unterschied zwischen den Versionen

aus Metalab Wiki, dem offenen Zentrum für meta-disziplinäre Magier und technisch-kreative Enthusiasten.
Zur Navigation springenZur Suche springen
Keine Bearbeitungszusammenfassung
(fix linebreaks)
Zeile 36: Zeile 36:
* ~1h Vortrag, ~1h+ Questions & Answers
* ~1h Vortrag, ~1h+ Questions & Answers
* + Leseempfehlung zur Wiederholung und Vertiefung des besprochenen. (~1h Zeitaufwand)
* + Leseempfehlung zur Wiederholung und Vertiefung des besprochenen. (~1h Zeitaufwand)
* + Kleinere, Übungsaufgaben zum Wiederholen in der Gruppe.
* + Kleinere, Übungsaufgaben zum Wiederholen in der Gruppe oder allein.
oder allein.


== Resourcen ==
== Resourcen ==
* [https://developer.mozilla.org/en-US/docs/Web/JavaScript Mozilla Developer Network (MDN)],
* [https://developer.mozilla.org/en-US/docs/Web/JavaScript Mozilla Developer Network (MDN)], Beinhaltet eine Referenz um Details nachzulesen, eine "re-introduction to JavaScript" für
Beinhaltet eine Referenz um Details nachzulesen, eine "re-introduction to JavaScript" für
erfahrenere Programmierer*innen und einen Guide für Anfänger*innen.
erfahrenere Programmierer*innen und einen Guide für
Für letztere ist aber vielleicht Eloquent JavaScript die bessere Wahl, weil umfassender.
Anfänger*innen. Für letztere ist aber vielleicht Eloquent
* [http://eloquentjavascript.net/ Eloquent Javascript], eine allgemeine Einführung. Gut geeignet für Einsteiger*innen.
JavaScript die bessere Wahl, weil umfassender.
* [https://leanpub.com/javascript-allonge/read Javascript Allonge], eine Einführung in die funktionale Programmierung mit Javascript. Vermittelt ein tieferes Verständnis vom Umgang mit Funktionen.
* [http://eloquentjavascript.net/ Eloquent Javascript], eine
allgemeine Einführung. Gut geeignet für Einsteiger*innen.
* [https://leanpub.com/javascript-allonge/read Javascript Allonge],
eine Einführung in die funktionale Programmierung mit
Javascript. Vermittelt ein tieferes Verständnis vom Umgang mit Funktionen.


== Kapitel ==
== Kapitel ==
Zeile 58: Zeile 52:
Sessions üben zu können.
Sessions üben zu können.


* Git(hub): Wir versuchen zu klären was git ist, stellen GitHub und
* Git(hub): Wir versuchen zu klären was git ist, stellen GitHub und try.github.com vor und verweisen dann auf weiterführende Infos. Ziel ist es dass alle eine Vorstellung haben was Git ist, es auf ihren Rechnern installiert haben und zumindest einmal gecloned und comitted haben.
try.github.com vor und verweisen dann auf weiterführende Infos. Ziel ist es
dass alle eine Vorstellung haben was Git ist, es auf ihren Rechnern
installiert haben und zumindest einmal gecloned und comitted haben.


* Editoren: Eine kurze Diskussions und Vorstellrunde für verschiedene
* Editoren: Eine kurze Diskussions und Vorstellrunde für verschiedene Text-Editoren. Erläutern was für Features so ein Text-Editor haben kann und warum z.B. Syntax-Highlighting oder eine Integrationen mit Lintern wie jshint sehr nützlich sein können. Ziel ist es, dass alle einen Text-Editor mit Syntax-Highlighting und am besten einem Syntax-Checker/Linter installiert haben.
Text-Editoren. Erläutern was für Features so ein Text-Editor haben
kann und warum z.B. Syntax-Highlighting oder eine Integrationen mit
Lintern wie jshint sehr nützlich sein können. Ziel ist es, dass alle
einen Text-Editor mit Syntax-Highlighting und am besten einem
Syntax-Checker/Linter installiert haben.


* Node.js: Wir installieren bei allen Node.js um die Sprache, JavaScript,
* Node.js: Wir installieren bei allen Node.js um die Sprache, JavaScript, unabhängig von einer Browser-Implementierung erlernen zu können und versuchen kurz zu besprechen was grobe Unterschiede zwischen z.B. einem Browser und node.js sind. Wir verwenden node.js nur als Interpeter für javascript und verwenden möglichst wenig node-spezifische Features bis zum entsprechendem Kapitel. Ziel ist, dass alle node.js installiert und "hello world" ausgeführt haben.
unabhängig von einer Browser-Implementierung erlernen zu können und
versuchen kurz zu besprechen was grobe Unterschiede zwischen
z.B. einem Browser und node.js sind. Wir verwenden node.js nur als
Interpeter für javascript und verwenden möglichst wenig
node-spezifische Features bis zum entsprechendem Kapitel. Ziel ist,
dass alle node.js installiert und "hello world" ausgeführt haben.


=== Javascript als Sprache (mit node.js, aber allgemein) ===
=== Javascript als Sprache (mit node.js, aber allgemein) ===
Zeile 86: Zeile 66:
* Der Debugger: Wie setze ich breakpoints und was mache ich mit ihnen?
* Der Debugger: Wie setze ich breakpoints und was mache ich mit ihnen?
* jQuery, underscore.js, zepto. Eine Übersicht zu praktischen Helfern.
* jQuery, underscore.js, zepto. Eine Übersicht zu praktischen Helfern.
* Backbone.js als Beispiel für ein umfangreichers Framework. Eventuell
* Backbone.js als Beispiel für ein umfangreichers Framework. Eventuell auch noch Marionette.js
auch noch Marionette.js


=== Javascript am Server ===
=== Javascript am Server ===
Zeile 94: Zeile 73:


=== Javascript für command line apps. ===
=== Javascript für command line apps. ===
* Diskussion verschiedener libraries zum handling von command line
* Diskussion verschiedener libraries zum handling von command line arguments, dem arbeiten mit stdin, stdout, etc.
arguments, dem arbeiten mit stdin, stdout, etc.

Version vom 13. Dezember 2014, 13:50 Uhr

Ein paar Leute, die eher von der HTML/CSS-Ecke kommen, schauen sich gemeinsam Java Script an, zeigen eigene (Übungs)projekte her und helfen sich gegenseitig

Wir gehen dabei auch dieses Buch durch: http://eloquentjavascript.net/ Wir sind im Moment Bei Chapter 3.

Bei Fragen zur Veranstaltung: Better call Redplanet


History:

  • Mo, 8.12.2014, 19:00

Nächster Termin:

  • Mo, 22.12.2014,19:00

Ich poste hier mal einen ersten Konzept-Entwurf Zur Diskussion. Contributions welcome! ~ Phaer (Diskussion) 04:11, 9. Dez. 2014 (CET)


Zielgruppe

Sind Leute die entweder noch gar nicht programmiert haben, eher wenig Programmier-Erfahrung haben und Leute die andere Programmiersprachen nutzen aber im Browser immer wieder über Feinheiten und Quirks der JavaScript-Umgebung stolpern. Der hohe Anspruch ist es vor allem die Sprache JavaScript, die Browser-Umgebung und Node.js von Grund auf soweit zu vermitteln, dass am Ende alle Teilnehmenden ein kleines Projekt geschrieben und Code-Stücke von anderen gelesen und verstanden haben. Außerdem sollen sie in der Lage sein sich selbstständig in neue Frameworks einzuarbeiten und Ansatzpunkte haben ihre eigenen Projekte zu verwirklichen.

Format

  • Zweiwöchentlich(?)
  • ~1h Vortrag, ~1h+ Questions & Answers
  • + Leseempfehlung zur Wiederholung und Vertiefung des besprochenen. (~1h Zeitaufwand)
  • + Kleinere, Übungsaufgaben zum Wiederholen in der Gruppe oder allein.

Resourcen

erfahrenere Programmierer*innen und einen Guide für Anfänger*innen. Für letztere ist aber vielleicht Eloquent JavaScript die bessere Wahl, weil umfassender.

  • Eloquent Javascript, eine allgemeine Einführung. Gut geeignet für Einsteiger*innen.
  • Javascript Allonge, eine Einführung in die funktionale Programmierung mit Javascript. Vermittelt ein tieferes Verständnis vom Umgang mit Funktionen.

Kapitel

Tools & development setup

Es wäre wohl gut in der ersten Session zuerst mal Kontakt mit den wichtigsten Tools zu haben um mit diesen in den folgenden Sessions üben zu können.

  • Git(hub): Wir versuchen zu klären was git ist, stellen GitHub und try.github.com vor und verweisen dann auf weiterführende Infos. Ziel ist es dass alle eine Vorstellung haben was Git ist, es auf ihren Rechnern installiert haben und zumindest einmal gecloned und comitted haben.
  • Editoren: Eine kurze Diskussions und Vorstellrunde für verschiedene Text-Editoren. Erläutern was für Features so ein Text-Editor haben kann und warum z.B. Syntax-Highlighting oder eine Integrationen mit Lintern wie jshint sehr nützlich sein können. Ziel ist es, dass alle einen Text-Editor mit Syntax-Highlighting und am besten einem Syntax-Checker/Linter installiert haben.
  • Node.js: Wir installieren bei allen Node.js um die Sprache, JavaScript, unabhängig von einer Browser-Implementierung erlernen zu können und versuchen kurz zu besprechen was grobe Unterschiede zwischen z.B. einem Browser und node.js sind. Wir verwenden node.js nur als Interpeter für javascript und verwenden möglichst wenig node-spezifische Features bis zum entsprechendem Kapitel. Ziel ist, dass alle node.js installiert und "hello world" ausgeführt haben.

Javascript als Sprache (mit node.js, aber allgemein)

  • nodeschool.io nutzen

Javascript im Browser

  • Einführung Developer-Tools (Console, Inspector, Network Tab)
  • Was ist das DOM? Wie nutze ich es? (Vanilla JS, noch ohne Libraries)
  • Der Debugger: Wie setze ich breakpoints und was mache ich mit ihnen?
  • jQuery, underscore.js, zepto. Eine Übersicht zu praktischen Helfern.
  • Backbone.js als Beispiel für ein umfangreichers Framework. Eventuell auch noch Marionette.js

Javascript am Server

  • Node.js
  • Meteor

Javascript für command line apps.

  • Diskussion verschiedener libraries zum handling von command line arguments, dem arbeiten mit stdin, stdout, etc.