PhpStorm

Die Entwicklungswerkzeuge der Firma Jetbrains sind ausgereift und aus einem Guss und erfreuen sich bei professionellen Softwareentwicklern seit über 15 Jahren großer und wachsender Beliebtheit. WebStorm und die Übermenge PhpStorm sind Webentwicklungswerkzeuge mit einer vielzahl an praktischen und sinnvollen Funktionen, die die Entwicklung und Auslieferung von Websoftware unterstützen.

PhpStorm fusst auf den gleichen Komponenten und Grundlagen wie die offizielle Android Entwicklungsumgebung Android Studio.

Polymer

Polymer ist eine Bibliothek von Webkomponenten für die schnelle standardisierte Entwicklung von nicht-trivialen Webapplikationen. Das Projekt wurde vom Internetkonzern Google ins Leben gerufen und ist verbunden mit den allgemeinen Bemühungen, das Web von einem dokumentbasierten Dienst in eine normierte Plattform für Applikationen zu erweitern. Hierbei werden auch sukzessive  moderne Webbrowser um sinnvolle Funktionen erweitert, so dass auch mehr und mehr geschäftskritische Anwendungen über das Web angeboten werden können.

Ein wichtiger Teil dieses Konzepts sind auch sogenannte Progressive Webapplikationen (Progressive Webapps), die die grenze zwischen Website und nativer mobiler Applikation immer stärker verschwimmen lassen.

NodeJS

NodeJS ist die Technologie, die nach allgemeiner Einschätzung in der Webentwicklung den LAMP Stack (Linux, Apache MySQL, PHP) als führende Webservertechnologie ablösen kann. Node ermöglicht die serverseitige Entwicklung mit einer Skriptsprache, die seid 2 Jahrzehnten eigentlich nur im Webbrowser oder in besonderen Fällen zum Einsatz gekommen ist. Serverseitiges JavaScript hat es seit einem der allerersten Webserver, dem Netscape Server, nicht mehr gegeben, erlebt aber mit NodeJS eine große Renaissance.

Mit NodeJS kommen meist auch in einem Rutsch moderne NoSQL Datenbanken und progressive Webapplikationen, die die Grenze zwischen nativen und Webapplikationen weiter verschwimmen lassen, zu Einsatz.

BackboneJS

Backbone ist eine JavaScript Bibliothek, die vielerlei Unterstützungsfunktionen und Softwarearchitekturmodelle für komplexere asynchrone Webapplikationen bietet. Backbone ist vergleichsweise ausgereift und zwingt im Gegensatz zu vielen anderen Werkzeugpaletten dieser Art in der Webentwicklung den Programmierer nicht in ein enges Korsett aus festgelegten Gestaltungselementen. Deshalb eignet es sich auch sehr gut zur Verwendung mit anderen Websoftwareprodukten wie z.B. WordPress oder jQuery. UnderscoreJS ist eine feste Komponente von BackboneJS.

PureCSS

PureCSS ist ein extrem leichtgewichtiges CSS Framework und eine gute Grundlage für komplexere grafische Benutzeroberflächen in Webapplikationen. PureCSS bietet unter anderem vorkonfektionierte Gestaltungsrahmen für Tabellen, Knöpfe, Formulare, Schriftsatzraster und Menüs.

Chrome

Chrome ist ein mächtiger und inzwischen sehr populärer Webbrower von Google der unter anderem mit einer sehr schnellen Variante von JavaScript aufwartet. Chrome ist ein Eckpfeiler von Googles Unternehmensstrategie, die darauf abzielt, das Web als brauchbare Alternative zu anderen Plattformen zu platzieren. Ein Beispiel dafür ist auch Chrome OS, ein nutzerfreundliches Internetbetriebssystem, das um den Chrome Browser herum gebaut ist. Chrome wartet auch mit sehr mächtigen Werkzeugen für die Webentwicklung auf, weshalb Chrome auch gerne von Webentwicklern für die Arbeit genutzt wird.

Git

Professionelle Arbeit an digitalen Projekten ist heutzutage ohne Versionierung undenkbar, und Git ist seit seiner Programmierung und Einführung durch den Linux “Erfinder” und Chefprogrammierer Linus Torwalds für die meisten Software- und Digitalexperten weltweit zum Versionierungstool der Wahl geworden. Es wird bei vielen namhaften und wichtigen Projekten als das primäre als Versionierungswerkzeug eingesetzt. Git ist ein verteiltes Versionierungssystem, das vollständig in der Umgebung des Computernutzers läuft und ohne Server auskommt.

Ein Grund für die Popularität von Git ist auch der Anbieter für Onlineversionerung “Github” der inzwischen für die meisten quelloffenen Softwareprojekte der Anbieter der Wahl ist.

Auch wenn es immer noch andere Versionerungssysteme gibt, hat sich Git als Quasi-Standard industrieübergreifend durchgesetzt, was sich auch in dem Angebot an Git Werkzeugen wiederspiegelt.

Web Components

Web Components sind eine neue und wichtige Erweiterung der Standards für das Web und bietet neue Möglichkeiten moderne Anforderungen in Websites und Webapplikationen abzubilden. Die vier großen Neuerungen sind native HTML Templates, native HTML Importe, die Möglichkeit zur Erstellung eigener HTML Elemente und das sog. “Shadow DOM”, d.h., vereinfacht ausgedrückt, die Möglichkeit, bestimmte Komponentengruppen in einer Website oder Webapplikation besser von anderen abzuschotten, dass diese sich nicht in gegenseitig stören.

TypeScript

