Microsoft contributes to Java port for Apple silicon Macs

Posted:
in Mac Software edited September 2020
Microsoft, along with a number of other major developers, are working to port Java to ARM-based Mac and Windows machines, including upcoming Apple silicon Macs.

Apple Silicon


Project collaborators Microsoft, Azul, and others, hope to have a working port of OpenJDK ready for Apple's ARM-based Macs when the machines begin to hit store shelves in 2021, reports InfoQ.

JVM performance expert Monica Beckwith is spearheading the initiative for Microsoft. A Java Champion, Beckwith is an experienced Java performance engineer with a specialization in ARM architecture. She previously handled similar projects at Oracle and Sun.

Azul CTO Gil Tene detailed the strategy in a statement, saying the companies are moving quickly to avoid the "problem" of ARM-based Macs with no Java support.

"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," Tene said. "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."

As noted in the report, a port of the Java Runtime Environment (JRE) will allow developers to leverage the specification without the need to re-code or modify apps. Contributions from Microsoft, Azul and their partners should ensure a relatively hassle-free deployment once Apple silicon Macs see release.

Announced at this year's Worldwide Developers Conference, Apple silicon will bring the tech giant's A-series chips to Mac for the first time. The long-rumored move away from Intel requires a comprehensive suite of software designed to ease developer workflows during the transition period.

Apple's first ARM-powered Macs are speculated to arrive in late 2020. Analyst Ming-Chi Kuo in June predicted the 13.3-inch MacBook Pro to be Apple silicon's debut platform, with the release followed by other MacBook models. A new MacBook Air and larger MacBook Pro variants are rumored to launch in 2021.
«13

