Apple Silicon: Microsoft unterstützt Entwicklung von Java für ARM-Macs

In wenigen Wochen steht bei den Macs der Einstieg in den Umstieg auf ARM-Prozessoren auf der Agenda. In Cupertino wird daher bereits seit geraumer Zeit mit Hochdruck unter anderem an der Entwicklung von macOS 11 Big Sur gearbeitet, der ersten Betriebssystemversion für Apple Silicon. Von dem Switch sind aber auch Tausende von Entwicklern betroffen, die ihre Apps auf die neue Architektur umstellen müssen. Zudem sind zahlreiche Programmierbibliotheken anzupassen, etwa OpenJDK, die freie Implementierung der Java-Plattform.


Große Community arbeitet an Portierung
OpenJDK unterstützt zwar bereits etliche Betriebssysteme und Prozessorarchitekturen, für macOS auf Apple Silicon muss die Plattform aber angepasst werden. Die Community arbeitet schon an der Umsetzung und kann dabei auf die Unterstützung einiger großer Konzerne bauen. Hilfe bei der Portierung leisten beispielsweise das auf Java spezialisierte US-amerikanische Unternehmen Azul Systems und Microsoft. Der Software-Gigant aus Redmond hilft nicht nur bei der Entwicklung von OpenJDK für Apple Silicon mit, sondern macht die Plattform auch zur ARM-Version von Windows kompatibel.

Java-Spezialist übernimmt Federführung
Federführend bei der Entwicklung der als Aarch64 bezeichneten Portierung auf ARM-Macs ist allerdings Azul. "Wir werden die Arbeit so weit wie möglich quelloffen vornehmen", erklärte jetzt Azul-CTO Gil Tene gegenüber dem Portal InfoQ. Allerdings müsse man dabei natürlich die Grenzen respektieren, welche Apples Regeln im Zusammenhang mit dem Developer Kit setzen. Die Veröffentlichung der zu macOS auf Apple Silicon kompatiblen Plattform soll im Rahmen von OpenJDK 16 oder 17 erfolgen, aktuell ist Version 15.

Microsoft will intensiven Beitrag leisten
Für Microsoft engagiert sich unter anderem Monica Beckwith im OpenJDK-Projekt. Die ausgewiesene Java- und ARM-Expertin präzisierte das Engagement des Windows-Herstellers bereits vor einiger Zeit in einem Beitrag auf der Mailingliste des Projekts. Ihr zufolge wird Microsoft die Arbeit am macOS-Port intensivieren und in erheblichem Maße zur Anpassung an Apple Silicon beitragen. Unterstützen will der Windows-Hersteller die Community unter anderem bei der Implementierung etwa von Low-Level-Code, aber auch bei Tests und der Integration in das Java Development Kit.

Engagement ist von großer Bedeutung
Für App-Entwickler ist das Engagement von Microsoft und Azul von großer Bedeutung. Die Arbeit dieser großen Unternehmen dürfte dazu führen, dass OpenJDK schnell für macOS auf Apple Silicon erscheint. Bestehende Java-Anwendungen könnten dadurch ohne Änderungen auf Macs mit der neuen Architektur ausgeführt werden. Da OpenJDK zudem auf Windows für ARM verfügbar ist, sind Apps auf beiden System lauffähig. Die offizielle Unterstützung durch Microsoft lässt zudem hoffen, dass es in nicht allzu ferner Zukunft eine Windows-Version geben könnte, die auf Macs mit Apple Silicon läuft, entweder mit einer neuen Version von Bootcamp oder zumindest in einer virtuellen Maschine.

Kommentare

David_B
David_B24.09.20 12:00
Schön, da muss sich das x86-Lager anstrengen.
+1
gfhfkgfhfk24.09.20 13:05
OpenJDK ist schon längst auf Linux AArch64 portiert, es geht nur noch um die macOS Integration. Und das sagt rein gar nichts darüber aus, wie gut oder schlecht AArch64 ist.
+4
erikhuemer
erikhuemer24.09.20 13:40
Kann’s nicht sein, dass Microsoft ein ARM-Windows schon deswegen herausbringt, weil es selbst mittelfristig umsteigen will?

