Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Konzept für eine Art Web-Shop mit App-Unterstützung (https://www.delphipraxis.net/210953-konzept-fuer-eine-art-web-shop-mit-app-unterstuetzung.html)

Matze 4. Jul 2022 19:05

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

Ich habe mich lange nicht mehr blicken lassen, wäre aber um ein paar Denkanstöße dankbar. :wink:

Folgendes Szenario:
  1. Es soll eine Website (eine Art Shop) geben, bei der man sich registrieren/einloggen kann etc.
    Darüber soll man die üblichen Datenbank-Themen machen können (Benutzer können Bestellungen aufgeben und Admins können das Ganze verwalten).
  2. Eine Handy-App (iOS, Android) für die Benutzer soll die gleichen Funktionen ermöglichen, ggf. mit Zusatzfunktionen
    wie einem QR-Code-Reader und Fingerabdruck-Login.
  3. Eine Anbindung an PayPal & Co. soll möglich sein.

Nun zum Konzept:
  • Beim Thema der App-Entwicklung bin ich vorsichtig. Ein Update des Betriebssystems und möglicherweise geht danach nichts mehr.
    Daher würde mir eine App-Entwicklung gefallen, die quasi die Website kapselt und nur einen Rumpf mit nativen Zusatzfunktionen (QR-Code-Reader, Benachrichtigungen etc.) bereitstellt.
    Ich glaube Xamarin war damals was, das sowas in der Art konnte. Zumindest kann man da irgendwie nur eine Code-Basis pflegen und das fürs Web, Handy, Desktop etc. kompilieren.
    Sowas finde ich ganz cool.
  • Bzgl. der Web-Entwicklung wäre es schön, wenn man für die ersten "Gehversuche" mit einem normalen Webspace auskommt (PHP, MySQL).
    Wenn sich das aber gar nicht eignet, bin ich offen. Es sollte schon eine gute Lösung sein.
  • Wie gesagt wäre ein All-In-One-Tool (vgl. Xamarin) eine feine Sache.
    Was bietet sich da denn aktuell an?
    Schön wäre ein verbreitetes Open-Source-System und eine große Community.
    Oder welche Frameworks sind zu empfehlen?
    Gibt's evtl. sogar etwas, das man konfiguriert (Login, Formulare/Benutzer-Bereich etc.) und selbst über Art Plugins erweitern kann? Dann muss man nicht bei Null anfangen.
  • Ich vermute, Bezahlsysteme lassen sich heutzutage überall einbinden, weshalb wir das hier vermutlich eher weniger berücksichtigen müssen.

Kennt sich jemand von euch mit dem Thema aus und kann mir ein paar Tipps geben?

Viele Grüße
Matze

Mavarik 4. Jul 2022 19:20

AW: Konzept für eine Art Web-Shop mit App-Unterstützung
 
Tja für diese Problemstellung, gibt es sicherlich 100 verschiedene Ansätze.

Wenn Du das auf einem "normalem" Webspace aufsetzen willst, fallen aus meiner Sicht alle "coolen" Ansätze weg.

Für die Webseite würde ich dann ggf. TMS WebCode ins Auge nehmen...

Für die App natürlich FMX... ggf. mit einem Edge-Browser für die Webseite...

Soweit zu Deinen Vorgaben...

Ich würde es anders machen!

Das geht dann jedoch nur dann wenn Du einen "richtigen" Server hast! Hierzu verweise ich auf meinen vorletzten Blogpost.

Ich würden einen Rest(full) WebService in Delphi als ISAP-DLL schreiben der in der Lage ist sowohl die Webseite zu betreiben als auch die Daten für eine native FMX-App bereitstellen kann.

Die Intelligenz kann dann auf dem Service liegen.

Für die Webseite würde ich wie im Blogpost beschrieben dann eine Kombination aus HTML und Delphi-Script zurückgreifen.
TMS-WebCode würde natürlich auch in diesen Fall funktionieren.

Grüsse
Mavarik :coder:

DeddyH 4. Jul 2022 20:03

AW: Konzept für eine Art Web-Shop mit App-Unterstützung
 
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.

Mavarik 4. Jul 2022 20:29

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

Zitat von DeddyH (Beitrag 1508347)
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!

DeddyH 4. Jul 2022 20:39

AW: Konzept für eine Art Web-Shop mit App-Unterstützung
 
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.

IBExpert 4. Jul 2022 21:14

AW: Konzept für eine Art Web-Shop mit App-Unterstützung
 
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.

Phoenix 5. Jul 2022 07:07

AW: Konzept für eine Art Web-Shop mit App-Unterstützung
 
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.

IBExpert 5. Jul 2022 17:00

AW: Konzept für eine Art Web-Shop mit App-Unterstützung
 
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.

Matze 5. Jul 2022 19:31

AW: Konzept für eine Art Web-Shop mit App-Unterstützung
 
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. :thumb:

Grüße
Matze

Mavarik 6. Jul 2022 02:35

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

Zitat von IBExpert (Beitrag 1508398)
aber ich als alter Sack

Sind wir "die alten Säcke" nicht genau die, die den Kids den richtigen Weg zeigen sollten?

Zitat:

Zitat von IBExpert (Beitrag 1508398)
... 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


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:40 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz