Wie werden Apps für mehrere Betriebssysteme programmiert?

6 Antworten

Mehr als "turing-vollständig" geht nicht. Jede turing-vollständige Programmiersprache kann alles, was jede andere turing-vollständige Programmiersprache kann. (Es gibt natürlich Unterschiede in Geschwindigkeit, Bequemlichkeit beim "Entwickeln", Speicherverbrauch etc.)

Auch die Datenbank / das Datenbanksystem muss nicht dasselbe sein. Damit die Apps in Verbindung mit einem Server dasselbe leisten, müssen die Datenbanksysteme dieselben Arten von Daten vorhalten und alle Abfragemöglichkeiten bieten, die von den Apps verwendet werden. Damit man sich plattformübergreifend austauschen kann, müssen natürlich auch die Datenbestände selbst dieselben sein. Da ist es selbstverständlich am einfachsten, wenn man dieselbe Datenbank und auch dasselbe Datenbanksystem verwendet.

Verschiedene Betriebssysteme und ihre Nutzeroberflächen können auf ein und dieselbe Datenbank zugreifen und somit dasselbe abbilden. Einige Apps werden z.b. auch nicht in verschiedenen Programmiersprachen gebaut, sondern sind nur eine Hülle, die die mobile Website der Organisation aufruft. Das ist praktisch in vielerlei Hinsicht.

Ja, es reicht wenn auf dieselben Daten zugegriffen wird. Oft ist der Zugriff über APIs gekapselt, dann werden sogar dieselben APIs benutzt.

Man programmiert es halt 1:1 nach.

Aber ich frage mich, wieso Du von unterschiedlichen Programmiersprachen ausgehst. Es wird zumeist ein und derselbe Quellcode für die verschiedenen Betriebssysteme übersetzt.

https://de.wikipedia.org/wiki/Plattformunabh%C3%A4ngigkeit

Woher ich das weiß:eigene Erfahrung

hauajsjsjs 
Beitragsersteller
 26.01.2023, 21:05

Man muss doch für Appe Swift, für Android ein anderes für Web ein anderes benutzen oder nicht

Ifm001  28.01.2023, 15:40
@hauajsjsjs

Es wird doch in dem Link klar und einfach erklärt, welche Methoden es es zur plattformübergreifenden Applikations-Entwicklung es gibt.

Grundsätzlich muss gegen die API des Betriebssystems programmiert werden. Welches Tool dafür verwendet wird, ist Entscheidung des Entwicklers.

Hier noch ein Link mit einer Übersicht über entsprechende Tools: https://www.collectiveray.com/de/beste-plattform%C3%BCbergreifende-mobile-Entwicklungstools-f%C3%BCr-Unternehmen

BTW: Wenn Du schon Tools nennst, solltest Du dich zumindest mal oberflächlich darüber informiert haben. Swift stammt zwar von Apple, aber damit lässt sich plattformübergreifend programmieren.

Das ist in etwa wie die Frage "wie können Autos unterschiedlicher Hersteller mich trotzdem ans selbe Ziel bringen?".

Weil man grundsätzlich die selben Aufgaben mit unterschiedlichen Programmiersprachen und Techniken lösen kann. So unterschiedlich sind z.B. Java und C# nicht, die Grundkonzepte sind fast identisch.

Und für die Abfrage von Datenbanken gibt es eine vereinheitlichte Abfragesprache