2017-07-14 5 views
2

Ich wollte mit dem Lernen von Xamarin und IOS beginnen. Ein Buch, das ich in seiner BeschreibungC# Native IOS mit .NET

zum Erstellen nativer Android, iOS und Windows Phone-Anwendungen mit C# und .NET hatte.

Dies legte mich komplett ab. Ich dachte, native ist gleichbedeutend mit nicht verwaltetem Code, aber wie kann es dann mit .NET sein?

Kein Zweifel, mein Verständnis dieser Begriffe ist fehlerhaft, also wenn Sie klarstellen, können Sie versuchen, so einfach wie möglich zu sein, um einen Mangel an Wissen zu berücksichtigen.

+1

.NET wird immer in nativen Code auf iOS kompiliert, da JITs nicht zulässig sind. Das kann auch unter Android gemacht werden. –

+0

@SamiKuhmonsen was genau sind JITs und warum würden sie nicht erlaubt sein –

+0

Genauer gesagt, Laufzeit-Code-Generierung ist nicht erlaubt, weil Apple. JIT kompiliert bei Bedarf den Byte-Code in die native Laufzeitumgebung. –

Antwort

1

Am Ende des Tages muss die Anwendung mit dem nativen Code ausgeführt werden. .NET bringt seine APIs und Garbage Collection auf die nativen APIs und agiert als Mittelschicht zwischen der Anwendung und nativen APIs.

Dabei kann es jedoch so ausgeführt werden, dass es nur seine eigene Teilmenge von APIs unterstützt (mit der Möglichkeit, nicht unterstützte APIs aufzurufen) oder dass es auch alle nativen APIs unterstützt. Xamarin unterstützt alle nativen APIs von Anfang an. Deshalb heißt es "nativ".

Die zweite Sache ist, dass Anwendungscode im laufenden Betrieb in native umgewandelt werden kann oder es könnte vorkompiliert werden. Microsoft nennt diesen vorkompilierten Code auch .NET in UWP (https://blogs.windows.com/buildingapps/2015/08/20/net-native-what-it-means-for-universal-windows-platform-uwp-developers/#eZpcAqAsHbO5CMeU.97) und kann mit Xamarin verglichen werden.

+0

Nur um zu klären, sind .NET native und Xamarin beide vorkonfigiert? –

+0

Ja, sollte es so sein. –