AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Konzept für eine Art Web-Shop mit App-Unterstützung
Thema durchsuchen
Ansicht
Themen-Optionen

Konzept für eine Art Web-Shop mit App-Unterstützung

Ein Thema von Matze · begonnen am 4. Jul 2022 · letzter Beitrag vom 6. Jul 2022
Antwort Antwort
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.666 Beiträge
 
Delphi 12 Athens
 
#1

AW: Konzept für eine Art Web-Shop mit App-Unterstützung

  Alt 4. Jul 2022, 20:03
Bei PHP fällt mir zuerst Laravel ein, für das Frontend könnte man z.B. Angular mit Ionic verwenden, das Ganze evtl. als PWA, dann hast Du für Website und App dieselbe Codebase. Die Lösung besteht damit nur aus OpenSource-Komponenten und läuft auf jedem OS.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.165 Beiträge
 
Delphi 10.3 Rio
 
#2

AW: Konzept für eine Art Web-Shop mit App-Unterstützung

  Alt 4. Jul 2022, 20:29
Bei PHP fällt mir zuerst Laravel ein
Bei PHP fällt mir zu erst ein:

- Hacker auf meinen Server wegen Fehler in PHPAdmin
- Hacker auf meinen Server wegen Lücke in Drupal
- Hacker auf meinen Server - keine Ahnung was es jenes mal war.

In jedem Fall war der Server nicht mehr zu retten.

Daher werde ich NIE wieder PHP verwenden, auf meinem Server installieren oder ein PHP Tool verwenden...

Mavarik

PS.: Aber das soll keinen davon abhalten!
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.666 Beiträge
 
Delphi 12 Athens
 
#3

AW: Konzept für eine Art Web-Shop mit App-Unterstützung

  Alt 4. Jul 2022, 20:39
Und bei Delphi-Webgefrickel kann so etwas nicht passieren? PHP kam ja nicht von mir, es gibt ja auch noch jede Menge anderer Möglichkeiten, NestJS beispielsweise. Aber letzten Endes muss Matze sich sowieso erst einmal umschauen und sich dann entscheiden, welche Lösung er für geeignet erachtet.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von IBExpert
IBExpert

Registriert seit: 15. Mär 2005
696 Beiträge
 
FreePascal / Lazarus
 
#4

AW: Konzept für eine Art Web-Shop mit App-Unterstützung

  Alt 4. Jul 2022, 21:14
ich denk mal mit TMS WebCore (nicht WebCode wie Maverik/Frank schrieb), bist du eigentlich auf einem guten Weg, damit lässt sich auf Basis einer Programmierung der ganze Kram wirklich Multilattform einsetzbar machen, sofern alle Plattformen einigermaßen brauchbare Browser einsetzen. Es erspart dir den ganzen Kram, wie man native Apps in die ios bzw android Appstores bekommt und wenn du ein Update hochladen willst, musst du niemanden fragen, ob der das denn auch netterweise irgendwann mal freischaltet.

Php setzen wir zwar ziemlich oft dafür als Backend zwischen webserver und firebird db ein, weil das dann ziemlich einfach ist, darüber datenbankzugriffe zu machen, das passiert aber immer nur mit php script files, die zu 100% auf unserem eigenen Mist gewachsen sind und nicht irgendwelche lustigen frameworks, die zwar anfänglich alles sehr einfach aussehen lassen, am Ende dir aber die Erfahrungen von Maverick in Erinnerung rufen werden, wenn du den Kram verfluchst.

So ein php script hat bei uns keine 50 Zeilen php code, bindet gar nichts externes ein und läuft daher sehr einfach und sauber. Ein eigener OAuth Mechanismus ist damit auch schneller selbst aufgebaut, als irgendwelche wahnsinnig tollen libs, die das alles eh schon können, aber oft auch sachen können, die man gar nicht haben möchte und der eigentliche Entwickler wohl auch irgendwann mal übersehen hatte ... .

