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.

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.

Ubuntu

Ubuntu Linux ist eine sehr populäre und nutzerfreundliche Linuxversion, die zahlreiche Hardwaretreiber – auch proprietäre und nicht-quelloffene – mitliefert bzw. deren Nachinstallation trivial einfach macht. Ubuntu gilt gemeinhin als das “Linux für Einsteiger” ist aber durch seine direkte Herleitung von Debian Linux mit exakt den gleichen Fähigkeiten ausgestattet, wie “Profi-Linuxe” wie z.B. Redhat oder eben Debian.

Linux ist das mit Abstand am häufigsten verwendete Betriebssystem. Es ist das einzige Betriebssystem, das nahezu in allen Szenarien Einsatz findet, vom kleinen embedded System über Smartphones (Android) und Desktops bis hin zu Großrechnern. Eine Investition in ein Linux System gilt quasi per Definition als zukunftssicher. Auch die allermeisten Internetserver laufen unter Linux.

Blender

Blender ist ein Vorzeigeprojekt der internationalen Open Source Community. Ursprünglich aus einer kommerziellen underdog 3D Software entstanden ist dieses inzwischen als freies open source Werkzeug erhältliche 3D Softwarepaket für viele Künstler und 3D Experten weltweit mit seinem sehr mächtigen Funktionsumfang die Software der Wahl. Selbst Fans von anderen Werkzeugen nehmen Blender zur Hand, wenn es gilt, Dinge zu tun die das Programm bekanntermaßen besser macht als andere.

Blender wird ständig weiterentwickelt und es ist abzusehen, das es eines Tages sich auch in der Filmindustrie als Standard durchsetzen wird.

Mit entsprechende Erweiterungen und Plugins lässt sich Blender auch hervorragend für die 3D Webentwicklung einsetzen.

Bootstrap

Bootstrap ist ein Frontend Framework für standardisierte Schriftsatzraster und die Entwicklung von responsiven Websites und Webapplikationen.

Mit der heutzutage üblichen breiten Palette an Endgeräten, auf Großbildschirmen, auf dem Schreibtisch, als Tablet- oder Smartphoneanwendung, mit Maus- oder Fingerbedienung, ist es wichtig Websites so zu planen und zu gestalten, das sie in allen dieser Darstellungsformen sinnvoll und korrekt erscheinen und praktikabel zu bedienen sind. Bootstrap ist in der Webentwicklung der Quasistandard für diese Art von Webentwicklung, die heute unverzichtbar ist.

Das Bootstrap Projekt wurde von dem Internetkonzern Twitter ins Leben gerufen und verwendet als Untermenge unter anderem die jQuery JavaScript Bibliothek.

Kotlin

Kotlin ist eine der jüngsten Sprachen für die JVM (Java Virtual Machine), von denen es eine ganze Familie gibt. Kotlins Beliebtheit ist sehr schnell gewachsen. Zum einen weil die Sprache vom Softwarewerkzeuganbieter Jetbrains entwickelt wurde und damit extrem auf praktische Anwendbarkeit und Werkzeugfähigkeit ausgelegt ist. Zum anderen hat wenige Jahre nach der Veröffentlichung Kotlings der Internetkonzern Google angekündigt, Kotlin neben Java als offizielle Programmiersprache für sein mobiles Betriebssystem Android zu unterstützen.

Kotlin gilt bei vielen Entwicklern als “das bessere Java” und schließt in etwa eine Lücke zwischen der etablierten Sprache Java und der innovativen aber auch etwas schierigeren Sprache Scala, von der Kotlin einiges an Konzepten übernommen hat.

Java

Java ist eine der am häufigsten eingestetzten Programmiersprachen überhaupt. Ursprünglich für die plattformunabhängige Entwicklung für Internetclients und Endgeräte entwickelt, wird Java heutzutage hauptsächlich in Geschäftsanwendungen eingestetzt, was unter anderem sicher dem Umstand geschuldet ist, das Java eine stark typisierte Sprache ist und mit seiner Struktur die fehlerfreie Entwicklung von großen komplexen Anwendungen unterstützt.

Java wurde ursprünglich von Sun Microsystems entwickelt und später unter einer Open Source Softwarelizenz zur Verfügung gestellt. Heute ist der Datenbank und Geschäftssoftwareanbieter Oracle Eigentümer und Hüter der Java Produktpalette. Außerdem gibt es verschiedene quelloffene Java Produkte und Implementierungen.

Rust

Rust ist ein prominenter Vertreter der neuen Welle an Systemprogrammiersprachen. Vom Mozilla / Firefox Team entwickelt, verspricht Rust hohe Geschwindigkeiten, Stabilität und sichere Nebenläufigkeit auf modernen Multiprozessor Systemen. Wie die klassischen Programmiersprachen C und C++ ermöglicht Rust eine sehr systemnahe Programmierung allerdings ohne die Probleme, die diese “C” Sprachen mit sich bringen. Unter anderem strenge Fehlerkontrollen zur Kompilierphase der Programmierung verhindern die üblichen Probleme, die die alten Systemprogrammiersprachen mit sich bringen. Weiterführende Links zu Rust finden sie in diesem Beitrag.