C # (und die .net-Plattform im Allgemeinen) scheinen eine gute Option für Multi-Targeting-Apps zu sein:
- offizielles MS .net-Framework: Windows-Entwicklung auf Hochtouren, asp.net-Entwickler, Windows Phone-Entwickler usw.
Mono und alle seine Ableitungen: Monotouch, Monodroid: der Rest der Welt. Diese Tools sind heute RTM.
Bedeutet dies, dass C # eine gute Sprache für das Targeting der beliebtesten Plattformen ist: Desktop, Web und Mobile?
- Ist es noch besser, die "native" Sprache der Zielplattformen (Objective C, Java usw.) zu verwenden?
- Ist es nur eine Rauchwand und nur eine Marketing-Sprache?
Bitte beachte, dass mir bewusst ist, dass ich den Code nicht zwischen Plattformen kopieren / einfügen kann. Ich bin mir aber sicher, dass die niedrigeren Schichten von Anwendungen (Modelle, Unternehmen usw.) wiederverwendet werden können, aber ich weiß, dass ich die höheren Schichten (GUI usw.) an die Plattform anpassen muss. Mein Ziel ist mehr auf die erforderlichen Fähigkeiten als auf die gemeinsame Nutzung von technischem Code ausgerichtet.
[Bearbeiten] Ich bin ein Entwickler in einer Firma, die massiv C # verwendet. Aus diesem Grund habe ich in einem Plan über c # gesprochen, um das Angebot an Zielplattformen in meinem Unternehmen zu erweitern.
Microsoft .NET ist die offizielle Implementierung von CLR, DLR, BCL, CLI und CLS. Andere Unternehmen, Gruppen, Communities oder Arbeitsgruppen sind nicht in einer Weise mit Microsoft verbunden, die eine 1: 1-Implementierung des neuesten Frameworks und der neuesten Sprachversion ermöglicht.
Grundsätzlich müssen Sie überprüfen, welche Sprach- und Framework-Funktionen Sie in einem konkreten Projekt nutzen möchten, und prüfen, ob diese in inoffiziellen .NET-Implementierungen vorhanden sind.
Wenn Sie eine einmal kompilierbare Lösung erwarten und diese überall verteilen, liegen Sie falsch: Sie müssen eine Fallstudie erstellen.
quelle
Ich verwende C # für Spiele, die auf XBOX- und Windows-Computern ausgeführt werden, ich verwende es in Compact Framework-Apps für Robotiklösungen, ich verwende MonoTouch für die iPad-Entwicklung, ich habe einige Web-Apps, die unter Linux ausgeführt werden, und einige andere Lösungen. Normalerweise gibt es einen Weg, wie man sein Ding auf einer bestimmten Plattform macht. Die Kernschicht ist für die meisten von ihnen ungefähr gleich (eine Fallstudie ist in der Tat erforderlich). Das Problem - und ich betrachte es als ein Serienproblem - ist die Entwicklungsumgebung. Ich bin an Visual Studio und seine Funktionen gewöhnt. Aber MonoDevelop zum Beispiel macht mich verrückt.
quelle