Mono bringt C # auf iPhone und Wii

Ursprünglicher Autor: Ryan Paul, http://arstechnica.com/authors/ryan-paul/
  • Übersetzung
Mit Mono, einer Open-Source-Implementierung der .NET-Plattform, wurden Spiele für das iPhone und die Wii entwickelt. Sehen wir uns an, wie die statische Kompilierung es Mono-Apps ermöglicht hat, die Apple-Anforderungen für Apps zu erfüllen, die im App Store gehostet werden.

Mono, eine Open-Source-Implementierung der .NET-Plattform, hat die Entwicklungstechnologie von Microsoft auf einige unerwartete Plattformen gebracht - iPhone, Android und Wii.

Laut dem führenden Mono-Entwickler von Novell, Miguel de Icaz, werden eine Reihe von Anwendungen im Apple App Store mit Mono entwickelt. Dies wird diejenigen überraschen, die mit den Einschränkungen der Apple-Richtlinien für die Aufnahme von Anwendungen in den AppStore vertraut sind, da Apple die Verwendung von interpretierten Sprachen und Laufzeiten von Drittanbietern für Entwickler stark einschränkt. Diese Einschränkungen schließen die Verwendung von Plattformen wie .NET und Java aus.

Static Compilation ist eine Finte mit Ihren Ohren, mit der Sie Mono auf Ihrem iPhone ausführen können. Mit Mono können Entwickler die Vorkompilierung verwenden(AOT, AOT = AOT = AOT = AOT = AOT = AOT = AOT = AOT = AOT = AOT = AOT = AOT = AOT = AOT = AOT = AOT = AOT = AOT = AOT = AOT = AOT = AOT Dies bedeutet, dass die Anwendung die sofortige Kompilierung (Just-in-Time, JIT) nicht verwendet, um zur Laufzeit systemeigenen Code zu generieren.

Darüber hinaus gibt es eine Reihe von Mono-Tricks und -Chips, mit denen Entwickler die Größe von Mono-Anwendungen und -Baugruppen für die Bereitstellung auf Mobilgeräten reduzieren können. Mit dem Mono-Linker können Sie die Größe von Bibliotheken reduzieren, die JIT und die Engine zum Generieren von Code aus ausführbaren Anwendungen weglassen und CIL-Befehle aus Assemblys ausschneiden.

Die statische Kompilierung ermöglicht das Erstellen von von Apple genehmigten iPhone-Apps mit Mono, weist jedoch bestimmte Einschränkungen auf. Generics und dynamisch generierter Code werden nicht unterstützt, wenn die AOT-Kompilierung angewendet wird.

Es gibt immer noch große Schwierigkeiten, die Cross-Kompilierung für das iPhone in Mono zu ermöglichen, aber laut Miguel de Icaza können Entwickler, die jetzt anfangen möchten, Unity verwenden , ein kommerzielles Entwicklungsframework von Drittanbietern für 3D-Spiele, das auf Mono basiert. Unity unterstützt mehrere Plattformen, einschließlich iPhone und Wii, und verfügt über eine eigene integrierte Mono-Umgebung mit Cross-Compilation-Unterstützung für verschiedene Plattformen.

In seinem BlogbeitragIkaza verweist auf fast 40 Anwendungen (die meisten davon sind Spiele) im App Store von Apple, die auf Unity und Mono basieren. Er schreibt auch über das My Animal Center , das deutsche Spiel für die Wii, die auch mit Hilfe von Mono und Unity erstellt wurden.

Das iPhone ist jedoch nicht die einzige Person, die lebt. Entwickler portierten die Mono-Laufzeit experimentell auf das T-Mobile G1 Android-Gerät. Obwohl dieser Port nur eine experimentelle Bestätigung der Idee ist und in naher Zukunft nicht für die Bereitstellung realer Anwendungen auf der Plattform verwendet werden kann, hat er in einigen Vorversuchen das Potenzial und sieht im Vergleich zu Googles Dalvik gut aus.

Dank der hervorragenden Portierbarkeit von Mono und der umfassenden Unterstützung einiger Funktionen, z. B. der statischen Kompilierung, können Entwickler die Plattform auf völlig neue Weise nutzen, da Microsoft .NET nicht implementiert werden kann. Dies zeigt die Relevanz und Flexibilität von Open Source-Implementierungen.


Jetzt auch beliebt: