C# oder Kotlin?

Das Ergebnis basiert auf 9 Abstimmungen

Kotlin 56%
C# 33%
Was Anderes 11%

4 Antworten

Vom Fragesteller als hilfreich ausgezeichnet
C#

Wie ich bereits einmal zu dir sagte: 2 Sprachen lernen kann man zwar machen, doch wenn eine beides kann, dann ist es leichter, darauf zurückzugreifen. Deshalb C#. Was Apps betrifft, ist C# sehr mächtig geworden und man findet sich super schnell rein. Vor allem meintest du, wenn ich mich richtig erinnere, dass du HTML kannst, richtig? Blazor Hybrid in C# bietet dir die perfekte Möglichkeit dein UI per HTML und CSS zu machen, während der restliche Code weiterhin C# ist

xXArzokXx 
Fragesteller
 05.09.2023, 08:19

Super aber wie mach ich dann android apps mit c# kannst ud mir eine anleitung schicken?

0
FaTech  05.09.2023, 08:22
@xXArzokXx

Installiere Visual Stusio Community 2022. Woran bist du interessiert? XAML Oberfläche oder HTML und CSS? Wenn HTML und CSS, startest du in Visual Studio ein Blazor Hybrid (wichtig, Hybrid, nicht Server oder WASM) Projekt. Wenn normal natives UI, startest du ein normales MAUI Projekt. Das war's auch schon. Dann kannst du die App bereits bauen und testen und im Code experimentieren.

0
xXArzokXx 
Fragesteller
 05.09.2023, 08:23
@FaTech

ich verstehe ich was html und css mit c# zutuen haben

0
FaTech  05.09.2023, 08:26
@xXArzokXx

Die Oberfläche, das, was du siehst, die muss ja irgendwie entstehen und hier gibt es in C# 2 Möglichkeiten: XAML, wie bei den meisten Sprachen oder eben HTML und CSS, was ich persönlich lieber mag, weil einfacher.

0
Palladin007  05.09.2023, 10:28
@FaTech
gibt es in C# 2 Möglichkeiten: XAML, wie bei den meisten Sprachen oder eben HTML und CSS, was ich persönlich lieber mag, weil einfacher.

Mit MAUI kannst Du das auch in C# entwickeln. Ist unter der Haube das gleiche wie XAML, aber der Code ist eben C#.

Und ich bin XAML-Fan ^^
HTML ist zwar in der Tat einfach, aber CSS finde ich furchtbar...

Ist Geschmackssache.
Keine Geschmackssache ist aber, dass Blazor Hybrid auf dem Ziel-Gerät eine Edge Runtime installiert haben muss.

0
FaTech  05.09.2023, 10:30
@Palladin007

Nur bei Windows. Bei Android ist es der Android WebView und es geht ja um Android

0
Palladin007  05.09.2023, 17:56
@FaTech

Die WebView basiert aber auch auf der Edge Runtime. Bedenke: Ich meine nicht Edge, sondern die Edge Runtime, was ein separates Programm ist und von Edge nur mitgeliefert wird.

Oder hast Du eine Quelle, dass das unter Android nicht benötigt wird?

0
FaTech  05.09.2023, 18:07
@Palladin007

Unter Android kann ich den Android WebView gesondert ansteuern und manipulieren. Ohne Edge. So konnte ich sehen, dass es sich um den Standard WebView von Android handelt. Davon mal abgesehen hört man es auch immer wieder davon. Da du eine Quelle willst, habe ich gerade mal etwas gegooglet und siehe da:

and the web UI components are hosted in a browser view (such as WebKit, Chromium, and Edge WebView2).

Hybrid Blazor apps in the Mobile Blazor Bindings July update - .NET Blog (microsoft.com)

1

Wenn Du sowieso C# brauchst, dann bleibe auch bei C#.

Aber der übliche Tipp vorweg:

Fang erst mit der Konsole an, dann Desktop-Anwendungen und danach erst Handy-Apps. Du verzweifelst sonst nur, da das alles schon ziemlich komplex ist. Gleiches gilt natürlich auch für Unity und ist bei Kotlin ziemlich sicher genauso. Und lies dich vorher in den Framework ein, das erspart auch einige Hürden.

aber ich weiß nicht wie man mit c# android apps programmiert

Drei Möglichkeiten von Microsoft:

Xamarin
Ist alt, abgekündigt und hat Macken, aber es ist erprobt.

MAUI
Der Nachfolger von Xamarin, hat auch Macken, das ist aber normal, bei einem so neuen und komplexen Framework. Aber es hat Potential und ich finde es vom Grundkonzept sehr gut.
Man kann den UI-Code mit XAML (mein Favorit), C# oder HTML/CSS entwickeln. Letzteres ist dann Blazor Hybrid in MAUI und braucht auf den Ziel-Geräten eine Edge-Runtime installiert.

Webseite mit ASP.NET Core
Die läuft dann auf einem Server und jedes Gerät kann sie anzeigen.
Mit Blazor WebAssembly kann die "Haupt-Last" aber auch auf dem Client laufen, ist aber auch komplexer, Blazor Server ist dagegen bedeutend einfacher.

Ich bin kein Fan vom Web-Frontend und ich würde nicht auf alte Pferde setzen, daher wäre meine Wahl MAUI mit XAML.
Die mit Abstand flexibelste Option ist aber die Website, damit hast Du wirklich alle Freiheiten, brauchst aber auch einen Server, der die Website hostet. Wobei man aber dazu sagen muss, dass viele Handy-Apps einen Server dahinter brauchen, ich sehe das daher nicht als Nachteil.

Oder Du schaust dich bei den Community-Projekten um:

Avalonia
Nach dem Vorbild von WPF entwickelt. Viele mögen es, ich gehöre nicht dazu.
Für einfache Projekte ist es sicher gut, aber sobald man komplexere Vorhaben hat, zeigen sich massive Konzept-Schwächen - meine Meinung.

Uno
Habe ich nur das Template aufgebaut und massive Probleme damit gehabt, daher habe ich mein Vorhaben verworfen.

Woher ich das weiß:Berufserfahrung – C#.NET Senior Softwareentwickler
FaTech  05.09.2023, 10:35
Letzteres ist dann Blazor Hybrid in MAUI und braucht auf den Ziel-Geräten eine Edge-Runtime installiert.

Stimmt nur halb. Dies ist bei Windows der Fall. Bei anderen Systemen wird das Hauseigene WebView verwendet. Beispiel: Android → Android WebView

0
Was Anderes

Ich benutze Java, da man diese Sprache auch für viele andere Sachen nutzen kann.

C#

C# schon alleine weil du darin Kenntnisse hast.

Die Experten, haben bereits sehr gute Begründungen abgegeben.

Woher ich das weiß:eigene Erfahrung