Ich entwickle derzeit an einem in Java geschriebenen Projekt. Wir haben eine Reihe von Algorithmen in C/C++ geschrieben (mindestens ein paar hundert), die in unser Projekt integriert werden müssen. Unsere beiden Optionen sind, JNI zu verwenden, um diesen Code aufzurufen, oder alle Algorithmen in Java neu zu schreiben.
Ich bin mir der Konsequenzen der Verwendung von JNI bewusst, sie kann eine ganze Reihe neuer Probleme aufwerfen, weshalb das Neuschreiben des gesamten Codes in Java überhaupt in Betracht gezogen wird. Aber der Gedanke, ihn neu zu schreiben, erscheint mir ... falsch. Die Algorithmen sind getestet worden und funktionieren, soweit ich weiß, sie sind nur in der falschen Sprache.
Würde JNI in dieser Situation diese Aufgabe erleichtern? Oder würde es mehr Kopfzerbrechen bereiten, als wenn der Code in Java neu geschrieben würde?
EDIT #1: Verwandte Frage - Nützlichkeit von JNI
EDIT #2: Zu Ihrer Information: Unser Java-Projekt ist in keiner Weise portabel. Das könnte einen der Nachteile von JNI beseitigen, da es angeblich die Portabilität reduziert.