Ist es möglich, eine plattformübergreifende gemeinsame Bibliothek mit MonoDroid und MonoTouch zu erstellen, die von Nicht-Mono-Entwicklern verwendet werden kann?

8

Wir haben eine proprietäre Hardware, die wir als Telefonperipherie veröffentlichen wollen.

Wir haben damit begonnen, eine plattformübergreifende mobile App zu schreiben, die über das MonoCross-Framework mit der Hardware verbunden ist (d. h. MonoTouch-Abstraktionsschicht für iOS und MonoDroid-Abstraktion für Android).

Wir möchten den Großteil dieser Anwendung als Codebibliothek anbieten, die von anderen App-Entwicklern wiederverwendet werden kann, die Apps schreiben möchten, die mit unserer Hardware verbunden sind.

Ich bin besorgt, dass wir durch die Verwendung von Mono diese Entwickler dazu zwingen, dasselbe zu tun. Ist das der Fall?

Android-Bibliothek

Können wir eine Android-Bibliothek (nicht ein Bibliotheksprojekt, das ich die vollständige Quelle liefern kann) als Ausgabe von MonoDroid produzieren, die andere Entwickler mit dem ADT und Java entwickeln ( dh sie verwenden kein Mono Droid) ) können sie in ihren Apps verwenden?

iOS-Bibliothek

Können wir eine Bibliothek von MonoTouch erstellen, die Objective C-Entwickler ( d. h., die nicht Mono Touch verwenden ) in ihren Apps verwenden können?

    
Adrian Hope-Bailie 11.09.2012, 08:18
quelle

2 Antworten

2

Die Antwort lautet in beiden Fällen nicht. Es ist nicht möglich, verwaltete Bibliotheken zu erstellen, die nicht verwaltete Apps verwenden können, weder auf MonoTouch noch auf Mono für Android.

Dies liegt daran, dass die verwalteten Bibliotheken stark von der verwalteten Laufzeit abhängen, sie sind keine eigenständigen Bibliotheken.

    
Rolf Bjarne Kvinge 11.09.2012 08:42
quelle
2

Ich habe genau die gleiche Frage wie du eigentlich ... Auf iOS, von dem, was ich von Xamarin sammeln konnte, ist es möglich, aber nicht unterstützt. Allerdings warte ich immer noch auf ein Beispiel: /

Nach dem, was ich verstanden habe, ist monodevelop in der Lage, eine native ARM-Bibliothek zu kompilieren, die von einer so genannten objectiveC-Quelle verwendet werden kann:

/ Entwickler / MonoTouch / usr / bin / mtouch --linksdkonly --xcode = output_dir MyAssembly.exe

In Ihrem XCode-Projekt scheint es, dass Sie die Mono-Embedding-API verwenden müssen.

Ссылка

Es wäre schön, wenn Xamarin ein Quellbeispiel liefern könnte, weil es für ein Toolkit wie dieses dringend benötigt wird!

    
Vincent Bellet 11.09.2012 12:40
quelle