Das was TMS Webcore dann meiner Meinung nach wirklich sehr gut macht, ist das du bei Bedarf damit sogar mobile laufende offline Applikationen erstellen kannst. Ob du das am Ende mit Delphi machst oder mit Lazarus ist ziemlich egal, weil am Ende statt einer Windows Exe beim compile Javascript dabei rauskommt, und das dann eben im Browser läuft, lokal, egal ob online oder offline (bei einer php/isapi webanwendung ist das undenkbar, bei den meisten anderen für delphi verfügbaren frameworks ebenfalls, da muss auf irgendeinem server irgendwas laufen und nur das liefert dir results auf deinem device, wenn keine verbinding, dann keinerlei funktion. (ich hatte das mal in einem video hier gezeigt https://youtu.be/uVa9Y0-TyoA?t=5616)

Das ist bei TMS Webcore überhaupt nicht der Fall und als Komponenten has du auf der Webcore Plattform alles mögliche auch schon drin.

Webcore Apps kanns du übrigens auch auf dummen Webservern ablegen, für den Zugriff auf eine irgendwo unter deiner Kontrolle liegende db wird das schon ein wenig komplizierter, Wenn das aber windows fokus haben soll, ist das einfachste, dir dafür zB. einen eigenen Windows virtual server mieten, auf dem du dann installieren kannst, was du willst (mit allen vor und Nachteilen), kostet so ab 15 € im Monat, je nach anbieter und Leistung. Auf dem Weg geht sonst auch die von maverick vorgeschlagene isapi dll rest lösung, aber was am ende der beste weg ist und auch unter hoher last noch benutzbar ist, hängt weniger davon ab, was du da einsezt, sondern mehr davon, wie du das umsetzt. Scheisse programmieren kann man mit fast jeder Programmiersprache, aber in vielen Sprachen sind gute Lösungen umsetzbar.
Holger Klemt
www.ibexpert.com - IBExpert GmbH
Oldenburger Str 233 - 26203 Wardenburg - Germany
Firebird 5 Update und Know-how Workshop – 28.8.-29.08.2025 64546 Mörfelden - Walldorf

Geändert von IBExpert ( 4. Jul 2022 um 21:26 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.645 Beiträge
 
#5

AW: Konzept für eine Art Web-Shop mit App-Unterstützung

  Alt 5. Jul 2022, 07:07
Huhu Matze,

eine App die einfach nur eine Webseite kapselt funktioniert nur genau so gut, wie die Webseite. Wenn Du keine Online-Verbindung hast, in aller Regel gar nicht. Da muss man also ein klein wenig mehr machen.

Für offline-Fähige Webseiten (sogenannte Progressive Web Apps) gibt es inzwischen genug API-Support auf allen Plattformen. Um eine PWA zu bauen bieten sich auch verschiedene SPA (Single Page Application) Frameworks an. Wenn Du was verlässliches, battle-tested haben willst schreibst Du die Seite dann in Angular oder React. Angular ist eher Komponenten-Orientiert und gibt als Framework viel vor, was Dich, denn entsprechenden Einarbeitungsaufwand vorausgesetzt, super produktiv macht. React ist eher ne Sammlung von Libraries und gibt wenig vor, Du musst also jedes mal für jedes Teilfeature das Du benötigst gucken, welche Bibliothek Du dafür benutzen möchtest und selber schauen wie Du es da in ein Gesamtbild reinbekommst.

Wenn Du die Webseite / SPA hast, kannst Du sie mit Apache Cordova in eine App für iOS und Android verpacken. Wenn Du Desktop-Lösungen magst steckst Du die Anwendung dann in Electron rein.

Authentication: Kauf bzw. Miete Dir was. Auth0, Okta, Azure Active Directory, Hosted Keycloak, irgend sowas. Wenn Du das selber machen willst kostet das massig Zeit. Wir reden hier jeweils von Wochen an Anpassungen an ggf. teuer lizenzierten Komponenten damit das am Ende das tut was Du brauchst. Und wenn Du Clientseitige Bibliotheken verwendest achte unbedingt darauf, dass sie OIDC-Zertifiziert sind. Zwingend! Das ist alles Security-Relevant. Ich habe bisher keinen Kunden gesehen der sowas selbst versucht hat und das hinterher sicher war. Das Protokoll ist nicht ohne und da reichen schon mini-Fehler um durch das Weglassen von "was unwichtigem" oder minimal falsch interpretierte Dinge auf einmal Scheunentore offen stehen zu lassen. Das ist ein Schweizer Käsemodell par excellence und jede noch so dünne Scheibe / Schicht sorgt dann am Ende dafür das ein Angreifer nicht mit 08/15 Standard-Attacken einfach mal durchkommt.

Backend / API: Auch hier: Verlass Dich am besten auf millionenfach battle-tested Frameworks. Wir bauen APIs auf Basis von ASP.NET Core auf .NET 6 (ehemals .NET Core).
Bringt wirklich alles mit was Du brauchst. Ne einfache REST-ähnliche API inkl. DB-Anbindung (egal ob MSSQL, Postgres, MariaDB / MySql), OAuth-basierte Anmeldung die normale Create/Read/Update/Delete Operationen für alle Tabellen, eine lebende API-Dokumentation etc. bereitstellt ist in maximal 2 Stunden fertig und kann sowohl auf Windows, Linux, macOS und auch Containerisiert für die Cloud (Docker, Kubernetes) deployed werden.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Benutzerbild von IBExpert
IBExpert

Registriert seit: 15. Mär 2005
696 Beiträge
 
FreePascal / Lazarus
 
#6

AW: Konzept für eine Art Web-Shop mit App-Unterstützung

  Alt 5. Jul 2022, 17:00
sorry, Sebastian, aber ich als alter Sack bin da mal so gemein, deine Antwort mal auf die wichtigsten Namen zusammen zu kürzen

Ist es korrekt, das dein Vorschlag also erst mal die Evaluierung und Bewertung dieser Technologien vorschlägt
(ich hab nicht alle genommen, nur die ersten 16 die mir aufgefallen sind)

PWA
SPA
battle-tested
Angular
React
Apache Cordova
Electron
Auth0
Okta
Azure Active Directory
Hosted Keycloak
OIDC
ASP.NET Core auf .NET 6 (ehemals .NET Core).
OAuth-basierte Anmeldung
Docker
Kubernetes

Wenn dem so ist und das jeder alles so parat haben sollte, dann frag ich mal ganz offen, ob es nur mir so geht,
das ich ohne den ganzen Kram bisher sehr gut klarkomme, einiges davon zwar kenne, aber gar nichts davon für
existenziell wichtig und unersetzbar halte.

Ist aber vielleicht auf die ursprüngliche Frage von Matze die bessere Antwort auf einen anderen Teil, ich hatte da eher den Teil
"Wie gesagt wäre ein All-In-One-Tool (vgl. Xamarin) eine feine Sache." im Fokus und dachte mir (da wir ja im DelphiPraxis Forum sind)
der TMS Ansatz kommt dem schon sehr nahe

Deine Antwort geht dann ja eher in Richtung der daruf folgenden Frage "Oder welche Frameworks sind zu empfehlen?"
wobei ich keineswegs sagen will, das die Sachen da alle unwichtig sind, sondern im Enterprise Umfeld sicher eine Existenzberechtigung
haben, aber viellicht bin ich ja auch wirklich zu alt und zu faul, den ganzen Kram zu lernen und zu verstehen, solange ich mit dem
was ich mache,eigentlich alles abdecken kann, was ich so brauche.
Holger Klemt
www.ibexpert.com - IBExpert GmbH
Oldenburger Str 233 - 26203 Wardenburg - Germany
Firebird 5 Update und Know-how Workshop – 28.8.-29.08.2025 64546 Mörfelden - Walldorf
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#7

AW: Konzept für eine Art Web-Shop mit App-Unterstützung

  Alt 5. Jul 2022, 19:31
Hallo zusammen,

Wahnsinn, was für tolle Antworten in der kurzen Zeit von euch kamen. Vielen Dank dafür!

Zugegeben, ich muss einiges erstmal recherchieren, da ich mit einigen Begriffen noch gar nichts anfange.
Aber schon mal echt top, dass ich nun ein paar Ansätze habe.

Grüße
Matze
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.165 Beiträge
 
Delphi 10.3 Rio
 
#8

AW: Konzept für eine Art Web-Shop mit App-Unterstützung

  Alt 6. Jul 2022, 02:35
aber ich als alter Sack
Sind wir "die alten Säcke" nicht genau die, die den Kids den richtigen Weg zeigen sollten?

... und dachte mir (da wir ja im DelphiPraxis Forum sind)
Wichtiger Punkt...

Mir als altem Sack geht es total auf den Sack - um bei dem Wortspiel zu bleiben - das es jeden Tag ein neues XY gibt das angeblich viel besser ist und natürlich von Facebook oder google entwickelt oder verwendet wird, daher muss es ja gut sein...

Ich will jetzt nicht mit der alten Laier kommen, dass man alles mit Delphi machen kann (auch wenn es so ist).

Aber warum soll ich in einem Delphi Forum als Antwort geben: "Nimm doch C#"

*grummel*

Ich denke doch, wenn jemand in einem Delphi Forum diese Frage stellt, erwartet er auch eine Antwort wie es mit Delphi geht, oder?

Mavarik
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.645 Beiträge
 
#9

AW: Konzept für eine Art Web-Shop mit App-Unterstützung

  Alt 6. Jul 2022, 07:15
Wenn dem so ist und das jeder alles so parat haben sollte, dann frag ich mal ganz offen, ob es nur mir so geht, das ich ohne den ganzen Kram bisher sehr gut klarkomme, einiges davon zwar kenne, aber gar nichts davon für existenziell wichtig und unersetzbar halte.
Die Fragen sind eigentlich folgende:
- Sind die altbekannten Technologien wirklich gut genug für so ein Vorhaben?
- Bringen mir auf verteilte (Web- und App-) Applikationen spezialisierte Werkzeuge einen Vorteil?
- Wie lange soll das neue Produkt am Markt bleiben? (Hoffentlich mehr als nur 3-4 Jahre?)
- Finden sich dann in 5-7 Jahren noch Entwickler, die sich mit der altbekannten Technologie auskennen?
- Kann ich junge Entwickler dann noch mit meinem Technologiestack überzeugen?
- Wie wichtig ist das Produkt für mein Business?
- Kann ich es mir leisten, das Ding mittelfristig wieder weg zu werfen und neu zu machen wenn die altbekannte Technologie doch nicht fliegt?

Man sollte dabei auch noch folgendes bedenken:

Wir haben hier kein einfaches Client-Server Setup. Sobald Du Dich im Web- und App-Umfeld bewegst arbeitest Du zwangsläufig an einer verteilten Architektur. Du hast Persistenz (DB, kann aber auch mal ne Messagequeue oder ein Eventstore sein), Du hast Services/APIs die zustandslos sein müssen (zumindest ab dem Zeitpunkt an dem Du eine einfache Basis-Ausfallsicherheit sicherstellen möchtest), Du hast Clients auf verschiedenen Plattformen und der Zustand des Gesamtsystems verteilt sich auf Persistenz, Netzwerk und Client-Anwendungen. Und nein, so ne App kann mal offline sein, Du kannst also nicht einfach alles in Transaktionen auf der DB packen um das konsistent zu halten. Du brauchst entweder verteilte Transaktionen (guter Rat: tu's nicht), oder, besser und korrekter, Du setzt auf eventual consistency (irgendwann wird's wieder konsistent werden, nur jetzt grad in dieser Sekunde noch nicht). Und Du musst das alles im Betrieb überwachen.

Gibt es für alle diese Herausforderungen in Deinem Dir jetzt bekannten Werkzeugset Dinge, von denen Du mit Gewissheit sagen kannst dass sie auch bei zehntausenden Anfragen pro Sekunde auf Deinem System grundsolide ihre Arbeit verrichten? Bist Du Dir sicher dass die Sicherheitsschicht Deiner API nicht durch einen Angreifer in ein paar Sekunden ausgehebelt wird (und damit meine ich: Bist Du Dir wirklich sicher? Wie viele unterschiedliche Security-Firmen hast Du mit Penetration-Tests beauftragt um die Aussage zu belegen?).

Und wenn Du Dich jetzt fragst: Ist das wirklich notwendig? Das ganze brauch ich doch nicht! Dann überlege: Du hast einen Shop mit Anbindung an ein Zahlungssystem. Welcher Schaden kann potentiell entstehen wenn jemand im Namen eines anderen bestellt, oder jemand mittels DNS-Spoofing Paypal mimt und Deinem System vorgaukelt etwas sei bezahlt dabei hat Paypal die Zahlungsinfos nie erhalten, oder jemand durch eine Lücke in der API die Versandadresse eines Kunden ändert und alle teuren Waren an eine Paketstation gehen und der Empfänger unbekannt ist? Und das sind nur die einfachen Angriffe. Für sowas haben professionelle Täter heute Scripte die sowas ausprobieren, da sitzt keiner manuell dran und versucht Dein System zu hacken - das System übernehmen die vollautomatisiert.

Und dann sind die Antworten auf die folgende Fragen eigentlich sehr einfach:
Will ich nicht lieber mein Produkt auf eine technologische Basis setzen, die genau für diese Herausforderungen spezialisiert ist?
Sollte ich nicht für meine Webanwendung etwas benutzen, das heute State of the Art ist, und für das ich auch genau jetzt erfahrene Entwickler finden kann?
Sollte ich nicht Technologien für meine API einsetzen, die genau dafür spezialisiert ist und mir dort massig Arbeit abnimmt?
Sollte ich mich was Security angeht nicht besser auf Armeen von Security-Engineers verlassen als zu meinen, alles selber besser zu können?
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:36 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz