Delphi-PRAXiS
Seite 1 von 2  1 2   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Cross-Platform-Entwicklung (https://www.delphipraxis.net/91-cross-platform-entwicklung/)
-   -   Interaktion mit anderen Apps (https://www.delphipraxis.net/196335-interaktion-mit-anderen-apps.html)

TurboMagic 13. Mai 2018 13:44

Interaktion mit anderen Apps
 
Hallo,

welche technischen Möglichkeiten zum Datenaustausch mit anderen Apps (die auch in anderen Sprachen geschrieben sein können) gibt es unter Android und iOS die auch von Delphi Apps aus genutzt werden können?

Für Android fallen mir da Intents ein die man sowohl von einer Delphi App aus aufrufen kann als auch von einer Delphi App aus anbieten kann.
Was gibt es noch und wie sieht es unter iOS aus?

Grüße

TurboMagick

KodeZwerg 13. Mai 2018 14:21

AW: Interaktion mit anderen Apps
 
IPC siehe hier.
PS: Das gilt nur für kommunikation eigener Programme.

TurboMagic 13. Mai 2018 16:05

AW: Interaktion mit anderen Apps
 
Danke mal für den Link, ich sehe aus diesen methodiken noch nicht so ganz, wie man eine andere noch nicht gestartete App dann auch zuerst starten kann. Bei Android Intents passiert sowas z.B. automatisch. Oder wie wird beispielsweise so etwas wie das ShareSheet bei iOS umgesetzt?

KodeZwerg 13. Mai 2018 16:18

AW: Interaktion mit anderen Apps
 
Das IPC dingens bezieht sich auf
Zitat:

Zitat von TurboMagic (Beitrag 1401970)
welche technischen Möglichkeiten zum Datenaustausch mit anderen Apps

Dabei kann eine App Sender und Empfänger zugleich sein, muss aber halt immer zur Gegenstelle passen.
Stell es Dir wie ein Chat-Programm vor, wenn Gegenstelle "offline" dann gibt es kein "Hat Nachricht erhalten" Flag.
Da kannst Du drauf aufbauen um dann die fehlende App selber zu starten. Nur so ein Gedanke.
Ich weiß ja nicht was Du vorhast, vielleicht ist IPC das völlig falsche Mittel.

TurboMagic 14. Mai 2018 20:03

AW: Interaktion mit anderen Apps
 
Um die Frage noch etwas zu erweitern:
Welche Formen der Modularisierung mit anderen Entwicklungstechniken gibt es?
Unter Android kann ich z.B. eine JAR Datei einbinden, aber kann ich mit Delphi auch etweas generieren, was andere einbinden können und damit nicht eine APK ist?
Wie sieht es da unter Android und iOS aus?
Unter Win32 könnte man als GUI lose Bibliothek ja DLLs oder COM-Server erzeugen.

Rollo62 15. Mai 2018 07:19

AW: Interaktion mit anderen Apps
 
Wenn du sowas wie shared objects oder DLLs unter iOS und Android meinst,
sowas geht meines Wissens nicht.
Die mobile Apps leben in einer Sandbox.

Auf die Schnelle fallen mir da als weitere Austauschoptionen ein:
  • über File-Austausch, was aber nur begrenzt gut funktioniert
  • über Push-Notifications
  • über einen gemeinsamen Webservice

Rollo

TurboMagic 16. Mai 2018 18:48

AW: Interaktion mit anderen Apps
 
Hallo,

es sollte schon etwas sein was in die andere App eingelinkt wird oder was ich einlinken kann und dann jeweils der andere aufrufen kann. Es kann also etwas statisches sein.
z.B. könnte ich die Web App so einbinden, dass ich einen Bildschirm dieser Web App direkt anspringen kann.

Grüße

TurboMagic

hanvas 16. Mai 2018 19:44

AW: Interaktion mit anderen Apps
 
Zitat:

Zitat von TurboMagic (Beitrag 1401981)
Ich sehe aus diesen methodiken noch nicht so ganz, wie man eine andere noch nicht gestartete App dann auch zuerst starten kann.

Wenn Du so etwas systemübergreifend unter verschiedenen OS / Plattformen erledigen willst könntest Du, je nach Aufgebenstellung und Verfügbarkeit auf dem entsprechenden OS entweder einen Message Broker (Apache MQ, MQTT, RabittMQ und viele andere) oder einen Bus verwenden (DBUS,MPICH/MPICH 2,DCOM). Zwischen Bus und Message Broker lässt sich eigentlich keine klare Unterscheidung treffen.

Ein derartiges System hat den Vorteil das man es einigermaßen leicht programmieren kann, ausfallsicher hinbekommt und das zumindest bei den bekannten Systemen viele Programiersprachen unterstützt werden. Du kannst auf diese Art nicht nur zwischen Delphi-Programmen sondern auch von Delphi nach Java, Python, C++ usw. kommunizieren.

Um auf einen anderen Rechner einen Prozess zu starten müsstest Du dann ein Programm schreiben das auf allen Rechnern auf denen Du Prozesse starten willst installiert wird, und auf eine definierte Nachricht dafür sorgt das ein(oder mehrere) definierte Prozesse auf dem fremden Rechner startet.

Wie ein MQTT Broker arbeitet ist in [2] ganz gut beschrieben, das gilt so in etwa auch für die anderen Dienste.


Nur mal als Anregung

cu Ha-Jö


[1] https://blogs.sas.com/content/sasdac...essage-broker/
[2] https://www.predic8.de/mqtt.htm

TurboMagic 17. Mai 2018 18:31

AW: Interaktion mit anderen Apps
 
Zitat:

Zitat von hanvas (Beitrag 1402313)
Zitat:

Zitat von TurboMagic (Beitrag 1401981)
Ich sehe aus diesen methodiken noch nicht so ganz, wie man eine andere noch nicht gestartete App dann auch zuerst starten kann.

Wenn Du so etwas systemübergreifend unter verschiedenen OS / Plattformen erledigen willst könntest Du, je nach Aufgebenstellung und Verfügbarkeit auf dem entsprechenden OS entweder einen Message Broker (Apache MQ, MQTT, RabittMQ und viele andere) oder einen Bus verwenden (DBUS,MPICH/MPICH 2,DCOM). Zwischen Bus und Message Broker lässt sich eigentlich keine klare Unterscheidung treffen.

Ein derartiges System hat den Vorteil das man es einigermaßen leicht programmieren kann, ausfallsicher hinbekommt und das zumindest bei den bekannten Systemen viele Programiersprachen unterstützt werden. Du kannst auf diese Art nicht nur zwischen Delphi-Programmen sondern auch von Delphi nach Java, Python, C++ usw. kommunizieren.

Hallo,

danke schon mal für die Anregungen, ich fürchte aber die treffen nicht ganz was ich will.
Ich will:

- eine einzige App schreiben (eine für Android und aus der möglichst gleichen Codebasis eine für iOS)
- diese beinhaltet verschiedene Teile (sowohl reine Methoden oder so als auch GUI Teile) die in unterschiedlichen Tools entwickelt wurden
- die Tools sind dabei Delphi und möglichst Webfraqeworks

Wer den App Rahmen generiert und alles zusammenbinded (Delphi oder das Web Framework) ist mir dabei zweitrangig.
Nur: es soll halt alles in einer App drin sein und miteinander agieren können, also möglichst auch in unterschiedlichen Lösungen
geschriebene GUI Bildschirme.

Grüße

TurboMagic

TiGü 18. Mai 2018 07:57

AW: Interaktion mit anderen Apps
 
Es geht dir also darum, Daten zwischen verschiedenen Apps auszutauschen, über die ihr die Codehoheit habt bzw. andere Leute sich anbinden können?

Wäre es nicht am Einfachsten, in der Hauptapp einen REST-Server zu implementieren?
Damit kann/sollte kann so gut wie jede Sprache/Framework umgehen können.


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:13 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