App Entwicklung - Cross Platform oder Native

Dragonfly282

Newbie
Registriert
Mai 2024
Beiträge
5
Liebe Programmierexperten,

ich möchte gerne eine App entwickeln, die den Datenverkehr zwischen verschiedenen Smart-Home-Geräten in meinem Heimnetz analysieren kann und entsprechende Gegenmaßnahmen, wie z.B. das Blockieren von Datenverkehr, durchführen kann. Man benötigt also einen Zugriff auf die Geräte im eigenen Heimnetz und deren Daten.
Sehr gerne habe ich den Wunsch danach dies plattformunabhängig, also sowohl für Android als auch für iOS zu entwickeln, bin mir aber nicht sicher, ob eine solche App mit einer Cross-Plattform-Entwicklung wie Flutter möglich ist, oder ob man doch auf eine native Entwicklung setzen sollte?
Vielleicht haben einige von euch darin Erfahrung und könnten mir einen guten Rat oder heißen Tipp geben, die allgemeine Literaturrecherche hat leider wenig Erkenntnisse hervorgebracht nur pauschale Aussagen.

Besten Dank für Eure Unterstützung.
LG Dragonfly
 
Soll die App nur für dich sein oder allgemein verfügbar?
Hast du schon Erfahrung mit App-Entwicklung?
 
Dragonfly282 schrieb:
Sehr gerne habe ich den Wunsch danach dies plattformunabhängig, also sowohl für Android als auch für iOS zu entwickeln, bin mir aber nicht sicher, ob eine solche App mit einer Cross-Plattform-Entwicklung wie Flutter möglich ist, oder ob man doch auf eine native Entwicklung setzen sollte?
Die Flutter-Libs, die du so findest, enthalten oft nativen Code. Du könntest also die paar Teile, die nativ sein müssen, einfach nativ schreiben, den Rest aber in Flutter machen.
Je nachdem, was du machst, findest du vielleicht auch gleich die passenden Libs.

Ich bin mir nur nicht sicher, ob diese ganze Idee überhaupt Sinn ergibt.
 
  • Gefällt mir
Reaktionen: bif81
Erst mal eine rein praktische Frage: Wie willst Du den Netzwerkverkehr über eine App überwachen und bei Bedarf blocken? Dazu müsstest Du den kompletten Verkehr über dein Device leiten (können)?
 
  • Gefällt mir
Reaktionen: guzzisti, pseudopseudonym und Fujiyama
Dragonfly282 schrieb:
ich möchte gerne eine App entwickeln, die den Datenverkehr zwischen verschiedenen Smart-Home-Geräten in meinem Heimnetz analysieren kann und entsprechende Gegenmaßnahmen, wie z.B. das Blockieren von Datenverkehr, durchführen kann.
Und wie soll die App das tun? Netzwerkkommunikation fliegt nicht einfach so überall durch das Heimnetz, sondern zB bei Switches nur durch die beteiligten Ports. Und wie sollte die App den Datenverkehr blockieren, selbst wenn sie ihn sähe?

Dragonfly282 schrieb:
Man benötigt also einen Zugriff auf die Geräte im eigenen Heimnetz und deren Daten.
Wie definierst du "Zugriff"? Was soll wie, worauf und womit zugreifen?

Dragonfly282 schrieb:
Sehr gerne habe ich den Wunsch danach dies plattformunabhängig, also sowohl für Android als auch für iOS zu entwickeln
Auch hier wieder: Wie soll ein Android/iOS Gerät überhaupt derartige Analysen durchführen und Maßnahmen ergreifen?



Ich kann deinem Gedankengang offen gestanden nicht folgen. Die Aufgabe, den Datenverkehr zu reglementieren, obliegt einer Firewall. So wie zB die Firewall im Router die Verbindung zwischen Heimnetzwerk und Internet reglementiert und ungefragte Daten aus dem www blockiert, während die erwünschte Daten akzeptiert.

Allerdings funktioniert auch eine Firewall natürlich nur, wenn sie sich innerhalb der Datenverbindung befindet. Im Kontext des Routers wäre das eben die Funktion des Routers als Internetgateway. Ein beliebiger Client innerhalb des Netzwerks hat aber keine Möglichkeiten, den Datenverkehr von anderen Geräten zu blockieren, erst recht nicht, wenn er ihn gar nicht sehen kann.

Vielleicht verstehe ich deine Idee aber auch falsch und du kannst sie näher erläutern? Idealerweise mit etwas mehr technischem Inhalt, weil sich das bisher ehrlich gesagt nach einer durch TikTok, o.ä. inspirierten Schnapsidee anhört, ohne entsprechendes Hintergrundwissen.
 
  • Gefällt mir
Reaktionen: guzzisti
Du müsstest da eine VPN app entwickeln (zumindest unter Android), ich hab keine Ahnung ob das unter iOS geht, aber ich glaube nicht. (siehe die ganzen Adblocker themen für Android).

Die richtige Position für sowas wäre eher eine Firewall durch die alle deine Geräte laufen müssen.
 
Vermutlich bräuchtest du separate Hardware über der das gesammte Datenverkehr läuft bzw umgeleitet wird, mit ner App alleine kann man das nicht machen. Ggf geht es auch mit nem modifizierten Router und deine App.

