Portfolio Performance unter Android

@Thomas Gibt es hier ein Update?

Hintergrund meiner Frage ist, dass ich eine Android-App als Prototyp habe, die das PP-XML (also für meinen Fall) verarbeiten kann, der Sync über Google Drive läuft und initial erste Portfoliodaten anzeigt.

Evtl. könnte man hier gemeinsame Sache machen.

2 Likes

Interessante (wiederkerhende) Diskussion, kurz 2 Gedanken dazu:

  • Ich finde auch, dass die begrenzte Haupt-Entwicklungsressource @AndreasB sich auf Funktionen der Desktop-Anwendung konzentrieren sollten.
    Mobilversion ist aus meiner Sicht „nett“, aber der primäre Anwendungsfall sind Performanceauswertung, Reporting und Analysen, die auf dem Desktop aus meiner Sicht gut aufgehoben sind.

  • Ich glaube ein echter „Enabler“ für parallele Entwicklung von mobilen Apps wäre die Entkopplung der Kursaktualisierungen in der XML-Datei. Dann könnten mobile Apps ebenso wie der Desktop-Client zum „Betrachten“ verwendet werden. Für die Entwicklung der mobilen Apps würden sich offensichtlich auch andere Freiwillige finden / anbieten. Das könnte dann also parallel / entkoppelt laufen und würde nicht die Weiterentwicklung der Desktopversion beeinträchtigen.
    Solange ich mobil nur den „letzten Datenstand“ aus der Desktopanwendung öffnen kann, bietet das auch nicht viel Mehrwert. Und ich weiß nicht ob man die ganze „Kurse abrufen“-Logik nachbauen möchte.

Mögliche Lösungsansätze:

  1. Trennen der Codebasis in „Business-Logik, die zumindest unter Android wiederverwendbar ist“ und „Desktop-Client“. Meine Java-Zeit ist etwas her (heute .NET), meine Hoffnung wäre dass es hier die Möglichkeit gibt eine Bibliothek für Desktop und Mobil als Zielplattformen zu entwickeln (sowas wie .NET Core :wink: ) Damit sollte sich Neu-Entwicklung kritischer Business-Logik wie Kursaktualisierungen und Performance-Berechnung vermeiden lassen. Kaum auszumalen wie viele Foren-Threads „Performance unter Android/iOS anders als auf dem Desktop“ es sonst zukünftig geben würde.
  2. Erstellen einer „Backend-Komponente“ für die Kursaktualisierungen. Hier könnte man z. B. versuchen ein Paket für eine NAS wie Synology zu bauen. Oder einen kleinen Service, den man irgendwo in der Cloud deployen kann (Azure o.Ä.) und der die Kurse in einer XML Datei z. B. in einem Cloud-Speicher aktualisiert.

Aber das sind nur ein paar kurze Einwürfe, ich kann mit der Desktop-Version sehr gut leben :wink:

Christoph

1 Like

Aktuell nichts offizielles.

Gerne! Ich schreibe Dich mal direkt an.

Hallo in die Runde,
zum Thema Web-Client möchte ich auch mein Interesse bekunden. Ich würde eine mobile PWA empfehlen, die dann zumindest weitestgehend unabhängig vom Smartphone wäre. Ein Backend wäre vermutlich in der Tat sinnvoll für Kursaktualisierungen und zur Vorhaltung der aktuellen PP-Daten. Ich bin aktuell ziemlich viel im Web-Bereich privat aktiv. Insbesondere die Backend-Seite mit Python ist eine ziemlich nette Sache da hier viele Bibliotheken schon verfügbar sind. Dort könnte ich mich auch engagieren und eine RestApi für eine mobile Client-Anwendung bereitstellen. Gibt es eine genaue Vorstellung, was ein solcher „Viewer“ leisten müsste? Ich Stelle mir folgendes vor:

  • Sync der Positionen im Depot (Anzahl, Typ, Wert, Kaufdatum) gegen ein Backend auf einem Server nach Start der Desktop Anwendung. Pflege dieser Positionen nur in Desktop App.
  • Kursabruf aktuelle Positionen über Yahoo etc.
  • Berechnung Gewinn/Verlust ohne Betrachtung vonDividenden oder bereits realisierten Gewinne
  • Anzeige in Webanwendung als Liste und Chart

