Der Sandkasten eines Programmierers (Teil 1)

Lesezeit: 3 Minuten

Um überhaupt eine Zeile Code zu schreiben benötigt es jede Menge an Zeit: Zeit zum Installieren der Programme, die einem das Programmieren überhaupt erst mal ermöglichen.

Entwicklungsumgebung

Doch davor sollte man sich allerdings Gedanken um die ganze Infrastruktur machen: sprich Hardware, Betriebssysteme und zusätzlicher Software, die auf unterschiedlichen Geräten installiert werden muss.

Speziell in der Anfangsphase einer Entwicklung sollte das Budget aber klein gehalten werden.

Also nicht gleich loslaufen und die teuerste Grafikkarte kaufen, nur weil ein grafikintensives Spiel programmiert wird: bis man soweit ist, kommt man auch mit vorhandenen Bordmitteln weiter.

Ein Projekt zu starten ist die eine Sache. Scheitern kann es auf vielfältige Arten – hier meine Shitlist:

  • Man hat gar keine Zeit mehr sich darum zu kümmern
  • Es stellt sich als zu kompliziert dar
  • Technologisch geht das gar nicht
  • Man hat einfach keine Lust mehr darauf

Und damit ist jeder Cent in das Projekt dann verloren!

Daher benutze ich immer vorhandene Strukturen/Rechner/Systeme/Programme, bis tatsächlich investiert werden muss.

Wichtig ist weiterhin, dass Ihr Euch in der Entwicklungsumgebung auch wohl fühlt. Ob Windows, Linux (und welche Distribution) oder iOS: gehen tut alles auf allem.

Was benötige ich unbedingt?

Logisch, dass man je nach Projekt-Art bestimmte Voraussetzungen schaffen muss.

Ich beschreibe folgend nur die logischen Komponenten. Welche Software wie eingesetzt wird, erläutere ich später detailliert.

In meinem Beispiel – der Entwicklung eines MMORPG – braucht es:

Einen Internet-Server

Ich benötige einen Rechner, den ich 24/7 im Internet erreichen kann. Da werden einige Dienste bzw. Service installiert werden, die zur Entwicklung und zum Testen notwendig sind.

Das kann mit einer kleinen Maschine per DynDNS (kostenfrei Variante z. B.: ddnss.de) passieren. Oder als Virtueller Server/Root-Server bei einschlägigen Providern gemietet werden. Oder als separater Rechner an einer Internetleitung mit fester IP installiert werden.

Dieser Server übernimmt bei mir folgende Aufgaben:

  • WEB-Server für Internetseiten und Schnittstellen
    (die Web-Site des Spiels, diesen BLOG hier und eine administrative Oberfläche)
  • Versionsmanagement und Backup
    (aller zum Projekt gehörigen Dateien)
  • Server-Komponente des MMORPG
  • Datenbank

Für einen Rechner im Internet gibt es meines Erachtens keine Alternative zu Linux als Betriebssystem.

Hinweis auf mein Tutorial: Einrichten des Servers

Einen Entwicklungs-Rechner

Da sitze ich gerade vor. An diesem Rechner wird programmiert, gearbeitet, aber auch gespielt:

An diesem Rechner mach ich:

  • Programmierung
  • Grafische Arbeiten/Bildbearbeitung
  • Musik/Sound/Effekt-Erstellung
  • Dokumentation und bloggen
  • Recherche (Surfen)
  • Spielen (ganz wichtig!)

Wegen einer Vielzahl von weiteren Programmen, die beruflich bedingt sind, sitze ich vor einer Windows-Kiste. Hier geht es aber tatsächlich auch mit Linux oder iOS.

Für Hotfixes und die Variante für unterwegs

Da greife ich gerne auf ein Laptop zurück. Zwingend notwendig ist das nicht. So kann auch das einzige Laptop im Stall als Entwicklungs-Rechner und für die Fehlerbehebung von unterwegs genutzt werden.

Damit kann ich also nahezu alles machen, was ich unter „Entwicklungs-Rechner“ oben beschrieben habe.

Mehrere (viele) mobile Geräte

Klar – mein aktuelles Handy hat immer den aktuellen Entwicklungsstand an Bord.

Aber als Sammler haben sich im Laufe der Jahre schon einige Smartphones und Tablets bei mir angehäuft. Die werde ich auch so schnell nicht wegwerfen, dienen sie mir doch als prima Referenz-Test-Geräte mit den unterschiedlichsten Betriebssystemen und Versionen.

So zählt ein altes Motorola XOOM, ein iPhone 4 und ein ausrangiertes Kindle zu meinen besten Test-Geräten. Die haben schon einige Bugs aufgedeckt im Vergleich zu schnellen, modernen Geräten.

Vermeidet also Elektronik-Schrott und schenkt Eure alten Geräte den App-Programmierern!

Sie werden es Euch danken!

Cross-Platform-Entwicklung

Mit der oben beschriebenen Infrastruktur kann ich also Windows- und Android basierte Spiele und Apps programmieren und in die Stores bringen.

An Apple a day…

Für iOS musste ich dann in besagten „sauren“ Apfel beißen. Spätestens beim Release ist zwingend Apple-Hardware vonnöten mit halbwegs aktuellem OS. Aber das muss ja erst beim Release sein!

Ich hatte mich vor zwei/drei Jahren für ein kleines Air entschieden, welches heute noch sehr gut geeignet ist, meine Releases in den AppStore zu befördern.

Umgekehrt ist es, wenn man Apple-Hardware schon besitzt. Dann kann man darauf tatsächlich iOS, Android und Windows-Apps programmieren.

Welches Betriebssystem wofür?

Die Kommentare hier fand ich sehr treffend:

https://de.quora.com/Welches-Betriebssystem-ist-besser-Windows-Mac-OS-X-oder-Linux

Der Sandkasten ist fertig: es fehlen Schüppe und Eimerchen

In den nächsten Blogs werfen wir dann unser Spielzeug in den Sandkasten und ich erkläre, welches Spielzeug mir am besten taugt.

Weiterführende Links

Android Studio unter Windows zur Android-Programmierung: http://www.grafiction.de/2018/03/04/der-sandkasten-eines-programmierers-teil-2-android/

 

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.