Onlineshop Programmiersprachen

tim_509

Newbie
Registriert
Mai 2025
Beiträge
4
Hallo, ich bin neu in der Webentwicklung und würde gerne perspektivisch einen Onlineshop programmieren und ihn Online stellen. Welche Programmiersprachen bräuchte ich dafür (vor allem bezüglich des Warenkorbs) und welche kleinen Übungsprojekte könnte ich davor machen. Schonmal danke für die Antworten.
 
Wordpress und Woocommerce oder aehnlichem.

Als absoluter Laie wuerde ich keinen Onlineshop nach u.a. DSGVO programmieren wenn man keine Ahnung hat.
 
  • Gefällt mir
Reaktionen: KenshiHH, andy_0, Nero1 und 2 andere
Würd auch was fertiges nehme und diesen den eigene wünschen anpassen (themes oder plugins). Macht es einfacher, schon alleine die anbindung der zahlungsdienstleister. Daneben noch die themen waren- und lagerverwaltung, datenschutz (und dsgvo), sicherheit, steuern (und mwst). Ich glaube damit hast du schon genug zu tun.

Ich selber kann programmieren und nutze für meinen shop shopify, weil es einfach komfortabler und sicherer ist
 
  • Gefällt mir
Reaktionen: tim_509 und CyborgBeta
Serverseitig PHP und MySQL, clientseitig HTML, CSS und Javascript
 
  • Gefällt mir
Reaktionen: tim_509 und netzgestaltung
Die Frage ist doch das WARUM ?

Ich grauer Vorzeit ( mehr als 25 Jahre ) hab ich mir - als Nicht-Programmierer - irgendwo eine schlecht dokumentierte ASP 1.0 Zip Datei geladen und los gelegt ( nicht ASP.NET )
Der Teil mit dem Warenkorb ist IMHO keine große Herausforderung auch das "Datenbankhändling" hatte ich im Griff. Aber damals gab es auch keine mobilen Geräte, kein responsive Design, keine Zahlungsdienstleister.
... und Zalungen waren auf BAR, Vorkasse und Nachnahme beschränkt. Behörden hätten niemals im WEB bestellt :D.

Aber zurück zur Ausgangsfrage:

Was ist der Grund für das Projekt?
Willst du Programmieren lernen oder tatsächlich einen eigenen Shop anbieten?

Shops gibt es in allen Größenordnungen?
Was wäre an deinem das Besondere?
( Als Ein-Mann Projekt ist das heute eine beachtliche Aufgabe ... es sei den man will es als Lernprojekt und
man will war nicht alles abdecken ... z.B. x Zahlungsdienstleister einbinden)
 
  • Gefällt mir
Reaktionen: tim_509 und madmax2010
Jede Programmiersprache geht.
Bonus für templating support.
Bisschen HTML fürs frontend.

Wichtiger als die Sprache ist die Architektur und das du dich sehr mit hosting und Sicherheit auseinander setzt..
Einen Funktionierenden onlineshop programmiert jeder halbwegs fähige Entwickler an einem Nachmittag.

Das ganze rechtskonform, sicher, benutzbar und skalierbar zu bauen dauert viel länger.

  • Starke Passwörter erzwingen
  • überleg dir ob du im Browser oder serverseitig hashen willst. Beides hat vor und Nachteile
  • Hashing best practice Ansätze:
- bcrypt
- one time salt pro Passwort
- Ausreichend hohe Iterationszahl
- Geprüfte Bibliotheken verwenden keine Eigenlösungen 😉

  • Rate LimitingSchutz vor Brute-Force-Angriffen
  • Account Lock / Throttling bei zu vielen Fehlversuchen
  • Multi-Faktor-Authentifizierung (MFA)
  • Sicheres Session-Management, HttpsOnly, Secure, SameSite, cookies
  • CSRF-Schutz
  • XSS-Schutz – validieren, Ausgaben escapen
  • Monitoring & Logging; verdächtige Login-Vorgänge erkennen, alerting, IDS und so

Soweit nur zum login, passwort und session Aufbau die ersten Sachen die mir in den Kopf kommen.