Intel Aktien würde ich mir jedenfalls keine kaufen. Im besten Fall folgen sie ibm, im schlechtesten Nokia.
Der Fortgang der wissenschaftlichen Entwicklung ist im Endeffekt eine ständige Flucht vor dem Staunen. Albert Einstein
-2
tk69
tk6924.09.20 13:43
Wird Java (also nicht JavaScript) immer noch benötigt und gehört nicht bald zu aussterbenden Art wie Flash?
-2
pünktchen
pünktchen24.09.20 13:47
Ganz im Gegenteil: Java ist seit vielen Jahren die populärste Programmiersprache und das wird sich auch nicht so bald ändern.

PS - vielleicht denkst du an Java applets, die sind tot
+3
sierkb24.09.20 13:49
MTN
Die Veröffentlichung der zu macOS auf Apple Silicon kompatiblen Plattform soll im Rahmen von OpenJDK 16 oder 17 erfolgen, aktuell ist Version 14.

Aktuell ist nicht Version 14, aktuell seit dem 15.09.2020 ist OpenJDK 15, siehe:

Oracle Press Release (15.09.2020): Oracle Announces Java 15

Oracle: JDK 15 Release Notes

Oracle: Java SE Downloads (Java Platform, Standard Edition, Java SE 15, Oracle JDK)

Adopt OpenJDK – Prebuilt OpenJDK Binaries for Free!
Adopt OpenJDK: OpenJDK 15 (Latest)

Azul: Download Zulu Builds of OpenJDK
Azul: Download Zulu Builds of OpenJDK: Java 15 (MTS), Latest

OpenJDK: JDK 15
jdk.java.net: JDK 15 General-Availability Release

OpenJDK: JDK 16
jdk.java.net: JDK16 Early-Access Builds

Zudem bzgl. Mac-Plattform:
jdk.java.net: Project Lanai Early-Access Builds
These builds are intended for developers looking to test and provide feedback on using Project Lanai, which implements a new Java 2D graphics rendering pipeline for macOS. Since this is a macOS-specific project, only macOS builds are provided. Updated EA builds will be provided periodically, usually when there is a sufficient set of important updates since the previous EA.


Zudem aus MTNs obig angegebener, verlinkter Quelle:
InfoQ
[…]
"Azul is building an Aarch64 port for MacOS, has drafted a JEP for the work, will do the work in the open as much as possible (limited by Apple's developer kit early access rules), and will contribute the complete work upstream to be included in e.g. OpenJDK 16 or 17. Once we land this upstream, we also intend to build OpenJDK 11 and 8 variants and make sure developers and users have free binary OpenJDK distros available that will work on ARM-based Mac," explains Gil Tene, CTO of Azul, which maintains the freely available Zulu build of OpenJDK across many platforms.
[…]
MTN
[…]
Die offizielle Unterstützung durch Microsoft lässt zudem hoffen, dass es in nicht allzu ferner Zukunft eine Windows-Version geben könnte, die auf Macs mit Apple Silicon läuft
[…]

Aus MTNs obig angegebenen, verlinkten Quellen:
InfoQ
[…]

Microsoft’s involvement is driven in part by JVM performance expert Monica Beckwith. Beckwith previously handled runtime performance architecture for ARM and was critical to the development of the G1 garbage collector at Oracle and Sun. Microsoft has previously released OpenJDK on Windows ARM64 with various patches contributed to the open source community.

