Lohnt sich heutzutage der Aufwand einer Portierung für MacOS

inflamer

Bekanntes Mitglied
Hallo zusammen,

meine Anwendung läuft, obwohl in Java geschrieben, seit jeher nur unter Windows. Nun bekomme ich immer mal wieder Anfragen bzgl. einer MacOS-Version. Etliche Käufer betreiben meine Anwendung wohl als Notlösung mit "Parallels" (+ eben Windows).

Nun bin ich mir überhaupt nicht sicher, ob sich der Aufwand einer Portierung überhaupt lohnt. Unter "Aufwand" fiele in erster Linie:
- Anschaffung eines Mac Mini + einer Drittherstellertastatur, unterm Strich rund 800,- EUR für beides zusammen.
- Einarbeitung in MacOS mit Vorkenntnissen gleich Null.
- Anpassung des Codes. Hier kann ich den Aufwand gar nicht erst abschätzen. Systemunabhängigkeit ist ja ein wohlklingendes Attribut von Java, aber wer weiß, wie das in der Praxis aussieht...
- Brauche ich eine App-Id? Irgendwelche Lizenzen, Sonstiges zu beachten, bevor ich etwas releasen kann?
- Last but not least: Inwieweit hängt die Kaufentscheidung eines MacOS-Users überhaupt davon ab, ob die Software für MacOS vorliegt (siehe "Parallels").

Fragen über Fragen. Die wichtigste Ressource ist bei mir die Zeit. Und die Frage ist eben, ob sie mit einer Portierung sinnvoll eingesetzt ist.

Danke im Voraus für Eure Antworten.
 
K

kneitzel

Gast
Hallo zusammen,

meine Anwendung läuft, obwohl in Java geschrieben, seit jeher nur unter Windows. Nun bekomme ich immer mal wieder Anfragen bzgl. einer MacOS-Version. Etliche Käufer betreiben meine Anwendung wohl als Notlösung mit "Parallels" (+ eben Windows).

Nun bin ich mir überhaupt nicht sicher, ob sich der Aufwand einer Portierung überhaupt lohnt. Unter "Aufwand" fiele in erster Linie:
- Anschaffung eines Mac Mini + einer Drittherstellertastatur, unterm Strich rund 800,- EUR für beides zusammen.
- Einarbeitung in MacOS mit Vorkenntnissen gleich Null.
- Anpassung des Codes. Hier kann ich den Aufwand gar nicht erst abschätzen. Systemunabhängigkeit ist ja ein wohlklingendes Attribut von Java, aber wer weiß, wie das in der Praxis aussieht...
- Brauche ich eine App-Id? Irgendwelche Lizenzen, Sonstiges zu beachten, bevor ich etwas releasen kann?
- Last but not least: Inwieweit hängt die Kaufentscheidung eines MacOS-Users überhaupt davon ab, ob die Software für MacOS vorliegt (siehe "Parallels").

Fragen über Fragen. Die wichtigste Ressource ist bei mir die Zeit. Und die Frage ist eben, ob sie mit einer Portierung sinnvoll eingesetzt ist.

Danke im Voraus für Eure Antworten.
Ob sich das lohnt oder nicht wirst nur Du entscheiden können. Kannst Du abschätzen, wie viele Kunden das nutzen werden? Und was kostet das Produkt?

Ebenfalls wichtig: Willst Du dann die Versio auch voll unterstützen? Dann wird es ja um einiges aufwändiger, denn dann sind Mac Erfahrungen zwingend notwendig.

Was man evtl. etwas drücken kann sind die Kosten. Ein gebrauchter mac Mini könnte ausreichen und so.

Was macht Deine Applikation denn, so dass da Anpassungen notwendig sind? Mit etwas Glück läuft die App direkt. Nur wenn die Kunden das nicht selbst testen konnten: Lieferst du nur ein Binary als EXE aus oder so? Ansonsten könnte man das ja durchaus testen. Dann gibt es halt ein jar oder so, dass Anwender einmal ausprobieren könnten ...