Das sollte erst einmal gar nicht so kompliziert sein und man könnte seine aktuell offenen Positionen übersichtlich mit aktuellen Kursen beurteilen. Aktuell nutze ich „My Stocks Portfolio“ unter Android und ich baue die Positionen da immer sozusagen nach. Das ist schon lästig.

Wie aufwändig wäre ein Plugin in PP zu realisieren, das die aktuell aktiven Positionen als Datei an einen Server hochlädt? Mit Java hab ich sehr wenig am Hut und würde hier Unterstützung benötigen.

Wer hat hier Interesse, das mal näher zu diskutieren?

Heiko Günther

Für die Kursaktualisierungen gibt es seit Kurzem Historische Kurse von Portfolio Report.

Vor einiger Zeit (📱 Alpha-Tester für mobile Portfolio-App gesucht) hat sich die Mehrheit der Nutzer für eine Datenspeicherung in der Hoheit des Nutzers ausgesprochen. Das kann durchaus auch eine Cloudlösung sein, aber eine vom Nutzer ausgewählte/betriebene.

Ansonsten kann ich ein Großteil Deiner Gedanken nachvollziehen. Ich schreibe auch Dich – wie alle, die Unterstützung anbieten möchten – direkt an.

Hallo an Alle,

kommt denn keine Webapplication in Frage?

Stefan

Aus meiner Sicht schon, die Alpha-Version war/ist eine Webapp.

Da hier nur wortkarge Antworten gibt, wärme ich die Suppe nochmals auf :slight_smile:

Wie ist jetzt der Status der Web-Applikation, nachdem im Jänner genügend Tester (Alpha-Tester der WebApp in PP-Forum)aufgenommen wurde? Wann wäre die Beta-Phase in etwa?

Wo liegt denn eigentlich das Problem bei der Portierung? Java wurde doch speziell entwickelt, um Plattformunabhängigkeit zu erreichen. Der Preis dafür war eben die geringere Geschwindigkeit und die Notwendigkeit, einen Interpreter zu installieren, der den erzeugten Pseudo-Code zur Laufzeit in ausführbaren Maschinencode des Zielsystems übersetzt.
Ich kenne mich mit Java nicht weiter aus, habe es vor ca. 20 Jahren mal kurz ausprobiert, wegen der geringen Geschwindigkeit aber sehr schnell wieder fallen lassen.

Portfolio Performance ist konzeptionell als Desktop Anwendung entwickelt, sprich die verwendeten Bibliotheken brauchen Funktionen die das PC Betriebssystem zur Verfügung stellt.

Soweit ich vermute, sprechen wir bei der Entwicklung der App für Handy von einer zusätzlichen Anwendung die nicht identisch zur Desktop App sein kann.

Und ja, Java ist Plattform unabhängig, jedoch gibt es für Android & Co keine Java Runtime Version.

1 Like

Danke für die Info, mit einer fehlenden JRE hatte ich nicht gerechnet.

@AndreasB @Ragas @Thomas

Hallo, im Zusammen iOS/Android und zusätzliche Anwendung, möchte ich mal auf die Uno Platform Aufmerksam machen.
Hier wird es kurz zusammengefasst. Damit würde man mit nur einer Codebasis alle Plattformen abdecken können. Hatte das nur zufällig entdeckt und musste an PP denken.
Falls das nicht sowieso schon bekannt ist, wäre es ja eine Überlegung Wert, bevor jetzt mit einer zusätzlichen Anwendung nur Android bedient wird.
Was meint ihr dazu?

Das ist – zumindest von meiner Seite – nicht geplant. Ich glaube aber, dass Desktop und Mobil zwei verschiedene Szenarien sind, die sich in der UI und in den Anwendungsfällen unterscheiden.