Comments

  • Reply 1 of 45
    rob53rob53 Posts: 2,917member
    Why? Java isn't going to make use of all the Apple-specific capabilities, it's just going to continue to run on Macs. What Java applications do people even use anymore?
    watto_cobranetmage
  • Reply 2 of 45
    dewmedewme Posts: 4,184member
    rob53 said:
    Why? Java isn't going to make use of all the Apple-specific capabilities, it's just going to continue to run on Macs. What Java applications do people even use anymore?
    Eclipse for one.
    repressthisFileMakerFellerwatto_cobra
  • Reply 3 of 45
    rob53 said:
    Why? Java isn't going to make use of all the Apple-specific capabilities, it's just going to continue to run on Macs. What Java applications do people even use anymore?
    Obviously you don't use your Mac in an enterprise environment.
    skippingrockjdb8167FileMakerFellerbkkcanuckwatto_cobra
  • Reply 4 of 45
    rob53 said:
    Why? Java isn't going to make use of all the Apple-specific capabilities, it's just going to continue to run on Macs. What Java applications do people even use anymore?
    I code Java for a living, and Groovy too, increasingly, and Kotlin's on the horizon. All JVM languages. But I use Macs to do it, by *strong* preference. It's not the primary target platform for the products I'm working on (although it runs on it just fine), but it's the one I choose to use to do the work. I could fall back to Linux or Windows (in order of preference), but I'd rather not. And as long as I don't have to, I'm still in the market for shiny new apple kit on a regular basis. And there's lots like me.

    Of course part of me remembers Steve Jobs promising that Java was going to be an equal first class citizen for writing Mac apps, back when OSX came out. But <sigh/>.
    repressthishattigGG1dysamoriaskippingrockroundaboutnowjdb8167FileMakerFellerwatto_cobrajony0
  • Reply 5 of 45
    BeatsBeats Posts: 2,913member
    Do you think Apple will have a closed App Store except for rare software? I'm thinking Apple is gonna reset apps for Mac with Apple Silicon. This will close security holes etc.
    ro_ro_ur_boatrepressthis
  • Reply 6 of 45
    dewmedewme Posts: 4,184member
    rob53 said:
    duplicate--something is really going slow
    There is something wonky happening with AppleInsider commenting right now. I tried it with Safari and Firefox on iPad and I couldn’t get an edit cursor until toggled the expander (double arrow) in the upper right of the edit box. Once I did that everything seems better for now, but it may be just a coincidence.
    repressthismuthuk_vanalingamapplguylkruppwatto_cobra
  • Reply 7 of 45
    Will this port of JRE be available through the App Store? And if not, will installation of this JRE through manual downloading and installation be accompanied by any warnings from Apple, perhaps like the Digital Signature from Apple being absent? And will it require admin privilege to install?
    watto_cobra
  • Reply 8 of 45
    Beats said:
    Do you think Apple will have a closed App Store except for rare software? I'm thinking Apple is gonna reset apps for Mac with Apple Silicon. This will close security holes etc.

    No.
    Beatsfastasleepjony0netmage
  • Reply 9 of 45
    rcfarcfa Posts: 1,124member
    So, for all these years there was no arm64 version of a JVM?
    watto_cobranetmage
  • Reply 10 of 45
    rcfa said:
    So, for all these years there was no arm64 version of a JVM?
    There has been, for linux/aarch64.

    What with that and the macos/x64 support both being around for ages, I suppose it was too much to hope you could just git clone and run the build on a DTK to get macos/aarch64 😉 
    FileMakerFellerwatto_cobra
  • Reply 11 of 45
    rcfa said:
    So, for all these years there was no arm64 version of a JVM?
    I don't think Apple Silicon has the exact same instruction set as Arm. It's a variant that Apple has a license to create.
    watto_cobra
  • Reply 12 of 45
    Will this port of JRE be available through the App Store? And if not, will installation of this JRE through manual downloading and installation be accompanied by any warnings from Apple, perhaps like the Digital Signature from Apple being absent? And will it require admin privilege to install?
    No and no.

    These days, as a user, potentially of a Java app, you won't be asked to install a JRE. Rather, one will be packaged and embedded with the app, stripped down to just the parts that that app depends upon. It won't otherwise touch the system, handle jar files, url types, or anything, unless the app itself is coded to. Applets died many years ago, and for a while WebStart (launching desktop apps from websites) was the only reason to have a JRE, but that's gone now too. In summary, apps should basically come with their own JRE embedded within and you wouldn't even know without opening the app bundle and looking for it.

    As a developer, easiest way these days is to install it from AdoptOpenJDK.net, optionally via Homebrew, but you can also just download the OpenJDK build directly and unpack the tarball to anywhere you want, or if you want to be liable for their fees, download it from Oracle. Either way, it's all signed and notarised, and apps you write on your system you can run on your system without any problem. For packaging for customers/end-users, to run on the Mac you need to code sign and notarise the resulting app bundle as yourself with an Apple developer ID, just as with any other Mac app.

    I don't expect any of this to be different with ARM Macs, once the actual port is done and AdoptOpenJDK have a system set up to build and test theirs on.
    repressthisfastasleepGG1mwhiteroundaboutnowjdb8167watto_cobra
  • Reply 13 of 45
    rcfa said:
    So, for all these years there was no arm64 version of a JVM?
    I don't think Apple Silicon has the exact same instruction set as Arm. It's a variant that Apple has a license to create.
    my understanding is that it *is* aarch64, that's the license they paid for. but it's their own implementation. Think of it like Intel and AMD each having their own implementations of the x86_64 instruction set... The extensions are probably to access the extra stuff their silicon does, like neural engine/ML and Secure Enclave etc.
    Rayz2016mwhitewatto_cobra
  • Reply 14 of 45
    BeatsBeats Posts: 2,913member
    mjtomlin said:
    Beats said:
    Do you think Apple will have a closed App Store except for rare software? I'm thinking Apple is gonna reset apps for Mac with Apple Silicon. This will close security holes etc.

    No.

    Right. Didn't work for iPhone, iPad, Apple Watch.

    /s
  • Reply 15 of 45
    Beats said:
    mjtomlin said:
    Beats said:
    Do you think Apple will have a closed App Store except for rare software? I'm thinking Apple is gonna reset apps for Mac with Apple Silicon. This will close security holes etc.

    No.

    Right. Didn't work for iPhone, iPad, Apple Watch.

    /s
    Apples and oranges. iPhone, iPad and Apple Watch aren't productivity or enterprise platforms for software people (developers, programmers, architects, engineers), IT workers or lots of other professionals. Such people are going to make heavy use of software and tools that will never be in any app store. In fact, even if it isn't heavy use but rather even very occasional use - like once every couple of months - that tool has to be available if you need it for your job. Some people need tools that they literally have to pull down from GitHub and compile from source, for instance. Locking down Macs would take Apple back to the 1990s - prior to switching to Intel and in particular before iPods and later iPhones caused Apple market share and mindshare to explode - when the only people who use Macs are the creative crowd. 
    muthuk_vanalingamBeatsfastasleepjdb8167
  • Reply 16 of 45
    Will this port of JRE be available through the App Store? And if not, will installation of this JRE through manual downloading and installation be accompanied by any warnings from Apple, perhaps like the Digital Signature from Apple being absent? And will it require admin privilege to install?
    No and no.

    These days, as a user, potentially of a Java app, you won't be asked to install a JRE. Rather, one will be packaged and embedded with the app, stripped down to just the parts that that app depends upon. It won't otherwise touch the system, handle jar files, url types, or anything, unless the app itself is coded to. Applets died many years ago, and for a while WebStart (launching desktop apps from websites) was the only reason to have a JRE, but that's gone now too. In summary, apps should basically come with their own JRE embedded within and you wouldn't even know without opening the app bundle and looking for it.

    As a developer, easiest way these days is to install it from AdoptOpenJDK.net, optionally via Homebrew, but you can also just download the OpenJDK build directly and unpack the tarball to anywhere you want, or if you want to be liable for their fees, download it from Oracle. Either way, it's all signed and notarised, and apps you write on your system you can run on your system without any problem. For packaging for customers/end-users, to run on the Mac you need to code sign and notarise the resulting app bundle as yourself with an Apple developer ID, just as with any other Mac app.

    I don't expect any of this to be different with ARM Macs, once the actual port is done and AdoptOpenJDK have a system set up to build and test theirs on.
    Ok, interesting. I came from an ancient era where I had to install a JRE app on my computer before I could run Javascript on web pages. And you're explaining that that's all done within the web browser now, I think. That's good progress.
    watto_cobra
  • Reply 17 of 45
    rob53 said:
    Why? Java isn't going to make use of all the Apple-specific capabilities, it's just going to continue to run on Macs. What Java applications do people even use anymore?
    Minecraft Java Edition easily the best version because mods to the game are java based. 
    skippingrockwatto_cobra
  • Reply 18 of 45
    sflocalsflocal Posts: 5,947member
    rob53 said:
    Why? Java isn't going to make use of all the Apple-specific capabilities, it's just going to continue to run on Macs. What Java applications do people even use anymore?
    Because Java isn't important to you doesn't mean it's not important to others.  I develop in Java and use it everyday on MacOS.  My development tools are in Java... running on MacOS.

    Give it a rest.
    skippingrockjdb8167bkkcanuckwatto_cobra
  • Reply 19 of 45
    Rayz2016Rayz2016 Posts: 6,957member
    Beats said:
    mjtomlin said:
    Beats said:
    Do you think Apple will have a closed App Store except for rare software? I'm thinking Apple is gonna reset apps for Mac with Apple Silicon. This will close security holes etc.

    No.

    Right. Didn't work for iPhone, iPad, Apple Watch.

    /s
    True, but on the other hand, millions of developers aren’t using iPhones, iPads and the Apple Watch to run the IntelliJ toolset, Docker, Eclipse, Git clients, static website builders …
    edited September 2020 fastasleepjdb8167watto_cobra
  • Reply 20 of 45
    Rayz2016Rayz2016 Posts: 6,957member

    rob53 said:
    Why? Java isn't going to make use of all the Apple-specific capabilities, it's just going to continue to run on Macs. What Java applications do people even use anymore?
    I code Java for a living, and Groovy too, increasingly, and Kotlin's on the horizon. All JVM languages. But I use Macs to do it, by *strong* preference. It's not the primary target platform for the products I'm working on (although it runs on it just fine), but it's the one I choose to use to do the work. I could fall back to Linux or Windows (in order of preference), but I'd rather not. And as long as I don't have to, I'm still in the market for shiny new apple kit on a regular basis. And there's lots like me.

    Of course part of me remembers Steve Jobs promising that Java was going to be an equal first class citizen for writing Mac apps, back when OSX came out. But <sigh/>.
    How is Groovy doing these days?

Sign In or Register to comment.