Wie kann mein Unternehmen unsere benutzerdefinierte Java-Software auf dem iPad ausführen lassen?

Ich habe eine kleine Firma und wir haben kundenspezifische Software, die in Java geschrieben ist.

Ich plane den Kauf eines Tablets. Ursprünglich hatte ich vor, mir ein Android-Tablet zuzulegen, aber ich bin wirklich beeindruckt von der Auflösung des neuen iPad-Bildschirms.

Die 1-Millionen-Dollar-Frage lautet: Gibt es eine Möglichkeit, Java-Programme auf dem iPad auszuführen? Kann ich sie kompilieren oder eine inoffizielle Java Virtual Machine bekommen, die sie auf dem Tablet von Apple ausführt?

Wenn Sie nur die Auflösung zum iPad zieht, sehen Sie sich das Google Nexus 10 mit höherer Auflösung und Android an.

Antworten (5)

Sie können Ihre vorhandenen Java-Binärdateien nicht auf dem iPad ausführen, da auf dem iPad keine Java Virtual Machine (JVM) vorhanden ist und Sie auch keine installieren können. Apple erlaubt nicht, dass Sprachlaufzeiten oder Plug-ins von Drittanbietern auf iOS installiert werden.

Ein Jailbreak Ihres Geräts kann Ihnen diesbezüglich mehr Freiheit verschaffen, aber ich gehe davon aus, dass Sie daran nicht interessiert sind. (Falls ja, sehen Sie sich die Fragen hier mit dem Tag an .)

Die einzige verbleibende mögliche Lösung ohne Jailbreak besteht darin , Ihre Software anzupassen und in eine native iOS-Anwendung zu kompilieren. Dies wird einige Arbeit erfordern.

Da Sie erwähnt haben, dass es sich bei Ihrer Software um benutzerdefinierte Software handelt , sollten Sie den Quellcode haben. Mit Original-Quellcode und etwas nicht ganz so trivialem Aufwand und Fachwissen ist es möglich, Ihre benutzerdefinierte Software in eine native iOS-Anwendung zu portieren. Für eine nativ kompilierte, eigenständige iOS-Anwendung muss keine Runtime auf dem Gerät vorhanden sein.

Es gibt ein paar Möglichkeiten, dies zu tun:

  • Der orthodoxe Weg zur Entwicklung von iOS-Anwendungen ist die Verwendung von Apples eigenem Xcode & Objective-C . Ihr Java-Code kann von einem kompetenten Entwickler in eine Objective-C-Implementierung für iOS übersetzt werden. Dies ist ein beträchtlicher Arbeitsaufwand, der jedoch wahrscheinlich das beste Endprodukt ergibt.

  • Es gibt auch Entwicklungstools von Drittanbietern, mit denen Apps mit anderen Sprachen/Frameworks erstellt werden können, z. B. Java, C#, ActionScript, JavaScript – um nur einige zu nennen. Ein solches Framework speziell für Java ist Particle Code . Ich habe keine Erfahrung damit – ich schlage vor, mehr Forschung zu betreiben, wenn Sie diesem Weg folgen möchten.

Während der zweite Ansatz eine stärkere Wiederverwendung von Code ermöglicht, ist wahrscheinlich immer noch ein beträchtlicher Entwicklungsaufwand erforderlich, um die Anwendung an einen mobilen Formfaktor anzupassen.

Weitere Fragen zur Entwicklung für iOS finden Sie unter Stack Overflow .

Ich denke, Particle Code könnte das sein, wonach ich suche, vielen Dank für die Antworten, ich werde weiter nachforschen. :)
Siehe auch das neue Google-Tool - < code.google.com/p/java2objc/wiki/UsageGuide >, aber Sie müssen immer noch Obj C schreiben, um die Benutzeroberfläche zu erstellen

Sie können Java derzeit nicht auf dem iPad ausführen . Sie können jedoch eine Verbindung zu einem Remote-Host herstellen, der Java-Apps über Apps vom Typ VNC/RDC wie diese ausführen kann .

LiveCirrus funktioniert dafür! Es verwendet eine Cloud-Plattform, um die Desktop-Software auf mobilen Geräten bereitzustellen. Es gibt eine Demo im App Store.

Führen Sie eine VNC-App auf Ihrem iPad aus (z. B. Connect My Mac, aber es gibt viele). Richten Sie es ein, indem Sie die Bildschirmfreigabe (und die Portweiterleitung auf Ihrem Router, falls erforderlich) aktivieren. In einem lokalen Netzwerk sollte es sehr schnell sein, weniger über das Internet, aber Sie können Ihre Java-App weiterhin auf Ihrem iPad verwenden, während sie auf Ihrem Mac läuft. Sie teilen und steuern einfach den Mac-Bildschirm und die Tastatur.

Verwenden Sie Webswing auf einer Linux-Box und stellen Sie dann Ihren Browser auf Ihrem iPad auf die IP-Adresse um. Funktioniert super. Wird sich wie zwei Computer verhalten, anstatt die Kontrolle über einen zu übernehmen.