Why do they release their own version? Also why don't they allow Java on their portable devices? I'm looking for their specific reason, something besides "Apple are Nazis".

Dani AI

Generated

Short answer for : Apple historically shipped and maintained the Mac JRE itself because Java needed platform-specific glue on macOS, and Apple wanted control over that integration and the update/support process. is partly right about “proprietary” — but the full picture is technical and contractual, not just corporate stubbornness.

Apple’s Java build included macOS-specific native bindings (Cocoa/AWT bridges, Finder/menus, code signing and packaging behavior) and some Apple-only patches. That made a generic Sun/Oracle build unsuitable without significant porting work and access to platform internals. Apple also managed release timing and security fixes in step with OS updates, so they kept the JRE as part of their platform stack. After Oracle acquired Sun, Apple eventually transitioned responsibility to Oracle/OpenJDK rather than continue maintaining the runtime themselves.

Why no Java on iPhone/iPad: App Store rules and technical constraints. Apple’s developer policies historically forbid third-party runtimes that perform JIT or download and execute new code at runtime, and iOS restricts executable memory and dynamic code generation. Apple framed this as security, performance and UX control — see Steve Jobs’ “Thoughts on Flash” for the policy rationale: .

Practical takeaway (years later): modern macOS machines do not rely on an Apple-supplied system JRE — install a current OpenJDK/Oracle JDK distribution for development or running Java apps. For iOS, running Java requires ahead-of-time compilation or cross-compilers that emit native code; pure JVMs with JIT/interpreters are effectively blocked by platform rules.

Recommended Answers

All 3 Replies

Because everything about Apple is proprietory and they want it that way, and they want to keep it that way.

Because everything about Apple is proprietory and they want it that way, and they want to keep it that way.

But surely there is a better reason? They don't seem to mind Python or Perl for their computers being made by someone else, why just java?

Well, they just anounced they are not going to do it anymore. BTW, other's can make a jvm for Apple, Apple just is not providing the information necessary to make it. We'll have to see how much that changes since they are not going to do it anymore, and who they are going to give it to (if anyone).

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.