Javascript Framework (Gartensimulation)

Kroete

Cadet 2nd Year
Registriert
Feb. 2024
Beiträge
18
Hallo liebe Forumsgemeinde,

ich stehe gerade ein bisschen wie der Ochse vor dem Berge. In der Welt der Programmierung bin ich neu und habe bisher berufsbedingt (Website) nur etwas Erfahrung mit HTML und CSS, privat kam mir der Gedanke ein kleines Spiel zu programmieren, einfach um mal etwas neues auszuprobieren. Irgendwie bin ich am Ende bei C# und der Entwicklungsumgebung Unity gelandet, bevor ich aber richtig anfing, wurde mir durch weitere Youtube Videos und Internetrecherchen so richtig vor Augen geführt, was es überhaupt heißt als Einzelperson ein Spiel zu entwickeln, was über ein Niveau von Snake oder dergleichen hinausgeht. Aus diesem Grund, habe ich viele Ideen schnell wieder verworfen und überlegt, was denn realistisch sein könnte. Auf einmal äußerste meine Frau den Wunsch, dass ich doch unseren Pachtgarten in 2D oder 3D virtuell nachbauen könnte, wo sie dann "einfach" mit dem Mousecursor, z.B. über die verschiedenen Hochbeete geht und dort dann angezeigt wird, um welche Gemüsesorten es sich handelt.
Den Garten in 2D oder 3D darstellen und wenn sich irgendwann noch ein Vogel oder Eichhörnchen dort rumtummeln, mega :D.
Haltet ihr so etwas als Einzelperson und privates Projekt als realistisch, sprich in einem Menschenleben zu schaffen und passt für dieses Projekt Javascript und eine entsprechenende Entwicklungsumgebung oder lag ich da mit C# und Unity besser ?

Bei mir herrscht gerade vollkommene geistige Verwirrung, was ich mit welcher Programmiersprache in welcher Zeit schaffen kann. Ich möchte es mir auf keinen Fall zu einfach machen, dass ich für 30 - 40€ im Monat irgendein Paket buche. Auf Youtube kann man sehen, wie Menschen die das entsprechende Geld in die Hand nehmen, innerhalb von ein paar Wochen, ohne vorherige Programmierkenntnisse einen Abklatsch von GTA hinzaubern, ich möchte mich schon intensiv mit einer Sprache wie JavaScript, C# oder welche auch immer beschäftigen. Nur wenn ich etwas anfange, was ich vielleicht in 40 Jahren erst fertig habe, lass ich es lieber, dass Lernen der Sprache an sich kommt ja noch hinzu.
 
Beim Entwickeln kommts halt immer drauf an wo man beginnen möchte. Ein 2D/3D Zeichentool zu entwickeln halte ich persönlich für zu ambitioniert. Aber du könntest auch im Bereich Webentwicklung bleiben und bspw. mal versuchen ob du https://pixijs.com/ in eine Seite integriert bekommst und dann einen Garten zeichnen und das Ergebnis in einer Datenbank speichern kannst.

Die Sprache selbst hat eigentlich bei der Lösung eines Problems wenig Relevanz. Klar es gibt Sprachen die den Fokus speziell auf ein Problem legen, aber in der Regel lässt sich fast alles mit allen Sprachen abbilden. Da du dich mit Webentwicklung zumindest bedingt aus kennst, würde ich bei HTML, CSS und JavaScript bleiben. Hier könntest du deine Fähigkeiten ggfs. noch um Backend-Entwicklung (NodeJS) erweitern und dich auch mal mit Datenbanken (relational / NoSQL) beschäftigen.
 
  • Gefällt mir
Reaktionen: Kroete
2D: Absolut kein Problem mit HTML/CSS/JS
3D: Hängt von deinem genauen Vorhaben ab, mittels WebGL gibt es auch Shader und dieses ganze Zeug (kenne mich damit zu wenig aus). Behelfsmäßig kann man einiges mit CSS transform machen, das ist sogar performant weil 3D accelerated, ist aber umständlich, ein schönes rendering ist auch nicht garantiert und kann sich von Browser zu Browser unterscheiden (aliasing). Dazu kommt es immer wieder zu Verschiebungen im Pixel-Bereich.
 
  • Gefällt mir
