Programmiersprache für App-Entwicklung?

7 Antworten

PS: Eine Sprache, welche "Multifunktionsfähig" ist wäre cool, (...)

Da würden mir als Kandidaten C#, C++, JavaScript und TypeScript einfallen. Die Option Webanwendung lasse ich hierbei allerdings einmal außen vor. Wenn du dir so eine doch noch als mobile App vorstellen könntest (sie läuft halt innerhalb eines Webbrowsers), schreib es in die Kommentarleiste.

Mit C# und dem Xamarin-Framework kannst du sowohl Android als auch iOS bedienen. Zudem gibt es verschiedene Tools, die du später für die Spiele-Programmierung nutzen könntest (Unity3D, CryEngine, Godot, MonoGame, ...).

Wenn du dich für C++ entscheidest, solltest du dich zusätzlich mit dem Qt-Framework befassen. In diesem Kontext kannst du dir ebenso QML anschauen und später Felgo nutzen oder stattdessen (erneut) auf eine riesige Auswahl an Tools für die Spieleprogrammierung zurückgreifen (Unreal Engine, SFML, Allegro, ...).

Für JavaScript/TypeScript gibt es Frameworks wie React Native oder Ionic. Spiele kannst du z.B. mit Phaser produzieren.

Am leichtesten sollte dir bei dieser Auswahl ein Start mit C# fallen. Lies bezüglich Lernquellen hier. Beachte auch, dass du einiges an Geduld und Motivation zunächst dafür aufbringen solltest, die Grundlagen von C# zu lernen, ohne bereits mittendrin mit Spielen oder mobilen Apps zu beginnen. Das gilt ebenso für andere Programmiersprachen.

Wenn du mit deiner App später loslegen möchtest, gibt es noch andere wichtige Punkte. Plane deine App, mache dir im Vorfeld Gedanken über die Struktur, das Navigationskonzept / das UI und informiere dich alles, was in die Richtung rechtliche Auflagen dazu geht. Um die App im Google Play oder Apple Store zu veröffentlichen, benötigst du normalerweise jeweils Entwickleraccounts und im Falle von Apple sogar ein Mac OS und die Xcode IDE. Inzwischen gibt es allerdings ebenso Provider (wie Codemagic), die es etwas leichter machen.

Hi, vielleicht macht es Sinn, erst einmal ein Blick auf die unterschiedlichen App-Arten zu werfen. Native Apps werden ausschließlich für ein Betriebssystem entwickelt, entweder für Android oder iOS. Der Code ist nicht portabel zwischen den Betriebssystemen. Native Android Apps werden in Java oder Kotlin geschrieben, native iOS Apps hingegen in Objective C oder Swift. Die Native Apps haben den Vorteil, dass sie sehr gut an das jeweilige Betriebssystem angepasst sind, allerdings muss halt für Android und iOS separat entwickelt werden.

Dann gibt es noch (Progressive) Web Apps. Dies sind quasi Websites, die eine gesonderte mobile Darstellung erlauben und responsive sind, sich also kleineren Displays anpassen. Sie laufen aber zusätzlich auf dem lokalen Speicher des Endgeräts und können auf Schnittstellen des Geräts zugreifen. Hier kommen HTML, CSS, Javascript Frameworks und HTML 5 zum Einsatz.

Hybride Apps sind ein Mix aus Web Apps und Native Apps. Sie werden in HTML, CSS und Javascript gestaltet.

Zudem können Apps in der Form von Cross Platform Frameworks entwickelt werden. Darunter ist die plattformübergreifende Entwicklung von Apps zu verstehen. Hier wird also nicht für jedes Betriebssystem gesondert entwickelt, denn der Quellcode kann meistens für beide Plattformen genutzt werden. Das hat Vorteile, denn vieles muss nicht gesondert für iOS und Android entwickelt werden. Als Programmiersprache wird JavaScript oder TypeScript genutzt.

Vielleicht hilft dir das ein wenig dabei, die richtige Programmiersprache für dich zu finden.

Da kann man sich schon informieren. Es gibt die Möglichkeit der hybriden oder der nativen Entwicklung. Willst du denn für beide Betriebssysteme entwickeln?

Woher ich das weiß:Studium / Ausbildung – Informatik studiert und mit PCs & Technik beschäftigt

Einstieg in die Programmierung mit Sketch?

Für Android können Java oder Kotlin, für iOS Swift oder Objective-C eingesetzt werden. Für Cross-Development gibt es verschiedene Lösungen, bspw. Xamarin (C#) oder Flutter (Dart).

Palladin007  23.05.2020, 00:28

Theoretisch auch alle anderen Sprachen, die im Web üblich sind, einen Browser kriegt man überall ans Laufen und eine Website portiert man sehr leicht.

1