Push-Nachrichten von MacTechNews.de
Würden Sie gerne aktuelle Nachrichten aus der Apple-Welt direkt über Push-Nachrichten erhalten?
Forum>Software>Cyberduck und Java

Cyberduck und Java

dom_beta13.06.1418:47
Hallo!

Wer verwendet von Euch noch Cyberduck?

Ist es euch aufgefallen, dass Cyberduck seit einer bestimmten Versionsnummer gar kein Java mehr benötigt?

Find ich gut!

Weiß jemand rein zufällig ab welcher Version das war?!
„...“
0

Kommentare

lamariposa13.06.1419:54
dom_beta
...Ist es euch aufgefallen, dass Cyberduck seit einer bestimmten Versionsnummer gar kein Java mehr benötigt?

Find ich gut!...

Ist mir nicht aufgefallen, finde ich auch gut! Habe soeben upgedatet!

Ist ab Version 4.4, siehe auch hier:
http://cyberduck.io/changelog/
0
MetallSnake
MetallSnake13.06.1420:00
Warum findet ihr das gut?
Das hat jetzt halt sein eigenes Java im Bundle integriert, benutzt also potenziell eine ältere Version als im System installiert ist. Ich versteh nicht warum die das so machen.
„Das Schöne an der KI ist, dass wir endlich einen Weg gefunden haben, wie die Wirtschaft weiter wachsen kann, nachdem sie jeden Einzelnen von uns getötet hat.“
0
sierkb13.06.1420:08
Wer verwendet von Euch noch Cyberduck?

Ich.
Ist es euch aufgefallen, dass Cyberduck seit einer bestimmten Versionsnummer gar kein Java mehr benötigt?

Cyberduck benötigt sehr wohl eine wie auch immer und wo auch immer vorhandene Java VM (JRE), ist es doch (immer noch) zu über 50% in Java geschrieben: (von Ohloh zuletzt analysiert vor 7 Monaten)

Wohl aber führt die AppStore-Version von Cyberduck eine eigene JRE-Installation mit sich, um laufen zu können. Um nicht vom Vorhandensein oder Nichtvorhandensein einer systemseitig installierten JavaVM abhängig zu sein, die eben nicht mehr garantiert vorhanden ist, seit Apple diese nicht mehr vorinstalliert, also seit dem Stabwechsel an Oracle, seit dem Wechsel von Java 6 auf Java 7.
Dieses Einbetten (bundeln) der Java VM, des JREs und Bestandteilmachen der App ist Apples empfohlener, nein aufgrund der Beschränkung, appseitig nicht auf systemseitig vorhandene Java-Installationen setzen/verlinken zu dürfen, der von Apple erzwungene und einzig gehbare Weg für Java-basierte Apps, wenn sie über den AppStore angeboten werden.

U.a. wohl aus Sicherheitsgründen und dem komplizierten Sandboxing und auch deshalb, weil nur so der Ersteller der App am besten kontrollieren, weil selber bestimmen kann, welche Java-Version seine App benutzt. Und weil seine App auf diesem Wege unabhäng ist von einer auf dem Zielsystem vorhandenen oder nicht vorhandenen Java-Installation, eben weil sie ihre eigene Java-Installation, ein eigenes JRE als Bestandteil des App-Bundles mitführt und darauf zugreift bzw. zugreifen kann. Zumindest sieht Apple das so bzw. möchte das so. Zum Unmut und Unverständnis von Entwicklern.

Cyberduck heruntergeladen von der Cyberduck-Projektseite hat meines Wissens diese in der App eingebettete und gebundelte JRE nicht – das hat, wenn ich mich nicht irre, nur die Version von Cyberduck, die über den AppStore angeboten wird (die ich hier jedoch nicht vorliegen habe). Siehe dazu auch: (März 2011), (April 2013).

Es kann ja sein, dass der Entwickler von Cyberduck, David Kocher, an einer völlig Java-Code-freien Version von Cyberduck arbeitet, auch wenn er das in früheren Jahren stets von sich gewiesen hat, dass er das möchte, doch das aktuellste Ohloh-Ergebnis zeigt offenbar, dass Cyberduck immer noch aus 52 Prozent Java-Code besteht. Und somit eine Java Runtime, ein JRE, zum Laufen benötigt, wo auch immer vorhanden, ob selber mitgebracht als Bestandteil des App-Bundles oder ob systemseitig vorhanden entweder in /System/Library/Java/JavaVirtualMachines/ (Apple) oder /Library/Java/JavaVirtualMachines/ (Oracle oder andere Hersteller).

Und wenn ich mein von der Cyberduck-Projektseite bezogenes Cyberduck starte (grad' eben testweise mal gemacht) und die Aktivitätsanzeige anschaue und mir den Cyberduck-Prozess analysieren und darstellen lasse, dann zeigt er mir bestätigend auch Folgendes: (Pastebin-Link, weil ich hier nicht das komplette Ergebnis posten will, da zu lang).

Da sind also ziemlich viele Java-bezogene Calls drin zu entdecken, die da grad' allein beim Aufruf von Cyberduck stattfinden.
0
dom_beta13.06.1420:12
sierkb
Cyberduck benötigt sehr wohl eine wie auch immer und wo auch immer vorhandene Java VM (JRE)

Aber eine interne oder?

Auf meinem OSX 10.8.5 ist kein Java installiert.
„...“
0
sierkb13.06.1420:36
dom_beta
Aber eine interne oder?

Bild von www.skype-emoticons.com Bild von www.skype-emoticons.com Bild von www.skype-emoticons.com
Auf meinem OSX 10.8.5 ist kein Java installiert.

Muss ja auch nicht, wenn Dein Cyberduck ist aus dem AppStore bezogen ist. Das steckt ja dahinter bzw. das ist ja der Sinn von Apples diesbzgl. implizierter Vorgabe an die App-Entwickler, wenn sie ihre Java-basierten Apps über den AppStore anbieten wollen: sich nicht drauf zu verlassen, dass auf dem Zielsystem Java (genauer: eine JRE) bereits installiert ist. Sondern, wenn sie sie für ihre App benötigen, sie in der App selber mitzubringen. Beides miteinander zu vereinen, eine JRE in ein bestehendes App-Bundle zu integrieren, dazu bietet Apple Hilfestellung an bzw. dafür gibt's Werkzeuge, die das tun bzw. die einem Entwickler dabei helfen. Hierbei kann der Entwickler seine auf seine App maßgeschneiderte JRE integrieren, kann von der App nicht benötigte Teile der JVM auch weglassen, um das Bundle so klein wie möglich und so groß wie nötig zu halten.
0
dom_beta13.06.1420:59
sierkb
Muss ja auch nicht, wenn Dein Cyberduck ist aus dem AppStore bezogen ist.

Nein, Download von Herstellerseite.
„...“
0
HumpelDumpel
HumpelDumpel13.06.1421:03
Ente gut, alles gut, oder was?
Nein, ich nehme lieber den Laster oder geb G(Y)ummi...
0

Kommentieren

Diese Diskussion ist bereits mehr als 3 Monate alt und kann daher nicht mehr kommentiert werden.