TypeScript ist eine Programmiersprache die zu JavaScript transpiliert wird und Klassen, Schnittstellen, Vererbung, Module, anonyme Funktionen, generische Typen und eine statische Typisierung unterstützt. Es wird damit gerechnet, das die Eigenschaften von TypeScript in Zukunft in neuere JavaScript Versionen Einzug erhalten werden. In der großen Auswahl an Programmiersprachen die zu JavaScript transpilieren ist TypeScript eine der beliebtesten und erfährt große Unterstützung durch Werkzeuge und größere Projekte.

Electron

Electron ist ein Paket aus Softwarekomponenten und Werkzeugen, die es ermöglichen mit überschaubarem Aufwand eine Applikation für Desktopumgebungen vollständig mit Webtechnologien zu entwickeln. Hierbei werden alle benötigten Komponenten – Quellcode, Gestaltungselemente, Datenspeicher, Viewport mit Browseransicht und ähnliches – in einer einzelnen ausführbaren Datein gebündelt und für die verschiedenen Plattformen ausgeliefert.

Angular

Angular ist ein JavaScript Toolkit für die Entwicklung komplexer leistungsfähiger Webapplikationen. Neben Toolkits wie Polymer und ReactJS ist Angular eines der populären und wird in vielen wichtige Webapplikationen eingesetzt. Angular verwendet auch die transpilierte Programmiersprache TypeScript und bietet vordefinierte Strategien für verschiedene Problemstellungen, wie zu Beispiel die Programmierung von Progressive Web Apps.

MySQL

Das mit Abstand beliebteste Datenbanksystem ist die freie und quelloffene Datenbank MySQL. Die allermeisten Websites und Webapplikationen im Internet nutzen MySQL als Fundament für die Datenverwaltung und den Aufbau relationaler Datenstrukturen. SQL ist der Name der Standardprogrammiersprache für Datenbanken.

SQL ist eine Datenbanksprache aus der Geburtsstunde des Microcomputers und war ursprünglich als einfach zu verstehene Computersprache für Büroarbeiter konzipiert, die SQL direkt benutzt haben, um Datenbanksysteme zu bedienen. Aus historischen Gründen hat sich SQL auch als Sprache für die Programmierung von Datenspeicherung durchgesetzt und wird auch heute noch in Programmen verwendet, um relationale Daten in Datenbanken zu speichern.

Browsersync

Browsersync ist ein kleines praktisches Werkzeug, das mit dem npm Paketmanager zur Verfügung gestellt wird. Hiermit kann man die verschiedenen Webbrowser, die man bei der Webentwicklung im Einsatz hat, synchronisieren und automatisch steuern. Sehr praktisch für die gleichzeitige Entwicklung auf verschiedenen Geräten.

Babel

Babel ist ein spezieller Compiler, der JavaScript 6 in JavaScript 5 übersetzt – ein so genannter ‘Transpiler’. Mit diesem Werkzeug kann man schon in der neuen Version von JavaScript programmieren und alle neuen Eigenschaften der Sprache nutzen, und trotzdem Webapplikationen bauen, die schon in den heutigen Browser laufen. Babel ist eine ansehnliche Sammlung an Programmen und Softwareklassen und selbst in JavaScript programmiert.

Autoprefixer

Autoprefixer ist ein CSS Präprozessor, der CSS Dateien um browserspezifische Angaben erweitert. Verschiedene Browser von verschiedenen Anbietern brauchen unterschiedliche CSS Angaben um die gleichen Resultate in der Gestaltung einer Website oder Webapplikation zu erzeugen. Autoprefixer kümmert sich automatisch um diese Zusätze und spart damit im Alltag dem Webentwickler einiges an unnötiger Arbeit.

Google Web Designer

Google Web Designer ist ein Softwarewerkzeug zur Erstellung von modernen interaktiven Elementen für Websites und grafischen Oberlächen. Ähnlich wie im inzwischen obsoleten Flash kann man damit auch grafische Elemente im einer Zeitleiste animieren.

npm

npm, der Node Package Manager, ist das mit abstand am häufigsten verwendete Packetverwaltungstool für die JavaScript Programmiersprache. Mit diesem Werkzeug kann man schnell und probemlos über eine aktive Internetverbindung auf eine Vielzahl von JavaScript Packeten zugreifen und diese mit wenigen Befehlen in Windeseile automatisch in seine Websoftwareprojekte einbinden. Ein solcher Packetmanager ist in der professionellen Softwareentwicklung unverzichtbar.

Gulp

Gulp ist ein so genanntes ‘Build Tool’ – ein Werkzeug, das eine Reihe von Tätigkeiten zur Erstellung, zum Testen und zur Auslieferung von Software automatisiert. Gulp ist in JavaScript programmiert und wird unter anderem bei großen und komplexen Websoftwareprojekten eingesetzt, um Quelltextpakete und deren Aufbereitung zu steuern. Unter anderem beim Internetkonzern Google.

Karma

Softwareentwicklung ist eine komplexe und schwierige Tätigkeit. Das gilt doppelt für die Websoftwareentwicklung. Vielerlei Werkzeuge kommen zum Einsatz, unter anderem Werkzeuge zum automatisierten Testen von Software. Für Websoftware, speziell solche die in JavaScript entwickelt wird, ist Karma das Testwerkzeug der Wahl mit dem sich Auswirkungen von Änderungen und Erweiterungen von Softwareprojekten schnell und ausgiebig automatisiert auf Fehler oder unerwartete Auswirkungen testen lassen.

SASS

SASS – Syntactically Awesome Style Sheets – ist ein CSS Präprozessor, der die Gestaltungsprache CSS um wichtige und nützliche Eigenschaften wie Variablen und Module erweitert. Man schreibt CSS in einer erweiterten Sprache (SASS) und verarbeitet diese dann vor der Veröffentlichung mit dem SASS Compiler, der daraus CSS Dateien generiert, die vom Webbrowser verstanden werden können.