Reaktionen: Kroete
Die Frage ist zunächst, was das genaue Ziel ist und wo du dann dafür anfängst. Programmieren lässt sich erstmal nichts, wenn man nicht programmieren kann. Und um das zu können, muss man es lernen. Dafür beginnt man wiederum üblicherweise mit Grundlagen.
Suche dir also einfach eine Sprache aus (ob C# oder JS ist dabei egal) und lerne damit die Grundkonzepte. Ob du lieber mit Büchern oder Videotutorials oder Onlinekursen usw. lernst, ist natürlich deine Entscheidung.

Kroete schrieb:
Auf einmal äußerste meine Frau den Wunsch, dass ich doch unseren Pachtgarten in 2D oder 3D virtuell nachbauen könnte, wo sie dann "einfach" mit dem Mousecursor, z.B. über die verschiedenen Hochbeete geht und dort dann angezeigt wird, um welche Gemüsesorten es sich handelt.
Zumindest in 2D kannst du das auch ohne Programmierung nur mit HTML und CSS erreichen. Das ist ja hauptsächlich (Web-)Design und keine Programmierung im eigentlichen Sinne. Auch mit Engines wie Unity wäre es in erster Linie irgendeine Form von Grafikdesign.

Jedenfalls gibt es z.B. bei openHPI einen kostenlosen Kurs zum Entwickeln eines Flappy-Bird-Klons mit JavaScript zum Durcharbeiten: https://open.hpi.de/courses/javascript2022
Nach den Grundlagen könnte das evtl. ein guter Einstieg sein.
 
  • Gefällt mir
Reaktionen: Kroete
blablub1212 schrieb:
Die Sprache selbst hat eigentlich bei der Lösung eines Problems wenig Relevanz. Klar es gibt Sprachen die den Fokus
Ok, dass heißt ich könnte eine Website und Browsergame statt in HTML, CSS und Javascript, auch komplett in C++ oder Python programmieren, aber es wäre vermutlich nicht der schnellste Weg zur Lösung des Problem ? 🤔
 
Ja du kannst sowas auch mit Python (Django) und C/C++ (Apache CGI) bauen. Aber da wirst du zwangsläufig auch HTML, CSS und JavaScript brauchen. Ob du damit schneller bis? Hier würde ich sagen, dass kommt ganz auf deine eigenen Fähigkeiten an.

Es kann auch gut möglich sein, dass einzelne Teile deines Projekts mit unterschiedlichen Sprachen programmiert werden …
 
  • Gefällt mir
Reaktionen: Kroete
Kroete schrieb:
Bei mir herrscht gerade vollkommene geistige Verwirrung, was ich mit welcher Programmiersprache in welcher Zeit schaffen kann.
Ich habe mir jetzt deine anderen Posts durchgelesen, die eigentlich nur Abwandlungen von diesem sind.
Es gibt nach 3 Monaten keine Weiterentwicklung in deiner "Verwirrung", stattdessen nach wie vor die gleiche Frage: was andere raten, was du machen solltest. Demgegenüber ist ein Programmierer Autodidakt.
 
Zuletzt bearbeitet:
@Kroete und alle anderen Einsteiger:

Programmieren lernt man nicht durch lesen, Videos schauen oder im Forum fragen. Programmieren lernt man vor allem durch MACHEN!

Installier eine IDE und gehe ein Youtube-Tutorial / Text-Tutorial durch, pass es an, schau dir andere Projekte an und programmiere es nach. Dann überleg dir was sehr einfaches eigenes und MACH es. Wenns läuft, nächstes Projekt. So nach 1 - 2 Jahren kann man dann größere Sachen umsetzen und weiß automatisch, wie man da ran geht.

Aber nur über Theorie und Gespräche wird das nicht klappen.
 
  • Gefällt mir
Reaktionen: konkretor
Micke schrieb:
Ich habe mir jetzt deine anderen Posts durchgelesen, die eigentlich nur Abwandlungen von diesem sind.
Es gibt nach 3 Monaten keine Weiterentwicklung in deiner "Verwirrung", stattdessen nach wie vor die gleiche Frage: was andere raten, was du machen solltest. Demgegenüber ist ein Programmierer Autodidakt.
Hallo Micke,

das ist vollkommen richtig. Meine Berufsausbildung habe ich auch nicht, wie @sandreas schreibt, nur durch Theorie und Gespräche erfolgreich abgeschlossen. Aber ohne die Ausbilder auf der Arbeit und die Dozenten in der Berufsschule, wäre es doch sehr mühsam geworden. Und ich muss zugeben, die letzten Wochen habe ich auch rein gar nichts gemacht was nur irgendwie mit Programmierung zutun hatte. Auf der Arbeit ist die Luft komplett raus, mehr als Wordpress rumgeklicke ist nicht und privat die Website löst in mir auch keine Luftsprünge mehr aus. Heißt im Klartext, seit meinem Post am 09.02.2024, wo es um die berufliche Verwirrung ging, ist 1-2 Wochen später beruflich und privat auch nicht mehr viel passiert. Dadurch das beruflich nix mehr passiert ist, hatte ich auch auf die private Website nicht mehr viel Lust. Es herrschte also die letzten 3 Monate keine Verwirrung, sondern ich habe mich einfach anderen Dingen gewidmet außerhalb der IT, was ich schade fand, aber war halt so.
Im Hinterkopf hatte ich es immer noch und ab und zu nochmal kurz in den alten Büchern geschmöckert, aber ich sah für mich einfach kein Projekt, was mich motiviert und für mich Sinn ergibt. Ich bin halt niemand, der irgendwelche kleinen Projekte macht, wie nen Taschenrechner oder was auch immer, wenn er nicht das "große Ziel" vor Augen hat. Das wäre wie wenn ich meine Englischkenntnisse ständig auffrische oder erweitere, aber nie mal ins Ausland gehe wo sie mir von Nutzen sein könnten. So bin ich halt.
Und jetzt, durch den vor ein paar Monaten gepachteten Kleingarten und den Wunsch meiner Frau, kommt wieder die Motivation für die Programmierung, was nach diesem Projekt ist, weiß ich natürlich auch nicht.
Wenn ich bspw. den Android-App Store durchwühle, gibt es soviel Zeugs das programmiert wurde und eines gleicht teilweise dem anderen, aber muss jeder selbst wissen für was er seine Programmierzeit nutzt. Das ist auch der Grund, warum ich mittlerweile fast schon die Lust am Gaming verloren habe, immer wieder der gleiche Mist in Grün. Deswegen, warum soll ich eine Programmiersprache erlernen, um etwas zu programmieren, was hunderte von anderen Menschen schon programmiert haben. Warum soll ich mich in HTML und CSS vertiefen, wenn ich auf der Arbeit auf einmal merke, dass Wordpress ausreicht ? Nur um die Zeit totzuschlagen ? Ein klares nein.
Natürlich musste ich auch in der Berufsausbildung einige Dinge machen und lernen, die ich später nicht mehr brauchte, um einfach das große Ganze zu begreifen, aber ich wusste genau wo ich hinwollte und deswegen bin ich da durch, ganz einfach.
So und durch den Austausch hier im Forum, habe ich sehr wertvolle Ratschläge bekommen, dass es durchaus Sinn macht, auf meine Grundlagen von HTML und CSS aufzubauen und Javascript zu lernen, um die Projektidee meiner Frau zu verwirklichen.

Für mich ist stand heute 21.05.2024, dass ich mich in HTML, CSS und JavaScript vertiefe, Frameworks ne tolle Sache sind, PixiJs mal unter die Lupe genommen und mich auch mal an KI wie Lexica heranwage, um Hintergrundbild zu erstellen.

Deswegen danke an ALLE die etwas gepostet haben, seien es Ratschläge mit und ohne "Kopfwaschen", um mir etwas mit auf den Weg zu geben :).
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Micke
Kroete schrieb:
Meine Berufsausbildung habe ich auch nicht, wie @sandreas schreibt, nur durch Theorie und Gespräche erfolgreich abgeschlossen.
Was ist das denn für eine krasse Fehlinterpretation meines Posts - das lasse ich so keinesfalls stehen. DAS habe ich nirgendwo geschrieben.

