Node.js: Unterschied zwischen den Versionen
Kowa (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
Kowa (Diskussion | Beiträge) |
||
Zeile 58: | Zeile 58: | ||
* https://github.com/airbnb/javascript | * https://github.com/airbnb/javascript | ||
* [[Multimedia-Programmierung: Konventionen|Programmierkonventionen]] | * [[Multimedia-Programmierung: Konventionen|Programmierkonventionen]] | ||
===Dokumentation=== | |||
* '''Code Dokumentation''': Etwas schlecht dokumentiert und ein wenig oldschool ist @use JSDoc (http://usejsdoc.org/). Mit einem zusätzlichem Theme und ein paar Einstellung lässt sich daraus eine sehr schöne Doku generieren (siehe z.B. http://plasticjs.org/devdocs/) | |||
* '''Allgemeine Dokumentation''': Sphinx (http://sphinx-doc.org/). Auch hier kann das Ergebnis durch ein gutes Theme deutlich aufgebessert werden: https://github.com/snide/sphinx_rtd_theme. (siehe z.B. http://www.plasticjs.org/docs/) | |||
* '''JSON Schema''': Wenn man JSON Schema oder Ähnliches verwendet, lassen sich auch Teile der Dokumentation relativ einfach automatisch generieren. (siehe z.B. http://www.plasticjs.org/docs/displayModules/advancedTable.html#available-options) | |||
==Quellen== | ==Quellen== |
Version vom 22. Oktober 2014, 17:07 Uhr
Dieser Artikel erfüllt die GlossarWiki-Qualitätsanforderungen nur teilweise:
Korrektheit: 4 (großteils überprüft) |
Umfang: 0 (viel zu gering) |
Quellenangaben: 3 (wichtige Quellen vorhanden) |
Quellenarten: 4 (sehr gut) |
Konformität: 4 (sehr gut) |
Im Artikel sind viele weiterführenden Verweise angegeben. Diese werden jeweils zu Beginn des Wintersemesters aktualisiert.
Definition (nodejs.org[1])
Node.js® is a platform built on Chrome's JavaScript runtime for easily building fast, scalable network applications. Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient, perfect for data-intensive real-time applications that run across distributed devices.
Übrsetzung (Wolfgang Kowarschick)
Node.js® ist ein Programm basierend auf der JavaScript-Laufzeitumgebung von Chrome, um auf einfache Art schnelle, skalierbare Netzwerk-Anwendungen zu erstellen. Node.js benutzt ein event-getriebenes, nicht-blockierendes I/O-Modell, wodurch es leichtgewichtig und effizient wird, perfekt für datenintensive Echtzeit-Anwendungen, die auf verteilten Plattformen laufen.
Entwicklungsumgebung
Als Entwicklungsframework bietet sich jedes JavaScript-Entwicklungs-Framework an (siehe JavaScript, Abschnitt „Frameworks für die JavaScript-Entwicklung“).
Für die Realisierung von Node.js-Projekten benötigt man außerdem auf jeden Fall eine Konsole, am Besten eine Unix-Konsole wie die Bash. Unter Linux und Mac gibt es eine derartige Konsole bereits, unter Window kann man die „Git BASH“ verwenden:
- MsysGit: http://msysgit.github.io/
Des weiteren benötigt man Node.js und, falls man Sass verwenden will, Ruby:
- Node.js: http://nodejs.org/ (NPM ist integriert)
- Ruby: http://rubyinstaller.org/
Außerdem sollte man Zugriff auf einen SVN- oder einen Git-Server haben:
- https://github.com/. https://education.github.com/, https://education.github.com/pack
- https://gitlab.multimedia.hs-augsburg.de/
Installation
Zunächst installiert man MsysGit, Node.js und Ruby. Achten Sie darauf, dass die Befehle npm
(Node.js) und gem
über die Bash-Konsole zugänglich sind. Im Zweifellsfall müssen Sie die Umgebungsvariable PATH
erweitern.
Unter Windows funktioniert dies folgendermaßen:
Systemsteuerung
→System
→Erweiterte Systemeinstellungen
→ ReiterErweitert
→Umgebungsvariablen...
- Hier sollten in
PATH
folgende Pfade enthalten sein:
C:\Users\BENUTZERNAME\AppData\Roaming\npm;C:\Ruby193\bin
(wobei die Pfade naturlich an Ihre Gegebenheiten angepasst werden müssen)
Nun sollten Sie ein paar Node.js-Pakete installieren. Geben Sie in der Bash-Konsole folgende Befehle ein:
npm install -g grunt-cli
(Grunt, http://gruntjs.com/, JavaScript Task Runner)npm install -g bower
(Bower, http://bower.io/, Packagemanager)gem install sass
(evtl. auchsudo gem install sass
) ([[[Sass]], http://sass-lang.com/, anstelle von CSS)npm install -g yo
(Yeoman, http://yeoman.io/, Erstellt Barebone-Projektstrukturen, sehr hilfreich für den Anfang. Es gibt sehr viele Generatoren für alle möglichen Einsatzzwecke. Yeoman verwendet Grunt und Bower.)npm install jshint
(JSHint, http://www.jshint.com/, Linter zum Vermeiden von typischen Fehlern, in WebStorm bereits standardmäßig aktiviert)
Ein sehr interessantes Tool ist auch noch:
- Travis CI: https://travis-ci.org/, Continuous-Integration-Server, der sich direkt in GitHub einbinden lässt; sehr hilfreich für automatische Tests in verschiedenen Umgebungen
Siehe auch
Style Guides
Dokumentation
* Code Dokumentation: Etwas schlecht dokumentiert und ein wenig oldschool ist @use JSDoc (http://usejsdoc.org/). Mit einem zusätzlichem Theme und ein paar Einstellung lässt sich daraus eine sehr schöne Doku generieren (siehe z.B. http://plasticjs.org/devdocs/) * Allgemeine Dokumentation: Sphinx (http://sphinx-doc.org/). Auch hier kann das Ergebnis durch ein gutes Theme deutlich aufgebessert werden: https://github.com/snide/sphinx_rtd_theme. (siehe z.B. http://www.plasticjs.org/docs/) * JSON Schema: Wenn man JSON Schema oder Ähnliches verwendet, lassen sich auch Teile der Dokumentation relativ einfach automatisch generieren. (siehe z.B. http://www.plasticjs.org/docs/displayModules/advancedTable.html#available-options)