Winkelmann Software Blog

Programmieren lernen

Im ersten Schritt solltest du überlegen was du machen möchtest. Informiere dich, wie du diese Aufgabe am besten für verschiedene Plattformen lösen kannst. Im zweiten Schritt suchst du dir eine Programmiersprache und lernst diese und setzt deine Idee auf nur einer Plattform um. Später kannst du deine App für weitere Betriebssysteme und Endgeräte wie Desktop PC / Notebook / Tablet / Smartphone und Webapp umsetzen. Im dritten Schritt lernst du etwas über Datenbanken zusammen mit der Programmiersprache und beschäftigst dich mit objektorientierter Programmierung. Fange an mit einer Programmiersprache und mit einem Endgerät. Beispiel Desktop PC / Notebook zusammen mit Lazarus und Freepascal.

Ich möchte dir hier ein paar Beispiele zum Programmieren nennen.

Mobile Apps für Android kannst du umsetzen mit:

  1. Java für Android
  2. Flutter und Dart

beides ist von Google für Android entwickelt worden und es wird Android Studio benötigt.

Mobile Apps für Apple’s iOS für das IPhone:

  1. XCode von Apple
  2. Flutter und Dart von Google

Desktop Apps für Windows, Linux und Apple’s iOS

  1. Java
  2. C++
  3. Freepascal bzw. Pascal

Analyse von großen Daten:

  1. Python

Web App:

  1. JavaScript, Node.JS, HTML mit CSS und Datenbank
  2. PHP, JavaScript, HTML mit CSS und Datenbank
  3. Perl, JavaScript, HTML mit CSS und Datenbank

Die dritte Variante dient der Vollständigkeit ist aber bereits veraltet. Die erste Variante ist noch ziemlich neu. In der zweiten Variante sind die aktuellen CMS entwickelt worden. Damit gibt es auch hier die meisten Jobs zu finden.  Daher wird Variante zwei empfohlen. Es gibt natürlich viel mehr Programmiersprachen, die in der Liste aufgeführten findet man immer noch bei Firmen die Software entwickeln. Ich selber habe mein Herz an Freepascal verloren, da ich hier Lizenzfrei kommerzielle Desktop Apps programmieren kann. Dies ist bei Java das von Oracle übernommen wurde nicht mehr der Fall. C++ kann man zwar kostenfrei entwickeln die Desktop Oberfläche kann mit Qt erstellt werden. Qt ist nur kostenlos, wenn man OpenSource entwickelt. Freepascal kann mit der kostenlosen App Lazarus oder CodeTycon entwickelt werden. Die benötigten Erweiterungen können selbst entwickelt werden und kostenlos heruntergeladen und installiert werden. Ok, die Programmiersprachen haben wir nun für die jeweiligen Plattformen gelistet.

Fangen wir mit den Programmieraufgaben an.

Programmieraufgaben:

Überlege dir gut was du lernen möchtest und was du programmieren möchtest. Den du wirst eine Menge Zeit mit dem Programm verbringen.

  1. Für den Anfang Programmiere mal mit einer Programmiersprache einen BMI Rechner.
  2. oder eine Quiz App für ein Karteikarten System.
  3. Software Daten auslesen aus einer XML Datei und als News in deiner Software anzeigen lassen. Diese Software könnte in einer größeren Software genutzt werden um aktuelle Informationen deiner Firma zu veröffentlichen. Die XML Datei kann auch ein RSS Feed sein. Je nach Darstellungsform sollte die Werbung technisch aus dem Netz geladen werden und sich regelmäßig erneuern.
  4. Ein eigenes kleines Content Management System für Inhalte einer Webseite. Die Webseiten Links sollten vom Nutzer festgelegt werden. www.domainname.tdl/artikelname.

Weitere Programmieraufgaben die du Geräte übergreifend entwickeln kannst.

  1. Eine geteilte Einkaufsliste mit Flutter und Dart oder Java für Android und XCode.
  2. Ein geräteübergreifendes Notizbuch als Desktop App mit Freepascal, Smartphone App für Apple iOS und Android in Flutter und Dart und eine Webapp mit PHP, JavaScript und HTML.
  3. Erstelle eine Webapp um deine eigene Software zu verwalten und den Nutzer das Herunterladen zu ermöglichen. Sichere die Links so ab, dass die Inhalte nur bei dir heruntergeladen werden können. (JavaScript, Node.JS, HTML und CSS und mit PHP, JavaScript, HTML und CSS. Sehe dir dabei Frameworks wie Bootstrap an.)
  4. Programmiere eine Asset Verwaltung mit einer Desktop App und Webapp ergänze Funktionen für einen Vor-Ort Service ( Karten Service für den Weg) und einen Lageplan für ein Rechenzentrum (PDF). Nutze Wärmebild Kameras für die Desktop App und einen QR Code und RFID Scanner für die Einzelgeräte. Setze Beschriftungen der Geräte ein. Erstelle einen Wartungsintervall und einen Software Update Intervall, ermögliche eine Fernwartung der Software per RDP oder SSH. Denke dir die App für einen Computer Service der einzelne Kunden betreut und integriere sinnvolle Erweiterungen (Ticket System, Kundenverwaltung, Mitarbeiter Verwaltung, Mitarbeiter Planung, Abrechnung, Auftragserstellung, Cable Management usw. für das System aus) Das System könnte dann später für ein Franchise System genutzt werden in dem verschiedene Computer Service zusammenarbeiten und zusammen einkaufen. Zur Absicherung erstellt du eine zwei Faktor Authentifizierung. Desktop App mit Freepascal, Smartphone App für Apple iOS und Android in Flutter und Dart und eine Webapp mit PHP, JavaScript und HTML. Mache die Rechnung vor Ort beim Kunden möglich zum Ausdrucken als PDF mit einem mobilen Drucker.

Wichtig beim lernen ist das du dir ein Überblick verschaffst was du für deine Software benötigst. Dann lernst du die Grundlagen und die Erweiterten Grundlagen wie objektorientierte Programmierung und Datenbanken. Für Datenbanken und Webseiten virtuelle Maschinen und die Erstellung eines eigenen Webservers mit Linux. Erstelle über das gelernte eine Handschriftliche Dokumentation und mache dir Notizen dazu. Nutze verschiedene Quellen Seminare, Bücher, das Internet YouTube usw. schreibe alles handschriftlich und digital zusammen. Dann setze dir kleine Ziele und Übungen die du umsetzt. Lasse dabei das große Ziel deiner App nicht aus den Augen, sondern passe sie deinem Lernstand an. Es macht nichts, wenn du sie erst ohne OOP entwickelst und später nochmal mit OOP umsetzt. Nur durch den permanent verbesserten Wissensstand kannst du die richtige Programmiersprache lernen.

OOP = Objectorientierte Programmierung.


Beitrag kommentieren

Bitte verfasse einen Kommentar.

Dein Kommentar wird vor der Freischaltung von einem Admin moderiert.