Mir ging es darum, dass Anfänger, die auf diesen Thread stoßen, nicht den Mut verlieren, wenn Sie durch umfangreiches Bücher lesen und zahlreiche Forenposts keine Fortschritte machen und wie sie diese Situation vielleicht überwinden können - nämlich durch Umsetzung von Programmieraufgaben in der Praxis.

Kroete schrieb:
Kroete schrieb:
rein gar nichts gemacht
Kroete schrieb:
ist die Luft komplett raus
Kroete schrieb:
löst in mir auch keine Luftsprünge mehr aus
Kroete schrieb:
nicht mehr viel Lust
Kroete schrieb:
kein Projekt, was mich motiviert
Kroete schrieb:

Bei aller Passion zur IT, die du hast, glaube ich nicht, dass es nur an einem fehlenden Projekt liegt.

Vielleicht noch ein gut gemeinter Tipp: Schau dir deinen Alltag an und achte auf Sachen, die dich irgendwie stören und die sich aber vielleicht durch IT lösen lassen.


Für alle Leute, die auch Projekte suchen, hier mal ein paar Beispiele aus meinem Alltag. Bitte nicht als Posing oder Angeberei verstehen, so ist es nicht gedacht. Es geht vor allem darum nachzuvollziehen, wie ich an Projekte rangehe und wie ich welche "finde". Alle haben als kleine Alltagstools angefangen, mit maximal 10 Tagen Aufwand:

  • Ich höre sehr gerne Hörbücher. Leider gab es nix, was mir meine CDs bzw. Audio-Dateien so zusammengefügt hat, dass sie in iTunes gut funktioniert haben. Also habe ich m4b-tool in PHP entwickelt (damals konnte ich noch keine anderen Sprachen). Das war erst ein ganz simples PHP-Skript mit etwa 500 Zeilen, inzwischen hat es sich zu einem Projekt mit über 1000 GH Stars entwickelt
  • Irgendwann ist mir aufgefallen, dass ich 2 bestimmte Audio-Tags (Serie und Teil) mit keinem Tool richtig setzen konnte, die mir aber sehr wichtig waren. Also habe ich den Audio-Tagger tone in C# entwickelt und den dann in m4b-tool integriert
  • Vor ein paar Jahren gabs noch kein Cross-Platform-Tool, mit dem man einfach zwischen 2 PCs Dateien hin und her schieben konnte, also habe ich graft in Go entwickelt - damit kann man ganz einfach Dateien im Netzwerk per SFTP austauschen
    • Dabei ist mir dann aufgefallen, dass man wegen eines Bugs mit FileZilla nicht auf Server mit der go sftp library zugreifen kann. Das habe ich dann analysiert und einen pull-request gemacht, was die library für alle besser nutzbar gemacht hat
    • Dann habe ich auch noch einen Bug gefunden und ein Beispiel zum Nachstellen programmiert - sowas darf man nicht unterschätzen, bei größeren Projekten mithelfen kann auch viel Spaß machen.
  • Vor ca. 5 Monaten brauchte ich ne Todo-Liste, die im Web ist, aber auch auf dem Handy funktioniert - und zwar pronto. Irgendwie hab ich nix gefunden, was meinen Vorstellungen entsprochen hat (ja, es gibt da so viel, vielleicht habe ich den Wald vor lauter Bäumen nicht gesehen). Eine Gelegenheit, mal wieder in PHP einzusteigen... habe dann pure-todo gebaut, ein kleines PHP-Script und ein paar JS und CSS Dateien, KEINE Frameworks oder Libraries (außer für QR-Codes). Dabei hab ich echt viel gelernt. Ich verwende die jeden Tag. Nächster Schritt ist, dass ich das ganze noch als PWA (Progressive Web App) haben will... nicht wichtig, wäre aber sicher nützlich und ich habs noch nie gemacht.
  • Für meine Webseite brauchte ich mal ein Tool, was mir die Bilder so optimiert, dass webp, avif, svg, jpg und so weiter optimiert raus kommen (inkl. Fallback). Dabei ist dann shrivel herausgekommen.
  • AvaloniaUI ist eine sehr nette GUI-lib für C#. Leider hatten die keinen "Router"... hab ich mir halt einen gebaut: https://github.com/sandreas/Avalonia.SimpleRouter
  • Aktuell baue ich wieder an einem Hörbuchprojekt - einer Verbesserung der audiobookshelf-app, bei der ich hoffe, die Fernbedienung meiner Kopfhörer so hinzukriegen, dass sie so, wie beim iPod funktionieren.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: H4110
