GitKraken

Für das führende Versionierungssystem Git gibt es zahlreiche grafische Werkzeuge, die den Umgang mit Git und den zugehörigen Versionierungs­repositorien vereinfachen und übersichtlicher machen. GitKraken ist eins dieser Werkzeuge. GitKraken ist auf allen großen Betriebssystemen lauffähig und hat eine moderne, grafisch ansprechende Benutzeroberfläche und viele Funktionen, die die schnelle und bequeme Ausführung von komplexeren Git-Vorgängen ermöglichen.

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.

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.

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.

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.

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.

Docker

Docker ist in aller Munde. Zu recht. Eine vollständige Virtualisierung der Arbeitsumgebung ist heutzutage eine Fingerübung und mit Docker geht das weitgehend verlustfrei und als organischer Teil des Softwareentwicklungs­prozesses. Entkoppelt vom Betriebssystem kann man mit und auf Docker ausliefern und bleibt weitgehend unabhängig von Unwägbarkeiten der Laufzeitumgebung. Der ganze Prozess ist automatisiert und lässt sich leicht reproduzieren.

Hier ein paar hilfreiche Links zum Thema:

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.

Underscore.js

Underscore JS ist eine JavaScript Werkzeugbibliothek, die als ein JavaScript Objekt eingebunden wird. Der Name des Objects ist ein einfacher Unterstrich “_”, daher der Name der Bibliothek. Underscore bietet zahlreiche nützliche Funktionen – unter anderem für die funktionale Programmierung – und beschleunigt die professionelle Programmierung mit JavaScript spürbar.

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.

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.

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 oft bei großen und komplexen Websoftwareprojekten eingesetzt, um Quelltextpakete und deren Aufbereitung zu steuern. Unter anderem beim Internetkonzern Google.

Chromium

Chromium ist die freie quelloffene Variante des Chrome Browser von Google und wird ohne die übliche Nutzerverhaltensanalyse von Google ausgeliefert – deshalb wird diese Variante des Chrome Browsers auch gerne von Computerexperten genutzt.

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.

Python

Python ist eine der beliebtesten Programiersprachen weltweit und ist eine der wenigen, wenn nicht gar die einzige Programmiersprache, die in jedem Industrie- und Wissenschaftszweig professionell angewendet wird.

Von der Webentwicklung, über die Unterhaltungsindustrie und das Bankenwesen bis hin zur klassischen Industrie und der Wissenschaft wird Python vielerorts eingesetzt. Gleichzeitig ist es eine Programmiersprache, die sehr viele Anfänger  und Profis gleichermaßen mögen. Python ist modern, sehr einfach zu lernen und auch einfach anzuwenden.