While the Windows and Mac ports require different compilation targets and code changes, aspects of the underlying platforms can be shared in a uniform way that speeds the project along. Tene explains the timeframe for release, "We hope to get stuff people can use before the 'problem' of ARM-based Macs with no Java becomes 'a thing'." ARM-based Macs are not currently available for standard purchase, but industry review groups like Tom's Hardware expect ARM Macbooks towards the 2021 timeframe. The hardware for Windows ARM devices is limited to the Surface Pro X and a small number of other laptops.
[…]
InfoQ (22.09.2020): Microsoft to Contribute to Java on Windows and Mac ARM
Monica.Beckwith@microsoft.com: aarch64-port-dev: Collaboration proposal: Draft JEP MacOS/AArch64 Port
[…]
Since the MacOS port work depends on the Windows port modifications, I propose a collaboration (sub-)Project [4] repo where we can jointly work in the open.
[…]
Q: OpenJDK Mailinglist [aarch64-port-dev ] (11.08.2020): Monica.Beckwith@microsoft.com: Collaboration proposal: Draft JEP MacOS/AArch64 Port
-3
DTP
DTP24.09.20 13:49
tk69
Wird Java (also nicht JavaScript) immer noch benötigt und gehört nicht bald zu aussterbenden Art wie Flash?
Als Webbrowser Client-UI ja, daran denkst du wahrscheinlich. Ansonsten nein.

Soweit ich weiß, sind die meisten Android Apps in Java programmiert. Im Backend (Server, Enterprise) wird viel Java eingesetzt.

Java ist in den letzten Jahren immer unter den TOP 2 gewesen und noch immer:
https://www.tiobe.com/tiobe-index/
+1
sierkb24.09.20 13:56
tk69
Wird Java (also nicht JavaScript) immer noch benötigt und gehört nicht bald zu aussterbenden Art wie Flash?
pünktchen
Ganz im Gegenteil: Java ist seit vielen Jahren die populärste Programmiersprache und das wird sich auch nicht so bald ändern.

Apple (04.08.2020): Jobs bei Apple: Apple Media Products - Software Engineer (Clojure, Java), Core Services

Apple (26.06.2020): Jobs bei Apple: Full Stack Java Engineer

[…]

Zum Beispiel.
-1
ssb
ssb24.09.20 14:25
erikhuemer
Kann’s nicht sein, dass Microsoft ein ARM-Windows schon deswegen herausbringt, weil es selbst mittelfristig umsteigen will?
Windows für ARM gibt es längst - Lenovo hat auch die passende Hardware dazu (MTN hatte darüber berichtet). Allerdings fehlt dort so etwas wie Rosetta 2, welches vor der Ausführung den Intel-Code in ARM-Code übersetzt. Daher ist das Softwareangebot noch überschaubar.
+2
sierkb24.09.20 14:33
[OT]
ssb
Windows für ARM gibt es längst … . Allerdings fehlt dort so etwas wie Rosetta 2, welches vor der Ausführung den Intel-Code in ARM-Code übersetzt.

Microsoft Docs (15.02.2018): Funktionsweise der x86-Emulation auf ARM

[/OT]
+1
Crypsis8624.09.20 15:41
ssb

nja, 32bit Programme laufen ja, mit abstrichen in der Performance, aber das liegt in erster Linie auch an den Qualcomm chips. die 64bit Emulation ist in der mache, kamen grad vor kurzem Gerüchte auf, dass es nicht mehr lange dauert. und dann könnte das endlich interessant werden, wenn man so gut wie keine abstriche mehr machen muss. bleibt halt nur zu hoffen, dass da mal ein besserer Chip kommt, der umgelabelte 8cx von Qualcomm ist halt dann doch relativ schnell am limit.
0
Dupondt24.09.20 16:50
sierkb
Aktuell ist nicht Version 14, aktuell seit dem 15.09.2020 ist OpenJDK 15, siehe:

Danke für den Hinweis, ist korrigiert.
+2
Bananenbieger24.09.20 22:25
tk69
Wird Java (also nicht JavaScript) immer noch benötigt und gehört nicht bald zu aussterbenden Art wie Flash?
Mit Java läuft das halbe Internet. Serverseitig läuft oft Java und die Mehrheit der Apps auf Android ist ebenfalls mit Java programmiert worden.

Auch jede Menge Desktop-Apps setzen auf Java, besonders im Enterprise-Bereich.
+1

Kommentieren

Sie müssen sich einloggen, um die News kommentieren zu können.