FH-Schülerlabore Profilwoche 2020 Labortage 2018/19 Labortage 2017/18 Aktuell & Presse Zukunft der Berufe Technik für Kinder Fertigung Digitalisierung Programmierung CAD, CAE Digitaler Zwilling Robotik 3-D-Druck Mixed Reality KI Blockchain IoT Mikrocomputer Impressum & Datenschutz

Auf diesen Seiten werden wir viel über die Programmierung einschließlich der Realisierung von apps kennenlernen (u.a aktuelles Ranking der Sprachen, Vor- und Nachteile, Systemkompatibilität).


Egal ob eine Programmiersprache älter oder moderner ist, wichtig ist das Ziel, das erreicht werden soll. Desktop-Anwendungen oder Apps auf mobilen Endgeräten, Spiele oder Big-Data-Anwendungen, lokale Programme oder Cloudanwendungen, um nur einige Beispiele zu nennen, bestimmen die optimale Wahl. Daneben spielen aber auch Lizenzkosten oder eigene Erfahrungen ein Rolle. Nicht für jedes neue Programm möchte man unbedingt erst eine neue Sprache erlernen.


Auch muss man das ‘Rad nicht immer neu erfinden’. Zu vielen Programmen stehen neben den direkt zur Programmierumgebung gehörenden ‘frameworks’ add-ons kaufbar oder kostenlos zur Verfügung.

Beispiel: MicrosoftTM-Visual Studion 2019 mit MicrosoftTM .NET Framework 4.8

Will man in einer solchen Umgebung z.B. eine tabellenkalkulationsähnliche Oberfläche im zu erstellenden Programm integrieren, so kann man dieses add-on mit einem extrem leistungsfähigen Umfang käuflich erwerben (Beispiel: https://www.componentsource.com/product/spread-net). Das gleiche gilt für CAD- oder Bildbearbeitungsfunktionen (Beispiel: https://www.componentsource.com/product/leadtools-imaging-pro-sdk).


App-Entwicklung

Starten werden wir zunächst mit der app-Entwicklung. Vor Einführung des iPhones 2007 sprach man nur über Computer-Programme auf Personal-PC’s, Laptops, notebooks, großen Systemen, wie IBM-AS 400 oder aber auch schon Programmen, wie MS-WORDTM auf kleinen sogenannten Pocket-PS’s als Vorgänger der aktuellen ‘Handys’.

Mit dem Start von Apple in diesem Segment waren die Voraussetzungen (Hardware, wie Multi-Touch-Bildschirm, Sensorik, W-LAN- und UMTS-Chips) in ausreichender Performance verfügbar, so dass mit dem Apple eigenen Betriebssystem der Siegeszug der Geräteklasse startete. Vorher gab es auch schon verschiedenene Geräte, u.a. mit MS-Betriebssystem, mit denen man über W-LAN oder UMTS ins Internet kam, Office-Programme und weitere Programme benutzen konnte und natürlich auch telefonieren konnte. Richtig ‘Lust’, sich mit den sehr teuren Geräten zu beschäftigen, kam jedoch nicht auf.


Zunächst muss man 2 wesentliche ‘Welten’ unterscheiden: IOSTM (AppleTM) und AndroidTM (googleTM). Microsoft hat das 3. System (WINDOWS-PhonesTM) seit einigen Jahren eingestellt. Zukünftig wird es u.a. durch Handesbeschränkungen Android-Abwandlungen, u.a. von HuaweiTM geben. Wobei es im Android-Lager schon viele aufgesetzte Systeme gibt (z.B. von SAMSUNGTM) und nur wenige reine Systeme (z.B. von googleTM). Aber alle können auf den zentralen googleTM-store zugreifen, der u.a. Kompatibilität und Sicherheit gewährleisten soll. Inzwischen gibt es für die beiden Hauptsysteme iOSTM und AndroidTM mehr als eine Millionen apps entweder in den offiziellen app-stores oder auf anderen Downloadseiten.


Will man also heute eine eigene neue app entwickeln und bereitstellen, so gibt es neben der erfolgreichen Programmierung viele Hindernisse, die eine erfolgreiche Verbreitung verhindern:


1. Für jede Plattform muss eine eigene app entwickelt und gewartet werden.

2. GoogleTM verlangt einmalige Kosten, AppleTM jährliche Kosten im jeweiligen store.

3. Erheblicher Werbe-/Kostenaufwand, um eine Verbreitung zu erreichen.


Und das alles bei Erlösen von maximal einigen Euro / Download, wenn überhaupt jemand bereit ist, dafür zu zahlen. Von den Kosten behalten die store-Anbieter ca. 30 Prozent sofort ein. Als Programmierer einer eigenen app kann man in den allermeisten Fällen also nicht mehr von den Erlösen leben. Erfolgreiche Apps entstehen daher entweder von großen Plattformen, u.a. SAMSUNG, Spieleanbieter oder werden im Auftrag und als Ergänzung bestehender Produkte, wie z.B. die Steuerung eines NC-Kopfhöreres programmiert und angeboten.


Aufgrund dieser Problematik sollte man heute auch darüber nachdenken, ob eine Alternative, wie PWA (=Progressive Web App) nicht sinnvoller ist. Diese laufen über den Browser, werden von einer website bereitgestellt und können trotzdem Daten, wie Spielstände lokal speichern.


Nachfolgend ein Überblick über Vor- und Nachteile beider Systeme.


Fortsetzung folgt ...


Reinhold Berlin

Stand: 22.11.2020

Programmierung