Ich möchte eine SyncML-Parsing-Bibliothek ( keine Benutzeroberfläche ) erstellen, die in der Lage sein sollte, Nachrichten basierend auf Informationen zu erstellen, die von der Host-Anwendung bereitgestellt werden und von den Methoden der Bibliothek eingegeben werden. Außerdem sollte die Bibliothek in der Lage sein, Rückrufe zu Methoden in der Hostanwendung durchzuführen.
Ich möchte dies kompilieren und auf so vielen Plattformen wie möglich verfügbar machen können: Windows, Windows Phone 7, OSX, iOS, Linux, Android, BlackBerry. Grundsätzlich so viele Plattformen wie möglich.
Die Priorität besteht darin, dies auf Mobilgeräten verfügbar zu haben.
Fragen:
- Welches Setup soll ich verwenden? (Programmiersprachen, Compiler, IDE usw.)
- Wie würde ich diese Bibliothek für diese verschiedenen Plattformen kompilieren und wie würde ich eine Verbindung dazu herstellen?
- Irgendwelche anderen Infos? zB Artikel zum Thema plattformübergreifende Entwicklung?
Ich habe noch nie so ein plattformübergreifendes Projekt durchgeführt, daher wären alle verfügbaren Informationen, die mich in die richtige Richtung bringen, willkommen.
Ich selbst habe einen Hintergrund in C # /. NET und Objective-C.
Vielleicht möchten Sie Java ausprobieren - Java Runtime Environment (die virtuelle Maschine) ist plattformübergreifend, Java kann auf Mobilgeräten mit Android (oder mit Java ME) verwendet werden und .NET ist dem sehr ähnlich.
quelle
Dies ist nicht eine Wahl, sondern viele. Es ist zwar verlockend, eine Sache zu finden , die überall hinkommt, aber es ist nicht immer der beste Weg, dies zu tun.
Während es beispielsweise möglich sein kann, einen C ++ - Code in einer Windows Mobile-Plattform zu komprimieren, ist alles, was .NET hier ist, aus Sicht der Unterstützung immer einfacher als sein Gegenstück.
In ähnlicher Weise muss man eine wichtige Entscheidung treffen, ob es nativ oder zur Laufzeit sein soll, und sind Sie streng auf webzentrierte oder generisch leistungsfähigere beschränkt? Zum Beispiel ist Adobe Runtime allgegenwärtiger, beschränkt sich jedoch auf das, was Sie im Vergleich zu den wichtigsten Programmiersprachen tun können.
Das Wichtigste, denke ich, ist die Art und Ebene der GUI, die Sie erstellen möchten.
Kommen wir nun zu den vielversprechendsten Entscheidungen.
ein. Für Symbian, Blackberry, Android, BREW und Bada (Samsung) ist Java / J2ME der häufigste Weg. In vielen Fällen sind Sie jedoch mit C / C ++ besser dran, wenn es um native Kernaufgaben auf einer bestimmten Plattform geht.
b. Für Windows .NET wäre jede unterstützte Sprache gut.
c. Für iOS gibt es keine andere Wahl als Ziel C. Dies ist NICHT sehr viel C ++, daher zähle ich es nicht als Ziel
Hier ist eine Wiki-Referenz, die eine Reihe aller Plattformen zeigt, die Ihnen alle Optionen und deren Anwendung zeigt.
Dank Ihrer Frage habe ich über den obigen Wiki-Link erfahren, dass es jetzt SDKs gibt, die versuchen, das oben genannte Problem zu lösen. Die zwei, die am nächsten kommen, sind:
Marmelade: http://www.madewithmarmalade.com/marmalade/supported-platforms unterstützt interessanterweise fast alle Plattformen. Windows wird nur hinzugefügt, um einen vollständigen Kreis zu bilden.
Partikelcode: http://www.particlecode.com/
Ich habe sie noch nicht benutzt, klingt aber nach interessanter Arbeit.
quelle
.NET ist auf vielen Plattformen kaum verfügbar, und Objective-C ist noch schlimmer. Außerdem ist .NET etwas langsam und ObjC hat außerhalb von Apple im Grunde keine Unterstützung. C als Sprache ist im Grunde nicht einmal eine Überlegung wert, es sei denn, Sie werden von einem externen Faktor verwendet.
Die einzige realisierbare Sprache ist C ++.
quelle