sandreas schrieb:
Nächster Schritt ist, dass ich das ganze noch als PWA (Progressive Web App) haben will... nicht wichtig, wäre aber sicher nützlich und ich habs noch nie gemacht.
Das ist geradezu frustrierend einfach :D
Serviceworker (wobei ich mir nicht mal sicher bin ob der mandatory ist), manifest file - fertig.
Die install kannst du dann auch per custom button triggern: https://developer.mozilla.org/en-US/docs/Web/Progressive_web_apps/How_to/Trigger_install_prompt
 
  • Gefällt mir
Reaktionen: sandreas
sandreas schrieb:
Was ist das denn für eine krasse Fehlinterpretation meines Posts - das lasse ich so keinesfalls stehen. DAS habe ich nirgendwo geschrieben.

Sorry das hatte ich blöd geschrieben, ich meinte nicht das du mir unterstellt hast, dass ich meine Berufsausbildung nur mit Theorie und Gespräche geschafft habe, sorry dafür ;-). Ich wollte nur damit sagen, dass du Recht hast das Theorie und Gespräche alleine nicht helfen,bzw. das es mir bewusst ist.

Ich kann schon bestätigen, dass es an einem sinnvollen Projekt liegt, da ich seit ca. 25 Jahren im Berufsleben schon ein sehr engagierter Mensch bin, hauptberuflich wie ehrenamtlich. Jeder Mensch ist anders , was auch gut so ist und jeder wird anders motiviert und demotiviert.

