[Entscheidungshilfe] Web-App, Desktop-App oder Mobile-App

B

Barock

Gast
– entfernt –
 
Zuletzt bearbeitet von einem Moderator:
Die Frage ist nicht was du gerne programmieren willst, sondern was der Akteur gerne hätte. Also z.B. wenn die Daten mobil gesammelt werden, irgendeine Schnitzeljagd oder so was, dann sollte alles mobil zugreifbar sein, d.h. wohl Webzugang wenn du mobile Apps nicht willst.
Sind es Daten "von zuhause" ist wohl Desktop besser weil man da eine große Tastatur und großen Bildschirm hat.
 
Alles, was du als Nachteile einer Web-App aufgezählt hast, stimmt nicht. Da solltest du nochmal ein wenig recherchieren.
 
Cross-Platform wäre das Stichwort.

1. Möglichkeit: Web-App
Hier bedeutet Web-App eben nicht Webpage. Man lädt sich eine App runter. Diese ist mit Web-Techniken gestaltet. Ein gutes Entwicklungswerkzeug für solche Apps ist Cordova/ionic.

2. Möglichkeit: nativ
Xamarin.ios, Xamarin.Droid, Xamarin.Uwp kombiniert mit einer gemeinsamen Business-Logic etc. Die Oberflächen wären jeweils einzeln zu entwickeln. IDE: Visual Studio + Xamarin oder Xamarin Studio

3. Möglichkeit: nativ
Xamarin.Forms: Idealfall* -> eine Codebasis wird zu allen Betriebssystemen (iOS, Android, WinPhone, Win10(UWP), Win8, Win8.1) kompiliert. IDE: Visual Studio + Xamarin oder Xamarin Studio.
* Es kommt immer wieder vor, dass man Custom Controls schreiben muss, weil eine OS-Version noch nicht so schlau war. Meistens alte Androidversionen.

Ein Nachteil wäre hier, dass man für iOS nur mit einem Mac (im LAN) -legal- entwickeln kann. Auf diesem muss dann die iOS-App kompiliert werden. Böse Menschen nutzen unter Windows eine VM ;)

EDIT:
Hier ist noch ein kurzer aber guter Artikel dazu: klick
 
Zuletzt bearbeitet:
Ich würde sagen:
Solange es keinen Grund gegen eine Webseite gibt, immer eine Webseite bauen.

Welche Gründe gegen Webseiten gibt es:
- Funktionalität fehlt (z.B. voller Dateisystemzugriff, Zugriff auf externe Geräte, Netzwerksockets, ...)
- Leistung fehlt (z.B. irgendwelche Rechenvorgänge, die in JS zu langsam wären, Videokompression/...)
- Offlinefunktionalität

Warum:
- Läuft auf allen Plattformen.
- Hält sich selber aktuell.
- (persönlich) ich hasse es, wenn ich für etwas, was ich nicht dauerhaft nutze, ein extra Programm runterladen/installieren/aktualisieren muss.

Web-App:
Da bin ich geteilter Meinung, vieles lässt sich genauso gut mit Xamarin/... umsetzen, ist dann aber flexibler (m.M. nach) und performanten. 90 % aller Webapps lassen sich auch als Webseite umsetzen. Und ne Webseite erreicht auch alle Desktop-Nutzer.

App:
Für viele Projekte einfach völliger Overkill. Wenn man sie aber braucht und ne gute Idee hat, kann man echt coole Dinge machen.
 
Gründe gegen Webseiten:
sehr sehr langsam, wegen Roundtrip. Da muss man dann mit Javascript arbeiten um das auch nur ein bisschen zu entschärfen was seine eigene Hölle mitbringt weil jeder Browser es anders haben will.
 
Barock schrieb:
Guten Abend,

Web-App

Vorteile
  • generische Lösung --> läuft im Web-Browser, muss somit weder heruntergeladen noch installiert werden und ist auf nahezu jeder Plattform verfügbar
  • Verschlüsselung durch Zertifikate geregelt --> keine eigene Implementierung notwendig
  • könnte im bestehenden Server untergebracht werden

Nachteile
  • Der Entwurf der GUI würde wohl mit HTML, CSS und JS erfolgen. Das stelle ich mir als Desktop-(Hobby)Entwickler unbequem vor.
  • Das Zertifikat könnte Geld kosten.
  • Ich müsste mich vllt. in PHP einarbeiten oder mit CGI-Skripten beschäftigen.
  • Der Nutzer ist auf eine durchgehende Internetverbindung angewiesen und hätte keine Möglichkeit, schon offline Einträge zu tätigen.

Die Nachteile sind ja wohl ein Witz. Ok, wenn dir HTML, CSS nicht gefallen ist das Geschmackssache. Diese Technologien sind jedoch essentiell und man sollte sie beherrschen. Weiterhin:

- Zertifikat kostenlos: https://letsencrypt.org/
- PHP musst du nicht machen, Python, java, C#, JavaScript, Swift etc....es gibt so viele Sprachen mit denen du das Backend machen kannst - selbst die Sprachen, mit denen du die Mobil App / Desktop App machen müsstest, könntest du nehmen
- Man benötigt keine durchgehende Inet Verbindung: https://www.html5rocks.com/en/features/offline bzw. Progressive Web Apps googlen

Wenn dir JS nicht gefällt schau dir TypeScript an: https://www.typescriptlang.org/
 
– entfernt –
 
Zuletzt bearbeitet von einem Moderator:
– entfernt –
 
Zuletzt bearbeitet von einem Moderator:
Zurück
Oben