dedlfix: Überlegungen zu (Übungs-)Projekt

Beitrag lesen

Hi!

Allerdings steh ich nun vor der Frage, wie ich das am besten aufziehe, damit ich den meisten Lerneffekt habe und auch zu einem guten Ergebniss komme, das ich auch verwenden kann.

Da gibt es kein Patentrezept. Einige studieren Informatik und könenn hinterher keine Zeile programmieren, andere erarbeiten sich alles im Selbststudium. Und dazwischen als auch außerhalb gibt es jede Menge weitere Wege.

Ziel wäre ein CMS / Communityportal mit Erweiterung zum Online-Browsergame. Ohne großen Anspruch auf große Nutzerzahlen, aber zumidnest einer sauberen und erweitrbaren Softwarebasis dafür. Mir geht es vor allem darum Erfahrngen mit einem größeren Projekt und der internen Struktur und den zugehörigen Designpatterns zu sammeln.

Sowohl mit Eigenentwicklung als auch mit der Verwendung von einem sehr gut durchdachten Framework sind die Chancen hoch, als Anfänger ohne Erfahrung reichlich Mist zu produzieren. Das Tutorial kann sehr gut sein und dich ordentlich in das Framewokr einführen, aber es liefert dir nur generelle Beispiele im Umgang mit den Komponenten. Es nimmt dir nciht die Entscheidung ab, welche Komponenten am besten zu nehmen sind und mit welchen sie perfekt zusammenspielen um das Ziel im Ganzen oder auch nur eine Teilaufgabe davon zu implementieren.

1.) Von Null an alles selber aufbauen. Dabei auf theoretische Werke zum Softwaredesign zurückgreifen und das Wissen umsetzen.
2.) Auf ein Framework aufsetzen, das einen schon einiges abnimmt und die Grobstruktur vorgibt. Würde einiges an Arbeit ersparen legt aber auch das Design schon teilweise fest.
3.) Ein fertiges CMS/Portal mit offener Schnittstelle und Code nehmen und abschauen wie die das aufgebaut haben wärend ich es Erweitere und an meine Bedürfnisse anpasse.

Wie gesagt, alle drei Ansätze bringen die besten Ergebnisse mit ausreichend Erfahrung. Mit einem fertigen CMS kann man das Verfahren abkürzen, wenn man es nach seinen Wünschen einrichten kann und passende Komponenten für seine Extrawünsche findet. Selbst das Kennenlernen eines fertigen Systems ist nicht an einem Nachmittag erledigt. Denn auch hier muss man herausfinden, welche Komponenten für die eigenen Zwecke verwendet werden können oder wie man seine eigenen Ideen so umformen kann, dass sie ins Konzept des Systems passen.

Es bleibt auch noch der Punkt der Programmiersprache die das ganze einschränkt... mit C# / ASP.NET kann ich am besten umgehen, aber dafür einen Hoster zu finden wird schwierig (wenns günstig sein soll) und Mono soll wohl nicht ganz unproblematisch sein, oder?

Windows V-Server gibt es zum Beispiel für 9,90€. Aber nach meiner Erfahrung mit einem Linux-V-Server der gleichen Preisklasse sollte man diesem und sich erst einmal eine Probezeit gönnen, bevor man live geht. Bei Windows habe ich noch mehr Bedenken, muss doch zu dem Preis nicht nur die die gleiche oder gar leistungsfähigere Hardware sondern auch noch eine Betriebssystem-Lizenz bezahlt werden. Zu dem Preis sind die V-Server doch üblicherweise ziemlich beschnitten. Nicht unbedingt in den Werten, mit denen Werbung gemacht wird - die lesen sich oft recht vernünftig. Doch der Teufel steckt zum Beispiel in der Anzahl der File-Handles, die dann selbst bei ganz normalen Server-Aufgaben schon erreicht oder überschritten werden.

Mit PHP werd ich nicht so recht warm, auch wenn es recht verbreitet ist... mir wäre Python eigentlich lieber.

Nach PHP ist die Nachfrage hoch, also kann man damit bei vielen Kunden punkten, wenn das reibungslos läuft. Man kann manchmal nur hoffen, dass Python nicht nur zum Beeindrucken in der Feature-Liste da ist.

Habt ihr ein paar Ideen und Vorschläge für mich? Welchen Weg würdet ihr gehen?

Software-Entwicklung zu erlernen und Erfahrungen zu sammeln ist langwierig, und besonders, wenn du ein umfangreiches System planst, brauchst du eine Menge Durchhaltevermögen, je nach deinem eigenen Perfektionismusgrad. Schnellere Erfolge, besonders da du schon ein Ziel vor Augen hast, erzielst du sicher mit dem Konfigurieren eines fertigen Systems.

Konkrete Empfehlungen gebe ich keine, du musst sowieso selbst die Systeme mit deinen Anforderungen und Ansprüchen vergleichen. Listen von Systemen findest du unter anderem in der Wikipedia. Wenn du für deine nähere Auswahl nach dem Beliebtheits- oder auch nur Verbreitungsgrad gehen willst, schau nach der Anzahl der verfügbaren Erweiterungen/Plugins.

Lo!