Mir haben die Beiträge hier weitergeholfen und für mich ist es ja auch kein Weltuntergang, wenn ich nie ein "guter Entwickler" werde. Programmieren ist mit Sicherheit harte Arbeit, geschenkt bekommt man da auch nichts, wo schon. Ich schaue mal, wie weit ich komme, ganz entspannt.
Ergänzung ()

Achja, im Alltag habe ich eigentlich nichts was mich in der IT stört, außer dem Programmieren habe ich nicht so viel mit Technik am Hut. Der letzte der einen PC hatte, der letzte der ein Smartphone hatte. Also durch mich muss sich hier keiner demotivieren lassen ;-) . Ich bin eher ein Gamer seit nun ca. 36Jahren, aber nur Endnutzer gewesen :-).
 
Zuletzt bearbeitet:
floq0r schrieb:
Serviceworker (wobei ich mir nicht mal sicher bin ob der mandatory ist), manifest file - fertig.
Traum, vielen dank. Das hab ich natürlich alles schon recherchiert. Ich finde die MDN immer ganz nützlich (aufgeräumt und umfassend bei sowas).

Bissel mehr als das reine Minimum hätt ich dann allerdings schon gern gemacht (Manifest, leerer ServiceWorker, Icon) aber du hast natürlich recht: Am Besten erst mal einfach ans Laufen bringen, dann Schritt für Schritt drauf aufbauen.

Was ich nur bei PWA interessant finde, ist dass dann eine Webseite quasi eine Art App ist - sowas wollen ja die jungen Leute immer. Da dachte ich erwähne ich es mal :-)
 
So jetzt herrscht Klarheit. Meiner Frau habe ich verschiedene Gartenplaner vorgestellt und sie findet den 2D von einem bekannten Gartengerätehersteller gut. Sie möchte natürlich noch alle Gemüse- und Obstsorten die wir anbauen dazu und wenn man auf das entsprechende Icon geht, eine aufploppende Beschreibung (Nutzen, Bewässerungshinweise, Wikipediaverlinkung usw.). Das Projekt habe ich gestartet, auf zu neuen Ufern.

@sandreas Ich habe über das was du gesagt hast auch nochmal nachgedacht, es ist natürlich nicht nur das fehlende Projekt, sondern auch die persönliche Haltung. Projekte, bzw. Probleme die gelöst werden müssen gibt es wie Sand am Meer und man findet immer Gründe und Ausreden etwas nicht zutun. Ich hätte mir die letzten 3 Monate trotz allem, jeden Tag z.B. 1 Stunde blockieren können, um einfach nur im Programmierflow zu bleiben. Habe ich nicht getan, lag in meiner Selbstverantwortung, dass ich die Prioritäten anders gesetzt habe. Dies bereue ich auch nicht, jeder Mensch hat einen Grund für das was er tut.

Aber ich finde deine Haltung auch gut und richtig, dass du dir Gedanken darüber machst, dass viele Menschen auch diesen Thread lesen, da es ein öffentliches Forum ist und jeder auch in der Verantwortung steht bei dem was er hier schreibt. Deswegen ganz klar an alle die dies hier lesen, wenn jemand wie ich nix macht, kommt auch nix bei raus. Die Motivation etwas zutun, muss jede Person für sich selbst herausfinden. Ich denke das bei mir jetzt das Gerüst steht und werde auch den Rat beherzigen, jetzt weniger zu Fragen und einfach mal machen und selbst Lösungen entwickeln, dies ist ja auch das, was mich reizt.

Danke für eure Geduld, Verständnis und Ratschläge.
 
Zurück
Oben