Dann juristisch (bla bla, dies ist keine juristische Beratung, sondern halb aus meinen Notizen aus diversen Vorträgen und halb auch was mir gerade noch in den Kopf kommt

Datenschutz-Grundverordnung (DSGVO)
  • Verarbeitung personenbezogener Daten benötigt eine Rechtsgrundlage aka du brauchst eine geprüfte Datenschutzerkläring
  • Nur notwendige Daten erfassen (Datensparsamkeit)
  • Zweckbindung beachten aka keine Nutzung der Daten für andere Zwecke ohne Einwilligung
  • Nutzer müssen informiert werden (Art. 13 DSGVO, Datenschutzerklärung)
  • Sicherheit der Verarbeitung gemäß Stand der Technik (Art. 32 DSGVO)
  • Verarbeitungstätigkeiten müssen dokumentiert werden
  • Bei Nutzung externer Dienstleister: Auftragsverarbeitungsvertrag abschließen
  • Datenerfassung muss zeitlich limitiert sein

IT-Sicherheit und Haftung
  • Entwickler/Betreiber haften bei grober Fahrlässigkeit (z. B. Speicherung von Klartextpasswörtern)
  • Pflicht zur Vermeidung von Datenpannen
  • Meldepflicht bei Datenschutzverstößen (Art. 33/34 DSGVO)
  • Logfiles und IP-Adressen nur bei berechtigtem Interesse zeitlich begrenzt speichern
  • Nur technisch notwendige Cookies ohne Einwilligung erlaubt (TTDSG)
  • Bei minderjährigen Nutzern ggf. Zustimmung der Eltern erforderlich
Aber wenn es dir nur ums Lernen geht, schau erst mal nach gescheitem account und session handling.
Das sicher und in sicher in 2-3 Sprachen zu können ist absolutes basic der web Entwicklung
 
  • Gefällt mir
Reaktionen: andy_m4, Der Lord, andy_0 und eine weitere Person
no_trust schrieb:
Was ist der Grund für das Projekt?
Willst du Programmieren lernen oder tatsächlich einen eigenen Shop anbieten?
Tatsächlich beides, ich interesiere mich seit ca. 1 Jahr für PCs und auch etwas für Programmieren. Mir macht es Spaß Gaming PCs zu bauen und dachte dann, das ich mich ja langsam an einen Onlineshop heran arbeiten kann. Ich hatte vor ihn selber zu Programmieren da ich mir auch vorstellen könnte später etwas in die Richtung IT zu machen (Bin in der 9.Klasse) und es so mit gerlernt hätte. Würdet ihr mir empfhelen programmieren mit Webanwendungen (HTML, CSS un Js) zu lernen oder eher etwas in die Richtung Python oder Java
 
  • Gefällt mir
Reaktionen: madmax2010
HTML, CSS (ist ja zum Glück nicht so schwer) und ein bisschen JavaScript. Also bin noch ein zimlicher Anfänger
 
Fang lieber mit altmodischen Offlinegeschichten in Python, C++ oder dergleichen mit dem Programmieren an. Was nicht nach draußen telefoniert und nicht an Andere weitergegeben wird, kollidiert auch nicht mit Hackern, Behörden und Rechtsverdrehern.
 
  • Gefällt mir
Reaktionen: tim_509
tim_509 schrieb:
HTML, CSS (ist ja zum Glück nicht so schwer) und ein bisschen JavaScript. Also bin noch ein zimlicher Anfänger
Ich finde einen Online-Shop ein wunderbares Projekt, um einzusteigen - wichtig ist nur, dass du ihn bei dir auf dem Rechner laufen lässt und nicht wirklich Online stellst - das kann relativ schnell zu einem Problem werden, da hier schnell Rechtsprobleme entstehen.

Damals habe ich mit PHP angefangen und genau so etwas entwickelt und immer erweitert.

Also mein Vorschlag wäre, dass du für den Anfang entweder JavaScript (NodeJS), PHP oder Python verwendest, um erstmal ein Benutzerlogin auf Basis einer MySQL oder sqlite Datenbank zu programmieren. Mehr nicht. Dazu erweiterst du deine Oberfläche mit den schon bekannten HTML, JavaScript und CSS.
Man sollte ein Login-Formular haben, wo man E-Mail und Passwort eingeben kann und anschließend wird auf der Seite oben rechts (z.B.) der eigene Name dauerhaft angezeigt (auch nach einem Neuladen der Seite) und ein "Abmelden"-Knopf, der einen wieder zum Login-Formular bringt.

Anschließend könntest du eine Passwort-Vergessen Funktion bauen (mit E-Mail-Versand eines Links). Dann schaust du dir an, ob du das Login irgendwie umgehen kannst.

Dann solltest du Produkte anzeigen lassen. Anschließend geht's weiter mit einem Warenkorb, dem Bestellvorgang, usw.
 
  • Gefällt mir
Reaktionen: tim_509, no_trust, Andarkan und eine weitere Person
Ich habe damals um in das Thema Webentwicklung einzusteigen (Programmieren an sich konnte ich schon) einen Browserchat entwickelt. Also wie diese ganz alten Chatseiten aus den 1990er Jahren mit reinem Text. Benutzt heute zwar kein Mensch mehr, aber trotzdem finde ich es als Lernprojekt erst mal sinnvoller. Einen Onlineshop finde ich für Anfänger noch ein Tick zu aufwendig.
Auch ein simpler Text-Chat braucht eine Datenbank und eine Account-Verwaltung mit Usernames, Passwörtern usw. Wenn man das ganze noch optisch aufpeppen will, kann man z.B. Unterstützung für Emojis etc. einbauen.
Technologien:
HTML, CSS, JavaScript für's Frontend und PHP mit MySQL für's Backend.

Es ist wichtig, zwischen Frontend und Backend zu unterscheiden.
Frontend ist immer HTML, CSS & JS (bzw. es gibt auch fertige Frameworks dafür).
Beim Backend hat man die Wahl zwischen verschiedenen Sprachen. Es geht z.B. PHP, Python, Java oder auch JavaScript selbst wenn man NodeJS hat. Aber wenn man eine Sprache gewählt hat, muss man noch entscheiden, welchen Webserver man verwendet. Auch da gibt es mehrere.
Und auch bei der Datenbank hat man die Auswahl zwischen mehreren. Bei einer SQL-Datenbank ist es für den Anfang erst mal ziemlich egal, welche Unterart von SQL.

Btw.:
Ist PHP mittlerweile nicht bisschen unmodern?
 
  • Gefällt mir
Reaktionen: tim_509, sandreas und Loopman
Andarkan schrieb:
Ist PHP mittlerweile nicht bisschen unmodern?
Nein. PHP ist immernoch absolut fein für Web-Sachen... neben zahlreichen Verbesserungen im Bereich der Performance und Security ist es zusätzlich eine Sprache, die sehr viele Programmier-Konzepte Unterstützt (Funktional, Objektorientierung, etc.). Insbesondere die Type-Hints sind ein Vorteil gegenüber anderen Script-Sprachen und PHP ist recht einfach lokal zum Laufen zu bringen (z.B. mit XAMPP, Docker oder auch einfach via PHP.exe einen Server starten - php -S 0.0.0.0:8000 index.php). Für PHP gibt es auch noch kostenlosen Web-Space inkl. Datenbank, wo man seine Webseite einfach hochladen und betreiben kann. Das gibts auch für andere Sprachen, aber es ist nicht ganz so verbreitet.

Ich würde vermutlich aber auch eher Python oder JavaScript empfehlen, da man das heutzutage in viel mehr Bereichen verwendet. JavaScript bietet den Vorteil, dass es auch im Browser läuft, Python wird im Bereich Machine Learning häufig eingesetzt, ist also heutzutage meiner Ansicht nach eine der interessantesten Sprachen.
 
  • Gefällt mir
Reaktionen: tim_509
Beschränk dich erstmal auf JavaScript im Frontend und Backend. Spart ggf. etwas Arbeit und du musst nicht zu viel auf einmal lernen.
Wenn du danach Interesse hast die Ressourcennutzung einzudämmen, kannst du dich immer noch mit anderen Sprachen beschäftigen, sei es z.B. Go oder Rust.

Und falls du dir Sorgen machst, dass du dann ggf Teile neuschreiben müsstest: dein erstes größeres Projekt wird vermutlich von suboptimaler Qualität werden (was völlig in Ordnung ist), daher schadet das auch nicht wirklich 😉

Wenn es speziell um Webanwendungen gehen soll, solltest du ggf auch in Betracht ziehen ein Framework für webapps zu nutzen.
Für meine Anfänge in dem Bereich fand ich angular gut, weil es einen noch etwas an die Hand genommen hat und etwaige Tools direkt Out of the box integriert - ist auch heute noch eine solide Wahl, aber nicht die beliebteste (was dann React wäre, aber heißt nicht, dass es deswegen vorzuziehen wäre).

sandreas schrieb:
die sehr viele Programmier-Konzepte Unterstützt (Funktional, Objektorientierung, etc.).
Nichts besonderes
sandreas schrieb:
Insbesondere die Type-Hints sind ein Vorteil gegenüber anderen Script-Sprachen
Haben andere Scriptsprachen auch dazubekommen, JS insbesondere durch TypeScript.
sandreas schrieb:
und PHP ist recht einfach lokal zum Laufen zu bringen
Nicht einfacher als etwaige Alternativen.

JMP $FCE2 schrieb:
Fang lieber mit altmodischen Offlinegeschichten in Python, C++ oder dergleichen mit dem Programmieren an
It's time to stop using C and C++ for new projects
Microsoft Azure CTO
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: tim_509
Zurück
Oben