UNSER WÖRTERBUCH DER
APP-ENTWICKLUNG
Hier entsteht unser Wörterbuch der App- Entwicklung als "work in progress" und als exklusiver Service für Sie. Wöchentlich kommen Beiträge hinzu und gerne nehmen wir Ihre Vorschläge entgegen. Schreiben Sie uns doch einfach an info@zelfi.com und sagen uns, welchen Begriff wir als nächstes erklären sollen. |
A
Der Begriff geht auf Kent Beck und sein Forschungsteam sowie das von ihm entworfene „Agile Manifesto“ (s.u.) zurück, das 2001 veröffentlicht wurde. Es enthält die 12 Prinzipien der agilen Softwareentwicklung. Die wichtigsten sind die Zufriedenstellung des Kunden durch kontinuierliche Auslieferung funktionierender Software sowie die Fähigkeit im Entwicklungsprozess auf Veränderungen reagieren zu können und dem Kunden so einen Wettbewerbsvorteil zur verschaffen. Ebenfalls zentral ist die Selbstorganisation der Entwicklungsteams, ihre regelmäßige Selbst-Reflexion, direkte Kommunikation sowie die Vermeidung unnötiger Arbeit. Die Beibehaltung eines gleichmäßigen Tempos in der Entwicklung ist zudem anzustreben. Zu den bekanntesten Agilen Frameworks gehört Scrum, Kanban und Extreme Programming. Scrum gilt heute als am weitesten verbreitet.
Das "Agile Manifesto" finden Sie unter: http://agilemanifesto.org/iso/de/principles.html
Dieser ist Brot und Butter für alle mobile Entwickler. Er ist ein wichtiges Werkzeug, um auf das Verhalten der Nutzer reagieren zu können und dessen User Experience zu verbessern. Dies zum Beispiel dann, wenn die App einmal längere Zeit im Hintergrund ist und wieder aufgerufen wird.
Eine Activity verwaltet dabei einen Bildschirm bzw. Screen. Klassischerweise stellt eine Activity also einen Bildschirm dar. Eine App besteht damit aus einer Vielzahl loser Activities, die alle dem unten dargestellten Zyklus folgen. Bei jedem Aufrufen einer Activity muss das User Interface (UI) dafür erstellt oder etwas von einem Server heruntergeladen werden, um bestimmte Informationen anzuzeigen. Sobald ich swipe, den Homebutton drücke oder zu einer anderen App switche, rückt die letzte Activity in den Hintergrund und geht damit in onPause. Trage ich Daten auf einem Screen einer App ein und wechsle dann in eine andere App, kann der Entwickler im Rahmen der onPause-Methode die Daten speichern, damit ich beim Wideraufrufen der ersten Anwendung, die zwischengespeicherten Inhalte wieder angezeigt bekomme- dies wäre dann onResume. Interessanterweise ist ein Wechsel des Nutzers von horizontalen zu vertikalen Screens immer mit einer Beendigung der Activity verbunden, denn das UI muss neu geladen werden und bedarf der onCreate und onStart Methode.
Anders gesagt: Sind eingetragene Daten auf einem Screen einer App nach kurzem Wechsel auf eine andere Anwendung nicht mehr aufrufbar, so hat der Entwickler den Android Activity Lifecycle nicht (ausreichend) berücksichtig.
Das iOS-seitige Äquivalent heißt UIViewController Lifecycle.
Eine API, oder Programmierschnittstelle, erlaubt es zwei Softwareprogrammen miteinander zu kommunizieren. Daher können durch Bereitstellung einer API Funktionalitäten einer Software für eine ganz andere nutzbar gemacht werden. Man unterscheidet daher private, public oder Partner APIs. Während private APIs nur für den internen Gebrauch im Unternehmen genutzt werden, werden public APIs der breiten Öffentlichkeit zur Verfügung gestellt. Andere Entwickler können dadurch auf Funktionalitäten der eigenen Software zugreifen. Auf Partner APIs können nur bestimmte Nutzer zugreifen, mit denen die Datennutzung vereinbart wurde.
Neben REST ist die bekannteste API Architektur SOAP (Simple Object Access Protocol)- es gibt jedoch noch viele andere. Steigender Bekanntheit erfreut sich darüber hinaus der von Facebook entwickelte GraphQL. Zwischen den verschiedenen Architekturen gibt es Vor- und Nachteile. Die REST API ist z.B. einfacher in der Handhabung, die SOAP ist dafür sicherer und man kann die ankommenden Daten (xmls) einfacher auf Richtigkeit überprüfen.
Der Begriff App kommt von Application und bezeichnet ganz allgemein (Computer)Programme, die nützliche, nicht systemtechnische Funktionen für den Nutzer erfüllen. Im mobilen Bereich ist der Begriff mobile App gebräuchlich, um Programme auf Mobilgeräten zu bezeichnen. Im deutschen Sprachraum steht der Begriff App alleine oftmals synonym für Anwendungssoftware fürr Smartphones und Tablets. Weitere Unterteilungen von mobile Apps erfolgen in native und plattformunabhängige Apps (Web-Apps, hybride Apps und Cross-Plattform Apps).
C
Bei Cross-Plattform Apps wird der Quellcode zu einem Großteil plattformübergreifend genutzt und verarbeitet. Er wird außerdem in einer Framework-spezifischen Sprache geschrieben, wie Javascript und/oder Typescript bei React Native und Ionic oder C# in Xamarin. Mit Hilfe dieser plattformübergreifenden Frameworks wie Xamarin und React Native von Facebook wird die Sprache nachher in das dazugehörige Betriebssystem kompiliert. Die Apps werden also in einer geteilten Programmiersprache geschrieben und dann in die nativen Systeme übersetzt. Bei der Entwicklung werden jedoch die nativen API Schnittstellen verwendet. Mit Cross-Plattform Apps können Apps also für Android und iOS sowie Windows mit nur einem Quellcode entwickelt werden.
Zunehmende Bekanntheit erlangt außerdem das Flutter SDK von Google. Mit der Programmiersprache Dart können hiermit Apps für Android und iOS programmiert werden.
Aus Laien-Sicht ist es oft nicht ersichtlich, ob eine App nativ oder als Cross-Plattform App entwickelt wurde, denn sie werden auch aus den App Stores heruntergeladen und unterscheiden sich optisch nicht zwingend. Leider werden die beiden Begriffe hybride App und Cross-Plattform App oft synonym verwendet. Es lässt sich jedoch sagen, dass sich die Cross-Plattform von der Hybriden dadurch unterscheidet, dass die Hybride primär HTML5-basiert ist und eine Mischung aus nativen und webbasierten Anwendungen darstellt, während die Cross-Plattform dazu neigt, ausschließlich mit nativen Konzepten zu arbeiten.
Nachteile der Cross-Plattform Entwicklung sind verminderte Performance, die Abhängigkeit von Funktionsaktualisierungen der Framework Anbieter sowie hoher Aufwand beim Programmieren.
D
Was sagen unsere Entwickler zu Dart?
Dart ist eine objektorientierte Programmiersprache von Google und existiert bereits seit 2013. Wie der Name vermuten lässt war Schnelligkeit und Leistungsfähigkeit eines der Ziele für diese neue Programmiersprache. Dart gilt als leicht erlernbar und ist insbesondere für internetfähige Geräte entwickelt worden. Ziel war es unter anderem Probleme von Javascript mit dieser neuen Programmiersprache zu lösen.
Im Bereich der App Entwicklung wird Dart zusammen mit dem Software Development Kit Flutter zur Entwicklung von Cross-Plattform Anwendungen genutzt.
„Es ist meiner Meinung nach schneller. Manchmal gibt es Dienste wie z.B. das Abhören eines Servers oder Benachrichtigungen, die durch einfache Funktionen leicht zu realisieren sind. Und mit Dart können wir in einer Datei eine Reihe von Funktionen definieren, die z. B. einen Server abhört und ein bestimmtes Ergebnis liefert. also mit anderen Worten einfach und effizient.“
Cesaire Nguefack, Flutter Entwickler
F
Flutter ist ein Software Development Kit (SDK), das 2018 von Google als open-source Anwendung veröffentlich wurde. Der Code ist damit öffentlich einsehbar, kann genutzt aber auch verändert werden. Als Baukastensystem verfügt das SDK über Schablonen und Werkzeuge, die zur Entwicklung von Cross-Plattform Apps für iOS und Android genutzt werden können. Darüber hinaus können aber auch Anwendungen für Windows, Desktop und Web geschrieben werden.
Die Framework-spezifische Sprache ist hier Dart, welche nachher in das dazugehörige Betriebssystem kompiliert wird. Die Apps werden also in einer geteilten Programmiersprache geschrieben und dann in die nativen Systeme übersetzt. Wie bei Cross-Plattform Apps üblich, bedarf es also nur einer Code-Basis. Flutter enthält darüber hinaus viele Komponenten, die ansonsten extra programmiert werden müssten wie z.B. Buttons. Eine Besonderheit ist zudem die Funktion Hot reload, die Änderungen, die der Entwickler am Code vornimmt, direkt sichtbar werden lässt. Ein kompletter Neustart der App ist nicht notwendig, sondern es werden nur die geänderten Dateien aktualisiert.
Flutter folgt außerdem einer „Alles ist ein Widget“ Philosophie. Flutter kann daher als ein Framework bezeichnet werden, das auf einer Widget-Kompositionseinheit basiert. Widgets sind die Bausteine der Benutzeroberfläche einer Flutter-Anwendung, und jedes Widget ist eine unveränderliche Deklaration eines Teils der Benutzeroberfläche. Widgets bestehen in der Regel aus vielen anderen kleinen, einmalig verwendbaren Widgets, die zusammen mächtige Effekte auf der Benutzeroberfläche erzeugen.
H
Hybride Apps sind im Wesentlichen Webseiten Code, der von Frameworks (wie z.b. Apache Cordova) in native Container verpackt wurde und dann als App läuft. Sie stellen damit eine Mischform aus nativen Apps und Web-Apps dar. Wie native Apps sind sie in den App-Stores zu finden und müssen heruntergeladen werden. Sie können wie native Apps auf Hardware- und Softwarekomponenten zugreifen (z.B. Kontakte, Kamera, GPS etc.) sind aber in Webtechnologien wie HTML, CSS und Javascript geschrieben und können plattform- und geräteunabhängig genutzt werden, da der Quellcode plattformübergreifend verarbeitet werden kann. Hybrid-Apps laufen für den Nutzer nicht sichtbar im plattformspezifischen Webbrowser des Endgeräts (z.B. Chrome bei Google Pixel-Geräten oder Safari bei iPhones).
Nachteile sind längere Ladezeiten und verminderte Rechenleistung sowie die mangelnde Ausnutzung plattformspezifischer Designelemente.
I
IDEs (integrated development environment) zu Deutsch Entwicklungsumgebungen gibt es seit den 80er Jahren.
Mit der Erfindung dieser integrierten Entwicklungsumgebung konnte man nun die Funktionen Editor, Compiler, Linker und Debugger, die vorher als getrennte Produkte angeboten wurden, nun alle von einem Programm aus nutzen.
Entwicklungsumgebungen können verschiedene Tools enthalten, darunter einen Texteditor, Quelltextformatierungsfunktion, Debugger (Tool zum Diagnostizieren und Auffinden von Bugs), Compiler (übersetzt höhere Programmiersprachen in Maschinencode), Linker (Verbinden von Programmmodulen), Gui Builder (grafische Elemente einfügen, die nicht erst programmiert werden müssen)….etc.
Heute gibt es eine Vielzahl an verschiedenen Entwicklungsumgebungen, von denen manche auf die Nutzung einer Programmiersprache fokussiert sind, andere auf das Ergebnis, also speziell für Games, Webanwendungen etc.
Für die native App Entwicklung relevant sind für iOS Apples eigene Entwicklungsumgebung Xcode sowie Android Studio für Android Apps.
Gemeinsam ist den Entwicklungsumgebungen, dass sie die Entwickler durch den schnellen Zugriff auf wichtige Funktionen entlasten. Häufig wiederkehrende und formale Arbeitsschritte können schneller abgearbeitet werden und ermöglichen die Konzentration auf das eigentliche Programmieren.
J
Was sagen unsere Entwickler über Java?
Java ist eine objektorientierte Programmiersprache und existiert seit 1995. Erfunden wurde sie von James Gosling. Sie gehört zu den am meisten genutzten Programmiersprachen.
Mit Hilfe des Entwicklungswerkzeugs JDK (Java Development Kit) und der Sprache Java können Programme geschrieben werden. Mit Hilfe der Laufzeitumgebung (Java Runtime Environment JRE) werden diese dann ausgeführt. Die Laufzeitumgebung ermöglicht eine plattformunabhängige Funktionsweise (Linux, mac OS oder Windows u.a. sind kein Problem) sofern diese installiert ist.
Im Bereich der App-Entwicklung wird Java vor allem für das Programmieren von Apps für Android genutzt, zusammen mit der Programmiersprache Kotlin. Jede Sprache weist hierbei ihre eigenen Vor- und Nachteile auf. Anstelle der JRE Laufzeitumgebung wird für die Ausführung des Quellcodes auf Smartphones aktuell die Android Runtime (ART) genutzt.
„Im Bereich der App-Entwicklung gibt es keinen technischen Vorteil von Java gegenüber Kotlin. Allerdings gibt es noch Unternehmen, die auf die größere Verbreitung von Java setzen bzw. auf die höhere Anzahl an Consultants, die Java können.“ Oliver Bienek, Android Entwickler
K
Kanban kommt aus dem Japanischen und bedeutet Signalkarte. Ursprünglich wurde dieses agile Framework für die Produktion des Autoherstellers Toyota entwickelt. Im Bereich der Softwareentwicklung steht ein fließender Prozess im Zentrum, bei dem die einzelnen Arbeitspakete auf Karten festgehalten werden und ihr Durchlauf für alle transparent ist. Hierfür wird eine Kanban Tafel genutzt, auf der alle gerade in Bearbeitung befindlichen sowie erledigten Arbeitspakete visualisiert werden. Wichtig ist auch die Beachtung des Pull Prinzips, bei dem z.B. ein Tester kein Arbeitspaket von den Entwicklern erhält, sondern sich dieses selber zieht, sobald sein aktuelles Arbeitspaket beendet ist. Auch die Limitierung der sog. WIPs (Works in progress) ist bei Kanban entscheidend. Ist die festgelegte Anzahl der Tickets erreicht, so muss ein Entwickler zunächst bei den Kollegen unterstützen und beim Abarbeiten von Tickets helfen, um ein neues Arbeitspaket ziehen zu können.
Kanban enthält oftmals Elemente von Scrum; so gibt es zwar keine Sprints, aber Retrospektiven und oder Reviews sind hier ebenfalls gängig, ebenso die Durchführung eines Daily.
Was sagen unsere Entwickler über Kotlin?
Kotlin ist eine objektorientierte Programmiersprache, die es seit 2011 gibt und die von der Firma JetBrains entwickelt wurde. Kotlin und Java Code sind interoperabel, das heißt eine Komponente, die in Kotlin geschrieben ist, kann frei auf Funktionen einer anderen Komponente zugreifen, die in Java geschrieben ist.
Kotlin Code kann außerdem zu Bytecode für die Java Virtual Machine (JVM), JavaScript-Quellcode oder auch direkt in Maschinencode umgewandelt werden, dadurch ist die Sprache grundsätzlich für die Entwicklung von Programmen für verschiedene Plattformen einsetzbar.
In Bezug auf die App Entwicklung wurde bei der Google I/O Entwicklerkonferenz 2017 Kotlin als Android Entwicklungssprache, der bisher genutzten Sprache Java, gleichgestellt. Bei der Goolge I/O 2019 dann wurde Kotlin als bevorzugte Entwicklungssprache benannt. Neue Projekte sollen seitdem bevorzugt in Kotlin geschrieben werden. Google selbst richtet sich bei der Entwicklung neuer Tools zwar vorrangig an Kotlin Entwickler, Support für die Nutzung von APIs in Java gibt es aber weiterhin.
„Grundsätzlich würde ich zumindest in Android nie mehr Java über Kotlin wählen. Kotlin Code ist in der Regel kürzer und bietet ein paar technische Feinheiten, die Java einfach nicht hat.Googles Devise selbst ist "Kotlin First". Das heißt sie behalten sich vor, dass gewisse neue Features erst mit Verzug in Java bereitgestellt werden oder vielleicht sogar überhaupt nicht implementiert werden.“
Oliver Bienek, Android Entwickler
„Kotlin hat einen schlankeren Code als Java. Wenn man z.B. eine Klasse "Person" in Java schreibt, braucht man je nachdem welche Eigenschaften die Person alles hat (Name, Alter,...) mindestens 6 Zeilen Code pro Eigenschaft. Kotlin macht das quasi automatisch und man muss den Code nicht Schreiben.“
Yves Weilandt, Android Entwickler
N
Native Apps sind speziell für die Zielplattform (Android, iOS) entwickelte Apps. Neben den plattformspezifischen Software Development Kits (SDK) und den jeweiligen Entwicklungsumgebungen (Android Studio oder Xcode), werden native Apps je nach Plattform mit Hilfe unterschiedlicher Programmiersprachen geschrieben (Java und Kotlin für Android, Objective-C und Swift für iOS sowie C#, C und C++ für Microsoft).
Eine für Android entwickelte native App, ist somit auf einem iPhone nicht nutzbar, sondern muss gesondert für iOS nativ entwickelt werden.
Vorteile der nativen App Entwicklung sind unter anderen die problemlose Nutzung aller Systemkomponenten (Kamera, Sensoren, usw.), bessere Optimierungsmöglichkeiten bei ressourcenintensiven Anwendungen sowie
schnellere Nutzungsmöglichkeiten von neuen System Features.
O
Was sagen unsere Entwickler zu Objective-C?
Objective-C ist eine objektorientierte Programmiersprache. Sie wurde 1986 von Tom Love and Brad Cox veröffentlicht und kann als Erweiterung der Sprache C verstanden werden. Bekannt wurde die Sprache durch die Nutzung der Firma Apple und ihres Vorläufers NeXT (amerikanisches Computer- und Software-Unternehmen, das von Steve Jobs mitgegründet wurde). Apple unterstützt vor allem die Nutzung von Objective-C für MacOS, iOS und die diversen API sowie Bibliotheken bis zur Einführung von Swift im Jahr 2014. Seitdem werden beide Sprachen unterstützt. Apple greift dabei weiterhin auf Objective- C zu, entwickelt diese aber nicht mehr weiter. Hinzukommt, dass immer weniger Entwickler Objective-C beherrschen bzw. nutzen.
„Vorteile von Nutzung von Objective-C gibt es: wenn man die Methoden richtig benennt ist diese Sprache sehr gut lesbar und manchmal liest sich der Code, wie ein Stück Text mit Nomen, Pronomen, Verben etc. Bei allen anderen Sachen (außer Performance - da haben beide Stärken und Schwächen) ist Swift besser."
Roman Sorokin, iOS Entwickler
Unter objektorientierter Programmierung versteht man in der Softwareentwicklung die Beschreibung eines Systems, durch die Darstellung kooperierender Objekte. Diese Objekte haben Eigenschaften und Methoden und werden in Klassen zusammengefasst. Ziel der objektorientierten Programmierung ist die Reduzierung von Komplexität. Die für die native App Entwicklung genutzten Programmiersprachen sind allesamt objektorientierte Sprachen. Hierunter fallen z.B. Objective-C, Swift, Kotlin und Java.
P
Pair Programming gehört zu den agilen Arbeitsmethoden und beschreibt das gemeinsame Programmieren zweier Entwickler, die bestenfalls nebeneinandersitzen und verschiedene Rollen einnehmen. In der Regel gibt es den Navigator und den Piloten. Während der Pilot den Code schreibt, prüft der Navigator selbigen und denkt über Verbesserungen nach oder deckt Fehler auf. Die Rollen werden nicht nur regelmäßig getauscht, sondern auch die Zweier-Teams wechseln immer wieder durch. Es hat sich gezeigt, dass hierdurch kaum Mehrkosten entstehen, da durch das Vier-Augen Prinzip Fehler schneller erkannt werden und höhere Kosten im Nachhinein vermieden werden können. Das Wissen verteilt sich so im gesamten Projetteam gleichmäßig und es stehen keine Wissensinseln. Das Pair Programming gehört zu den Methoden der agilen Softwareentwicklung. Ohne Pair Programming erfolgt die Fehlererkennung hauptsächlich über die regelmäßig stattfindenden Code Reviews anderer Entwickler Kollegen und/oder die Testabteilungen.
Unter einer Programmiersprache versteht man eine formale Sprache zum Ausdrücken von Datenstrukturen und Algorithmen, die von einem Computer umgesetzt werden können. Während für die ersten Computer noch rein maschinennahe Sprache in Binärcode (Nullen und Einsen) verwendet werden musste, gibt es heute eine Vielzahl an maschinenunabhängigen Sprachen, die auch als höhere Programmiersprachen bezeichnet werden. Die Befehle dieser Sprachen werden automatisiert in Maschinensprache übersetzt. Die für die native App Entwicklung genutzten Programmiersprachen sind allesamt objektorientierte Sprachen. Hierunter fallen z.B. Objective-C, Swift, Kotlin und Java.
S
Scrum gehört inzwischen zu dem am weitesten verbreiteten agilen Framework. Wichtig sind hierbei drei Positionen: 1. Der Product Owner (PO), der für den wirtschaftlichen Erfolg des Produkts zuständig ist. Er stimmt sich hierfür mit den Stakeholdern/dem Kunden ab und führt das Product Backlog, wo die genauen Produkteigenschaften und Anforderungen festgehalten und regelmäßig aktualisiert werden. Er bestimmt die Reihenfolge der Implementierung. 2. Das eigentliche Scrum Team besteht aus Entwicklern, aber auch Architekt(en), Tester(n), Dokumentations- und Datenbankexperte(n). Das Scrum Team organisiert sich selbst und bestimmt, wie es Anforderungen aus dem Backlog umsetzt. 3. Der Scrum Master steht dem Scrum Team als Coach zur Seite, achtet auf die Umsetzung der Scrum Regeln und moderiert Meetings wie die Sprint Retrospektive und/oder das Sprint Planning. Ebenfalls zentral ist ein kurzes, täglich stattfindendes Daily, wo die eignen Fortschritte seit dem letzten Daily und Vorhaben bis zum nächsten von jedem kurz erläutert werden.
Ein Software Development Kit (SDK) beinhaltet Hilfsmittel wie Tools und Bibliotheken, die es einem Entwickler vereinfachen sollen, mit einer speziellen Sprache oder für ein spezielles Betriebssystem Software zu entwickeln. Neben vielen anderen Komponenten stellt das SDK z.B. die Schnittstellen bereit, über die auf Quellcode Ebene eine Anwendung angebunden werden kann. Neben dieser API (application programming interface) hält das SDK umfangreiche Dokumentationen zur Nutzung derselben bereit. Editoren, Bibliotheken, Compiler, Debugger, Treiber, Netzwerkprotokolle und Testprojekte können ebenfalls enthalten sein. Die für die App Entwicklung gängigsten SDKs sind das Java Development Kit (JDK), das Android Development Kit und das iOS SDK.
Was sagen unsere Entwickler zu Swift?
Swift ist eine objektorientierte Programmiersprache. Sie wurde von der Firma Apple Inc. entwickelt und kann für die Softwareentwicklung aller Apple Produkte genutzt werden (iOS, macOS, tvOS, watchOS, iPadOS etc.). Bei der jährlich von Apple veranstalteten Worldwide Developer Conference WWDC wurde Swift erstmals im Jahr 2014 vorgestellt. Laut dem Chefarchitekten Chris Lattner sollte Swift jedoch nur eine Ergänzung zu Objective-C sein, de fatco gibt es aber immer weniger Entwickler, die Objective-C beherrschen. Zum Standard wird immer mehr die Nutzung von Swift. Fast jährlich kommen neue Versionen von Swift heraus, die u.a. jeweils verbesserte Syntax und neue Methoden ermöglichen. Die aktuelle Version ist Swift 5.2 (Stand 01/2021)
„Swift kam für mich direkt nach Java im Studium. Es ist eine sehr schlanke Sprache und Type-safety ist im Vergleich der größte Pluspunkt. Dies führt zu hoher Betriebs- und Informationssicherheit." Jonas Sailer, iOS Entwickler
W
Web-Apps sind Webseiten, die nicht nur Informationen anzeigen (wie z.B. Wikipedia oder normale Unternehmenswebsites), sondern die Interaktionen erfordern, wie normale Apps. Web-Apps werden also nicht wie native Apps aus den App Stores heruntergeladen und installiert, sondern die Nutzung erfolgt über den Webbrowser. Dies bedeutet, dass Web-Apps plattformunabhängig genutzt werden können, egal ob Android oder iOS vorliegt. Für die Entwicklung von Web-Apps wird oft Javascript in Verbindung mit HTML und CSS genutzt, generell ist hier aber der Einsatz von vielen Programmiersprachen möglich. Online-Shops und Email-Clients sind Beispiele für Web-Apps.
Nachteile von Web-Apps liegen beim höheren Datenverbrauch und darin, dass sie offline oft nicht genutzt werden können. Durch Caching (interner Speicher) ist die offline Nutzung allerdings vermehrt möglich. Web-Apps können nur eingeschränkt auf Hardware und Software spezifische Komponenten (z.B. Kontakte oder Dateien) zugreifen.
Wir sind die Zelfi AG und Sie finden uns in der Bahnhofstr. 15 in
55116 Mainz.
Rufen Sie uns an unter der 06131 - 3272605
oder schreiben Sie uns eine E-Mail an info@zelfi.com