Anwendungstypen für Clients

Christoph Knabe, 2016-05-02
  1. nativ: Installation und Ausführung direkt auf der Plattform

    Nachteile: Mehrfacher Programmieraufwand

    1. Desktop: Viel Ressourcen, freie Wahl der Programmiersprache
      1. Java | Scala
      2. C#
      3. C++
    2. mobil: Weniger Ressourcen, eingeschränkte Wahl der Programmiersprache
      1. Android: Java | Scala
      2. iOS: Objective C | Swift
      3. Windows CE: C#
  2. portabel: Installation oder Ausführung indirekt auf der Zielplattform

    Nachteile: Eingeschränkter Zugriff auf plattformspezifische Dienste wie GPS, Kamera

    1. interpretiert: Ausführung durch einen Interpreter auf der Zielplattform

      Nachteil: Nicht über Plattform-Shop installierbar

      1. HTML+JavaScript durch Browser
      2. Java-Bytecode durch Java-WebStart
    2. präkompiliert: Entwicklerseitige Kompilation, Ausführung auf Client
      1. GWT|Vaadin: Java → JavaScript interpretiert durch Browser
      2. Scala.js: Scala → JavaScript interpretiert durch Browser
      3. Haxe: ActionScript → JavaScript|ActionScript3|PHP|C++|Java|C#|Python-Quellcode → Zielplattform-Binärcode
  3. hybrid: Portabler Code mit VM → native Applikation
    1. Apache Cordova: HTML+JavaScript + nativer Browser → App
    2. Oracle Mobile Application Framework (MAF): HTML+JavaScript+Java + Mini-JVM → App