So das funktioniert, reicht evtl. eine Paketierung für den Mac. Dazu habe ich mir sogar einmal jar2exe gekauft - das erzeugt auch auf Windows die Mac Application. Die ist aber erst einmal nicht signiert, was ein gewisses Problem ist, daher ja: Ein Entwickler-Zertifikat macht Sinn und kostet 99€ / Jahr. Ansonsten haben Anwender da immer "Rechtsklick" und Öffnen zu machen - damit ist die Security schon umgangen :)

Und generell sind Mac-User relativ verwöhnt: Es muss halt einfach funktionieren. Und da alles recht einfach ist, ist ein App-Store unwichtig. Du erstellst einfach ein DMG (also ein Plattenimage) und kopierst da deine application rein und noch einen Link auf /Applications. Und schon ist es fertig ... Mac-User können das dann herunter laden, Öffnen mit Doppelclick (mounten des Image), ziehen dann die App auf den Link und schon ist die Software installiert.
 

inflamer

Bekanntes Mitglied
Danke für Deine Antwort!

Die genauer gesagt 2 ApplikationEN sind ausgerechnet dem Bereich "Grafik und Design" zuzuordnen und damit für den Mac eigentlich prädestiniert. ;-)

Käufer sind zu 99% Unternehmen. Ich kann mir indes nicht vorstellen, dass eine 0815-Firma vollständig auf MacOS läuft und auf Windows komplett verzichtet, was wiederum gegen eine Portierung spräche. Manche nutzen zudem, wie gesagt, wohl "Parallels".

Die Anwendungen liegen preislich im mittleren bis oberen 2stelligen Bereich.

"jar2exe" werde ich mir mal anschauen, kannte ich noch gar nicht.

Wenn ich mich darauf einlasse, werde ich das bei mir im Kopf als Hobby einordnen müssen, "Kennenlernen eines neuen Betriebssystems" oder so, damit wenn der ganze Aufwand sich am Ende als Zeitverschwendung erweist, ich die kleine teure Schuhschachtel nicht gegen die Wand kicke. ;-)

Nochmals Danke für die Tipps!
 

inflamer

Bekanntes Mitglied
Sofern du hier "Einzelheiten" preisgeben magst, zu welchem Anteil sind es denn in Deinem Fall MacOS-User?
 
Zuletzt bearbeitet:
K

kneitzel

Gast
Also ich selbst habe lange Macs eingesetzt - bin dann nur vor ca. 1 Jahr komplett auf Linux gewechselt. Meine beruflich entwickelte Software läuft derzeit zu 0% auf Mac, da reine Backend Entwicklung. (jar2exe war bei mir nur reine Spielerei. Beruflich habe ich das bisher nicht gebraucht.)
 

tommysenf

Top Contributor
Nun bin ich mir überhaupt nicht sicher, ob sich der Aufwand einer Portierung überhaupt lohnt.
Das wird wohl ein Aussenstehender nicht für dich einschätzen können.

Anpassung des Codes. Hier kann ich den Aufwand gar nicht erst abschätzen. Systemunabhängigkeit ist ja ein wohlklingendes Attribut von Java, aber wer weiß, wie das in der Praxis aussieht...

Das hängt natürlich sehr von deiner Anwendung ab. Benutzt du nur reines Java sollte sich der Aufwand in Grenzen halten. Dann ist es meist schon damit getan dich an die üblichen Konventionen zur Plattformneutralität zu halten (Dateipfade, Gross und Kleinschreibung von Dateinamen, UI Look and Feel etc... ).

Nutzt du Windowsfeatures durch z.B. Kommandozeilenaufrufe, Registry, JNI, etc. kann der Aufwand natürlich viel höher sein.

Ein gangbarer Weg um nicht umsonst in Hardware zu investieren wäre wenn du erst einmal versuchst deine Software auf Linux lauffähig zu bekommen. Das sollte in etwa dem gleichen Aufwand entsprechen und du wirst sehen wo die Probleme liegen. Eine Java Anwendung die Linux kompatibel ist wird dann mit sehr hoher Wahrscheinlichkeit auch unter Mac laufen, da OSX immer noch ein vollwertiges UNIX Betriebssystem ist.

