Ich schreibe Software für ein neues Hardwaregerät, auf das jede neue Anwendung von Drittanbietern zugreifen soll, wenn sie möchte.Sollte ich CORBA, MessagePack RPC oder Thrift oder etwas ganz anderes verwenden?
Die Software ist ein systemeigener Prozess (C++), der von Spielen und Anwendungen von Drittanbietern, die das Hardwaregerät unterstützen möchten, abgefragt werden kann. Diese Drittanbieter-Apps sollten auch Ereignisse aus dem nativen Prozess auf Abonnementbasis empfangen können. Neben dem nativen Prozess werde ich den Entwicklern von Drittanbietern auch "Connector" -Bibliotheken zur Verfügung stellen, damit sie alle Plattformen/Sprachen (Java, C++, Python usw.) in ihre Apps einbetten können, damit sie sich einfach verbinden können zum Gerät mit kaum extra Code, der von ihnen geschrieben werden muss. Ich möchte alle Desktop/Laptop OS-Plattformen ansprechen und habe eine ziemlich gute Vorstellung davon, welche Funktionen ich bereitstellen möchte, aber idealerweise möchte ich nicht zu fest sitzen (dh ich möchte, dass es sowohl von Client als auch von Server elegant skalierbar ist Perspektiven).
Ich bin auf der Suche nach Zuverlässigkeit in der Zukunft, Leistung, Wartbarkeit in Zukunft und plattformübergreifender/Sprachflexibilität und einfacher Entwicklung in dieser Reihenfolge.
Was soll ich verwenden?
CORBA, MessagePack-RPC, Sparsamkeit oder etwas ganz anderes?
(Ich habe ICE weggelassen, weil es die Lizenzierung ist)
CORBA ist * alt *. Es ist auch Schwergewicht und veraltet. Es gibt fast sicher eine bessere Lösung. – skaffman
Skaffman, die Adjektive alt, Schwergewicht und veraltet mich überhaupt nicht. Die Speichermenge pro ORB beträgt nur ein paar Megabyte, was für eingebettete, aber für Desktop-Computer absolut in Ordnung ist, und die Leistung ist schnell. Ich bin besorgt über die Geschwindigkeit der Leistung, plattformübergreifende Flexibilität, einfache Entwicklung, Wartbarkeit und Zuverlässigkeit in der Zukunft. Solange es das Beste in diesen Abteilungen überhaupt ist, ist es egal, was andere darüber "denken", noch muss es nicht "die neueste Modeerscheinung" sein, es würde gewinnen. Ich frage mich nur, ob es das Beste für das ist, was ich mache. – Navigateur
Wir können einfach keine offene Frage beantworten, ohne Ihre Anforderungen zu kennen, was Ihre Software ist/tut, die Zielgruppe, den Upgrade-Pfad, die Plattformen, auf denen sie läuft usw. –