Die Corona-Krise hat viele negative Seiten, aber sie bietet auch Chancen. Die Zeit, die einige aktuell haben, kann effektiv genutzt werden. Endlich das Buch lesen, was schon so lange auf dem Nachttisch liegt, lernen einen Handstand zu machen oder sich eine neue Sprache aneignen. Für Entwickler bietet die freie Zeit die Chance neue Skills zu lernen.
Hier ist eine Sammlung von interessanten Frameworks, Programmiersprachen und anderen Tools, die man sich in dieser Zeit anschauen kann.
AR Core/ Google Play Services for AR
AR Core ist ein Entwickler-Framework für AR/VR-Anwendungen. Im August 2017 wurde die Technologie von Google vorgestellt, quasi als Nachfolger des Project Tango. Das besondere an AR Core ist, dass es nicht nur auf Android-Geräten mit speziellen Sensoren genutzt werden kann. ARCore funktioniert mit Java/OpenGL, Unity und Unreal.
Die grundlegenden Funktionen des Frameworks sind das Erkennen und Auslesen der Umgebung, das Tracking von Objekten und die Analyse von Licht- und Schattenquellen. Eine Anwendung, die beispielsweise mit ARCore entwickelt wurde, ist die App Measure, mit der man Gegenstände vermessen kann. Im August 2019 wurde AR Core in “Google Play Services for AR” umbenannt.
ActyxOS
ActyxOS ist eine Entwicklerplattform, die speziell für die Automatisierung von Prozessen in der Industrie konzipiert wurde. Sie basiert auf einem dezentralen Edge-Computing-System. Die Datenspeicherung erfolgt durch die Bildung einer Blockchain. Der dezentrale Ansatz ermöglicht es Applikationen zu entwickeln, die unabhängig von einem zentralen Kommunikations- oder Speicherpunkt sind. Auf diese Weise können zeitsensible Daten zuverlässig quasi in Echtzeit kommuniziert werden.
ActyxOS ermöglicht es, Apps lokal auf einem oder mehreren Endgeräten (z.B Tablet, Smartphone, Gateway) auszuführen. Daten werden automatisch zwischen den Geräten im lokalen Netzwerk synchronisiert und gespeichert, der Zugriff der Apps auf die Daten läuft ausschließlich lokal (APIs via localhost). Die Actyx Plattform hat konsequent auf Event-Sourcing gesetzt und bietet ein entsprechendes Programmiermodell (Actyx Pond) zur einfachen Programmierung von verteilten Anwendungen an. In der Kombination mit dem dezentralen Ansatz können neue Geräte oder Apps ohne Anpassung von bestehenden Komponenten hinzugefügt werden. Die Actyx Plattform wurde designed mit dem Ziel Entwickler, bei der Automatisierung von Prozessen zwischen Maschinen, Robotern und Menschen produktiver zu machen.
Contentful
Contentful ist ein performantes Content Management System. Einfach gesagt ist es ein Werkzeug zur digitalen Verwaltung und Verteilung von Content. Das Tool soll Entwicklern, wie Redakteuren gleichermaßen helfen, besser zusammenzuarbeiten. Es können Inhalte aus einer Software heraus an verschiedene Plattformen ausgespielt werden. Zum Beispiel ein Text für den Firmenblog oder eine Push-Benachrichtigung an Nutzer einer Shopping-App.
Das Tool ist einfach zu programmieren und ermöglicht eine sichere Kommunikation via https. Durch Schnittstellen zu diversen Online-Diensten ist es modular aufgebaut. Zusätzlich bietet es Cross-Browser-Support, ein Vorteil bei einem Tool, dass für Entwickler und Redakteure geschaffen ist.
Learn TypeScript by building a browser game together with trainer David Müllerchen.
Unlock the full potential of the server-side JavaScript platform in the workshop with Sebastian Springer.
Rust
Rust ist eine relativ neue, aufkommende Programmiersprache. Sie vereinfacht die Implementierung von zuverlässigen, sicheren und hoch-performanten Programmen. Die Sprache wurde von Mozilla Research mit dem Ziel entwickelt, sicher, nebenläufig und praxisnah zu sein. Sicherheit bezieht sich dabei insbesondere auf die Vermeidung von Programmfehlern, die zu Speicherzugriffsfehlern oder Pufferüberläufen und damit unter Umständen auch zu Sicherheitslücken führen. Die Sprache wurde so entworfen, dass die Kosten der Abstraktionen zur Laufzeit so gering wie möglich bleiben können (zero-cost abstractions), um eine mit C++ vergleichbare Effizienz zu erreichen. Außerdem hat sie einen effizienten Memory-Verbrauch. Damit können vor allem Produktivsysteme einfacher gewartet werden.
Als Multiparadigmen-Systemprogrammiersprache vereint Rust Ansätze unter anderem aus der funktionalen, der objektorientierten und der nebenläufigen Programmierung. Damit erlaubt sie ein hohes Abstraktionsniveau. Syntaktisch ist die Sprache an C angelehnt. Mehrere aufeinanderfolgende Anweisungen werden durch ein Semikolon getrennt, Blöcke stehen in geschweiften Klammern. In vielen Details weicht die Syntax allerdings davon ab, so werden beispielsweise keine Klammern um die Bedingungen von if- und while-Statements benötigt. Rust ist seit 2016 jedes Jahr die „beliebteste Programmiersprache“ in der Stack Overflow Developer Survey.
UIPath
UIPath ist eine Plattform zur Automatisierung von Business-Prozessen mittels Software-Bots und künstlicher Intelligenz. Diese Art der Automatisierung heißt “Robotic Process Automation”, kurz RPA, und ist ein wichtiges Tool um APIs und Schnittstellen zu schaffen, wo keine sind. Laut eigener Aussage ermöglicht die Technologie es jedem, Computersoftware oder einen „Roboter“ so zu konfigurieren, dass es einen Geschäftsprozess ausführen kann. RPA-Roboter verwenden dabei Benutzerschnittstelle, um Daten zu erfassen und Anwendungen zu manipulieren, genau wie Menschen es tun. Sie interpretieren, lösen Reaktionen aus und kommunizieren mit anderen Systemen, um eine Vielzahl von wiederkehrenden Aufgaben zu erledigen. Nur wesentlich besser: Ein RPA-Software-Roboter schläft nie und macht null Fehler.
UIPath ist sehr einfach zu bedienen und der Einstieg ist kostenfrei. Wer bereits Bekanntschaft mit C# oder VB.net gemacht, der sollte keine Probleme haben sich mit UIPath zurechtzufinden. Wer mit dem System arbeitet, kann sich auch zertifizieren lassen.