So gesehen kaum umsetzbar und auch nicht alleine machbar.
 
Die App soll allgemein verfügbar werden, Programmierkenntnisse habe ich bisher "wenig" (Studiumswissen - Java, HTML, CSS, ..).
In meinem Team beschäftige ich mich mit der Oberflächenkonzeption. Das Backend wir sozusagen geliefert.

Der Verkehr wird durch bestimmte Geräte im Heimnetz geleitet und analysiert und mittels der App veranschaulicht. Diese kann dann bestimmte Funktionen ausführen wie das Scannen des Netzwerks, Blocken von Netzwerkverkehr, Updates aufspielen, Darstellen von verfügbaren Geräten im Heimnetz, etc.
 
Du willst den Ubiquiti Unifi Controller nachprogrammieren?

Nimms mir nicht übel, ich glaube du musst noch etwas (viel) mehr Grundlagenarbeit machen, bevor du praktische Fragen stellst ;)
 
Mit wenig Programmierkenntnisse und im falschen Bereich wirst du nicht weit kommen. Selbst viel Leute die gute Kenntnisse und Erfahrung haben werden wohl daran scheitern weil es zu komplex und aufwendig ist.
 
Wenn Du nur ein Frontend brauchst um Daten von einem anderen Gerät anzuzeigen, welches die Arbeit macht, würde ich Richtung Flutter oder React gehen. Nativ ist in dem Bereich Overkill
 
Wie gesagt, ich bin für die Oberflächenprogrammierung (App) zuständig und das Backend + Hardware, die dafür zuständig ist wird mir "geliefert".
In der Art ähnlich wie der Ubiquiti Unifi Controller.

Für mich ist nur entscheidend, ob diese App, die die Funktionen ausführbar machen soll und eine Übersicht bieten soll, was wie im Netz passiert über eine Cross-Plattform-Entwicklung möglich ist oder doch nativ.
 
Dragonfly282 schrieb:
Wie gesagt, ich bin für die Oberflächenprogrammierung (App) zuständig und das Backend + Hardware, die dafür zuständig ist wird mir "geliefert".
Dann ist Flutter eigentlich ein Nobrainer. Kannst du für so ziemlich alles deployen (Android, iOS, Web, Linux, Windows).
 
Irgendwie komisch wenn sich der Frontend-Entwickler darum kümmern muss…

Flutter wäre aber meiner Meinung nach sinnvoll.
 
Dragonfly282 schrieb:
Der Verkehr wird durch bestimmte Geräte im Heimnetz geleitet und analysiert und mittels der App veranschaulicht. Diese kann dann bestimmte Funktionen ausführen wie das Scannen des Netzwerks, Blocken von Netzwerkverkehr, Updates aufspielen, Darstellen von verfügbaren Geräten im Heimnetz, etc.
Das ist aber etwas ganz anderes als das, was du in #1 beschrieben hast. Wenn du zielführende Antworten möchtest, musst du bitte wesentlich deutlicher sein und genauer beschreiben was du überhaupt tun möchtest.


Dragonfly282 schrieb:
Wie gesagt, ich bin für die Oberflächenprogrammierung (App) zuständig und das Backend + Hardware, die dafür zuständig ist wird mir "geliefert".
Dann willst du also keine App programmieren, die Datenverkehr überwacht und blockiert, sondern lediglich eine App als Visualisierung eines bestehenden Systems, welches eben dies tut.
Sprich: Du greifst - mit welchen Mitteln auch immer - die Informationen dieses Überwachungssystems ab und willst sie einfach nur darstellen und ggfs eine Bedienung zu Einstellungen, o.ä. bieten?
 
Raijin schrieb:
Dann willst du also keine App programmieren, die Datenverkehr überwacht und blockiert, sondern lediglich eine App als Visualisierung eines bestehenden Systems, welches eben dies tut.
Sprich: Du greifst - mit welchen Mitteln auch immer - die Informationen dieses Überwachungssystems ab und willst sie einfach nur darstellen und ggfs eine Bedienung zu Einstellungen, o.ä. bieten?
Das ist komplett richtig erläutert, habe mich falsch ausgedrückt, entschuldige bitte.
Ergänzung ()

Alles klar, super. Flutter kann die Daten und Funktionen, die an das Mittelgerät gehen auch einbinden? Oder gibt es bestimmte Restriktionen wegen der Schnittstellen?
 
Dragonfly282 schrieb:
Alles klar, super. Flutter kann die Daten und Funktionen, die an das Mittelgerät gehen auch einbinden? Oder gibt es bestimmte Restriktionen wegen der Schnittstellen?
Wie soll eure Kommunikation denn aussehen? REST?
 
Ich frage mich dann ob das tatsächlich eine App im eigentlichen Sinne werden sollte oder ob da nicht ein Webserver in dem "SmartHomeAnalyseUndBlockierSystem", also dem SHABS (:D), sinnvoller wäre. Platttformunabhängiger als eine Webseite geht's kaum und das System könnte dann von jedem Gerät mit einem Browser ungeachtet des Betriebssystems gesteuert werden.
 
  • Gefällt mir
Reaktionen: guzzisti
Das werde ich noch einmal genauer mit meinem Team klären, erstmal vielen lieben Dank für eure tolle Hilfe! :)
 
Zurück
Oben