Last but not least: Inwieweit hängt die Kaufentscheidung eines MacOS-Users überhaupt davon ab, ob die Software für MacOS vorliegt (siehe "Parallels")
Ich denke mal der Grossteil der OSX User wird sich immer für das native Produkt entscheiden wenn er die Wahl hat. Bevor man Virtualisierung einsetzt wird meistens erst mal geschaut ob es nicht eine native Alternative gibt...
 

Thallius

Top Contributor
Kauf halt einen gebrauchten Mac Mini und Probier es aus. Für das Erstellen einer lauffähigen .jar Must Du erstmal nichts weiter investieren. Gefällt es dir nicht oder klappt es nicht, dann Verkauf das Dingen wieder. Wertverlust dürfte in einem halben Jahr bei unter 50 Euro liegen. Das ist halt der Vorteil von Apple. Anschaffung teuer, dafür aber starker Werterhalt. Im Endeffekt zahlst du nicht wirklich mehr
 

inflamer

Bekanntes Mitglied
Danke euch!

Hinsichtlich Code-Umstellung dachte ich an sowas wie z.B. andere Tastenkürzel (die gibt's in meinen Apps zuhauf). Na ja, ist aber eigentlich kein großer Aufwand, die entsprechend anzupassen. Hier und da ist vielleicht ansonsten noch eine vergessene MouseEvent.isPopupTrigger()-Abfrage usw... Sonstige Konventionen zur Plattformunabhängigkeit hatte ich glücklicherweise stets eingehalten.
 

Thallius

Top Contributor
Danke euch!

Hinsichtlich Code-Umstellung dachte ich an sowas wie z.B. andere Tastenkürzel (die gibt's in meinen Apps zuhauf). Na ja, ist aber eigentlich kein großer Aufwand, die entsprechend anzupassen. Hier und da ist vielleicht ansonsten noch eine vergessene MouseEvent.isPopupTrigger()-Abfrage usw... Sonstige Konventionen zur Plattformunabhängigkeit hatte ich glücklicherweise stets eingehalten.

wenn du eine native Mac App machen willst solltest du so oder erstmal ein paar Wochen mit OS X arbeiten. Wenn deine App nachher wie EINE apple APP aussieht sich aber immer noch wie eine Windows App anfühlt wird die Akteptanz sehr gering sein.

Gruß

Claus
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Rudolf In wie fern lohnt sich C++ für einen Javaentwickler Allgemeine Java-Themen 70
R Lohnt sich byte und short bei Schleifen? Allgemeine Java-Themen 9
G Ab welcher Dateigrösse lohnt Kompression? Allgemeine Java-Themen 2
N Lwjgl 3d Objekt wird schmaler, wenn es sich dreht Allgemeine Java-Themen 0
S Java Programm lässt sich vom USB-Stick starten, aber nicht von HDD Allgemeine Java-Themen 16
A Eclipse hängt sich auf Allgemeine Java-Themen 7
D Image bewegt sich nicht nach Klicken auf Button Allgemeine Java-Themen 15
Viper13125 Eclipse Hängt sich auf, wenn ich SimpelDateFormat drin lasse Allgemeine Java-Themen 2
L Java überprüfen lassen, ob sich ein gegebener Pfad / das Programm an sich auf einer CD oder Festplatte befindet Allgemeine Java-Themen 14
Tiago1234 Warum hängt sich mein Programm auf? Allgemeine Java-Themen 22
C Parsen einer sich updatenden Html mithilfe von jsoup Allgemeine Java-Themen 4
Kiki01 Häufigster Buchstabe lässt sich nicht ermitteln Allgemeine Java-Themen 30
Tobero Wie berechnet man ob zwei Linien sich schneiden? Allgemeine Java-Themen 2
T Projekt baut nicht mehr/lässt sich nicht mehr ausführen Allgemeine Java-Themen 6
Tobero Wie bekomme ich in welchem Quadrat sich eine Position in einem Grid befindet Allgemeine Java-Themen 11
O Jar lässt sich auf bestimmten Pc nicht starten Allgemeine Java-Themen 18
D Anfänger versucht sich an Xtext Allgemeine Java-Themen 0
F Sich automatisch aufrufende Java-Methoden Allgemeine Java-Themen 2
kodela Inhalt eines Arrays ändert sich mysteriös Allgemeine Java-Themen 2
P JavaFX Anwendung beendet sich selbst nur als Jar Allgemeine Java-Themen 40
Drachenbauer Wie finde ich den Aufrufer zu einer Methode, die sich nicht in meinem Projekt befindet? Allgemeine Java-Themen 2
A 2D-Grafik Einfachster Ansatz, um sich wiederholende Figur in einem 2D-Image zu erkennen Allgemeine Java-Themen 1
M String lässt sich nicht Zusammenfügen Allgemeine Java-Themen 10
G Jar lässt sich mit macOS nicht starten Allgemeine Java-Themen 9
H Erste Schritte Ausführbare Dateien lassen sich nicht starten Allgemeine Java-Themen 5
L Excel Datei löscht sich selbst im Programm - Java Allgemeine Java-Themen 3
K OOP Daten addieren sich bei GUI-Eingabe Allgemeine Java-Themen 10
K ursprüngliche ArrayList ändert sich bei Übergabe in Methode Allgemeine Java-Themen 18
N Quicksort Programm hängt sich auf Allgemeine Java-Themen 6
S Compiler-Fehler Programm verhält sich in Eclipse anders Allgemeine Java-Themen 1
G Beendet sich der Thread selbst?! Allgemeine Java-Themen 3
S Compiler-Fehler IntelliJ Projektdatei lässt sich nicht erstellen. Allgemeine Java-Themen 15
J Bilder lassen sich nicht importieren Allgemeine Java-Themen 3
E GUI.jfm lässt sich nicht mehr öffnen Allgemeine Java-Themen 1
H Kennt sich jemand mit Eclipse und dem Thema Jar-File aus ? Allgemeine Java-Themen 6
S Programm hängt sich manchmal (selten) auf Allgemeine Java-Themen 9
D System.arraycopy verhält sich seltsam Allgemeine Java-Themen 1
C Threads Methode verhält sich merkwürdig Allgemeine Java-Themen 18
D Best Practice Gesamten Bildschirminhalt auslesen und Email schicken sobald kein Pixel sich ändert Allgemeine Java-Themen 11
K jar-Datei lässt sich unter Windows nicht verwenden Allgemeine Java-Themen 3
X Sich wiederholende substrings finden Allgemeine Java-Themen 6
P Input/Output Inputstream verhält sich verschieden Allgemeine Java-Themen 9
T Minimax/Alphabeta Algorithmus hängt sich auf (?) Allgemeine Java-Themen 2
Tausendsassa Threads Einen Thread sich selbst schließen lassen Allgemeine Java-Themen 17
K Java installiert sich nicht ganz Allgemeine Java-Themen 15
E Anwendung verhält sich unter Mac anders als Unter Windows. Allgemeine Java-Themen 4
L Jar lässt sich nicht öffnen Allgemeine Java-Themen 12
T BufferedImage verändert sich beim Einlsesen Allgemeine Java-Themen 1
Z Eclipse hängt sich alle paar Sekunden auf (Keine Rückmeldung). Allgemeine Java-Themen 4
L Liste führt sich nicht weiter Allgemeine Java-Themen 5
C .jar File lässt sich nur über Konsole öffnen Allgemeine Java-Themen 1
F Wert ändert sich nicht Allgemeine Java-Themen 12
T Nach Java Update: Jar Datein öffnen sich nicht mehr mit doppelklick Allgemeine Java-Themen 3
M Programm startet sich selbst neu, alte Logfiles bleiben gesperrt Allgemeine Java-Themen 2
J String Variable verändert sich plötzlich Allgemeine Java-Themen 8
K Java lässt sich nicht Installieren Windows7Ultimate 64Bit Allgemeine Java-Themen 1
F JTable mit Zellen die sich durch andere Eingaben füllen Allgemeine Java-Themen 1
E Liste löscht sich selbstständig Allgemeine Java-Themen 5
I JPanel soll sich dem JFrame anpassen Allgemeine Java-Themen 1
ruutaiokwu datenstruktur welche sich "im kreis" dreht Allgemeine Java-Themen 26
D swingset3.jnlp lässt sich nicht ausführen Allgemeine Java-Themen 2
L Prog läuft in der IDE, hängt sich aber am Mac auf Allgemeine Java-Themen 0
F Spiel lässt sich nicht aus GUI starten Allgemeine Java-Themen 5
B Threads halten sich irgendwie auf... Allgemeine Java-Themen 6
G Services verwenden sich gegenseitig Allgemeine Java-Themen 4
A Auswahl eines JEditorPane das Sich in einem JScrollPanel Befindet Allgemeine Java-Themen 2
J kann eine .jar sich selbst verschieben? Allgemeine Java-Themen 6
M Erkennen, in welcher Methode sich die VM befindet Allgemeine Java-Themen 6
A Selbsterstellte 404-Seiten bestimmen, die sich als 200 ausgeben Allgemeine Java-Themen 8
D Arrays überschreiben sich Allgemeine Java-Themen 2
G .jar Dateien lassen sich nicht mehr öffnen Allgemeine Java-Themen 2
D Dialog soll sich beim Klick auf Button schließen Allgemeine Java-Themen 8
pg1337 hashCode() verändert sich Allgemeine Java-Themen 15
N Java lässt sich nicht löschen! Allgemeine Java-Themen 7
Jats Programm mit CMD Befehl hängt sich auf oder gibt error = 5 aus Allgemeine Java-Themen 4
C Prüfen ob sich ein Punkt innerhalb einer Kugel befindet (Java3D,nicht-lineare GLS) Allgemeine Java-Themen 5
D Java Excel API - Schreiben in Excel lässt sich nicht über Makro starten Allgemeine Java-Themen 18
P jar-Datei lässt sich nicht ausführen Allgemeine Java-Themen 5
E nach dem Ordner suchen, wo .jar datei sich befindet Allgemeine Java-Themen 17
J Java programm lässt sich in win7 nach linux install nicht mehr ausführen Allgemeine Java-Themen 18
D JMF - lässt sich nicht im ausgewählten Format aufnehmen Allgemeine Java-Themen 2
ruutaiokwu enlosschleife in thread beendet sich Allgemeine Java-Themen 3
F Javainstallation verweigert sich mir Allgemeine Java-Themen 11
M Java lässt sich nicht installieren Allgemeine Java-Themen 10
T Programm hängt sich auf Allgemeine Java-Themen 14
B Berechnung eines sinh abbrechen, wenn 16. Nachkommastelle sich nicht mehr ändert Allgemeine Java-Themen 7
V JRE lässt sich nicht installieren. Allgemeine Java-Themen 10
W 2D-Grafik nach getthumbnail läst sich Quellbild nicht mehr löschen Allgemeine Java-Themen 3
J Eclipse Eclipse hängt sich ständig auf Allgemeine Java-Themen 6
L JDK lässt sich nicht deinstallieren Allgemeine Java-Themen 3
T KeyListener lässt sich nur einmal drücken Allgemeine Java-Themen 2
J Können Programme sich selbst erweitern? Allgemeine Java-Themen 6
T Datenbank lässt sich un Entwicklungsumgebung öffnen, aus .jar aber nicht Allgemeine Java-Themen 9
L Java Thread [blockingqueue] hängt sich auf Allgemeine Java-Themen 13
Meldanor Speichern der Datenbank - Lohnen sich mehrere Threads? Allgemeine Java-Themen 2
S Element aus ArrayListe löschen --> Thread hängt sich auf Allgemeine Java-Themen 2
T Thread beendet sich "einfach so"? Allgemeine Java-Themen 13
M Radianwert wiederholt sich trotz unterschiedlicher zufälliger Koordinaten Allgemeine Java-Themen 6
B Benachrichtigung, wenn sich Benutzer am Betriebssystem anmeldet Allgemeine Java-Themen 9
X Über ArrayList iterieren, während sich diese verändert Allgemeine Java-Themen 3

Ähnliche Java Themen

Neue Themen


Oben