Soweit ich die Beiträge hier verstanden habe, wollen die meisten nicht unbedingt alle Funktione, die in Desktop-App verfügbar sind, auch auf mobile Devices haben. Mehr so die Abfragen oder Darstellung von Depots o.ä. wären mal für den Anfang nicht schlecht und das lässt sich via Plattform gut lösen.

1 Like

Hmm… Ich denke das spielt nicht wirklich eine Rolle, sondern eher der Unterschied großer und kleiner Bildschirm und das dafür nötige Layout.
Ich finde nur das Konzept sehr interessant, den Programmcode den man weiterentwickeln will nur ein Mal vorliegen zu haben, und diesen dann für verschiedene Betriebssysteme kompilieren zu können. Und damit mehr Plattformen abdecken zu können als mit Java, was ja der Wunsch hinter diesem Thread ist.
Neben der Programmoberfläche für große Bildschirme müsste man dann noch eine für kleine Bildschirme erstellen. Je nach Größe des Gerätes, würde das Programm das passende Layout automatisch auswählen.
Die Funktionen wären alle auf jeder Plattform im Programm vorhanden, denn es liegt ja überall der selbe Code zu Grunde. Bei kleinen Bildschirmen müsste dann jede Funktion wahrscheinlich im Vollbild angezeigt werden.

…wegen Uno Platform…

“Build Single Codebase Apps for WebAssembly, iOS, Android and Windows.”

Sonderbares Verständnis von “alle Plattformen”.

PP als PWA erscheint mir ambitioniert, unausgegoren und aus Security-Sicht bedenklich.

Ich habe Ende 2018 mit der Umsetzung von Portfolio Performance ins Web (als PWA) begonnen. In das Projekt sind zahllose Stunden und einige TEURO geflossen, Anfang 2020 habe ich es demotiviert beerdigt, obwohl es zu 90% fertig war.

Folgende Probleme habe ich unterschätzt:

1.) Die Kursdaten. Eine Webanwendung kann die Kursdaten nicht einfach von einer Webseite „holen“, man müsste sie erwerben. Und um den ganzen Kosmos abzudecken (Aktien,ETFs,Fonds,CEFs,Zertifikate) sind Unsummen nötig, die entsprechenden Firmen/Börsen sind alles andere als entgegenkommend, oft hatte ich den Eindruck man möchte mit Startups eigentlich nichts zu tun haben und ruft direkt mal Defensivpreise auf.

2.) Man braucht enorme Serverressourcen und eine perfekte Skalierung, zusammen mit Punkt 1.) ist es fast unmöglich das Produkt kostenlos anzubieten - leider würde es nur so Verbreitung finden.

3.) Die Zielgruppe ist zu klein um 1.) und 2.) lösen zu können. Meiner Erfahrung nach wird es sehr schwer über Europa hinaus zu wachsen.

Ich denke, Desktops werden uns noch eine ganze Weile begleiten. Eine Mobillösung wäre schön, aber sie ist m.M. nach unrealistisch.

LG,
Mod

1 Like

Naja, geht. Die Daten sind ja quasi da, man muss sie nur anzeigen. Sofern das reine Anzeigen für zwischendurch reicht.
Man könnte ja eine Software zur Verfügung stellen, die sich jeder selbst auf seinem eigenen Server installieren kann. Dann wird alles privat und dezentral gehostet. Das sollte doch erlaubt sein, oder?
Ich habe mir sowas in PHP gebastelt, beherrscht aber auch nur Grundfunktionen, wie Konten/Depots anzeigen, Charts, Buchungen, ein paar Kennzahlen. Ich scheitere allerdings bspw. daran, verschlüsselte Portfolio-Dateien zu öffnen…

Ich glaube ebenfalls nicht, dass dies unmöglich ist. Einen Proof-of-concept gab es bereits und ich arbeite weiter daran. Wer sich beteiligen möchte, bitte gerne melden.