読者です 読者をやめる 読者になる 読者になる

なんとなくCocoa Java Bridgeの流れを追ってみる

quesera2.hatenablog.jp

おおむね「ああ、そういうことあったなぁ」などと読んでいたんですが、OpenJDKプロジェクトのくだりで、

IBMApple当時の AppleCocoa Java Bridge など Java テクノロジに熱心だった)が OpenJDK への参加を表明したことで、Apache Harmony プロジェクトは事実上終結しました。*1

という部分に違和感を覚えまして。時系列がちがうなーという印象があったのでちょっと調べてみました。

Cocoa+Java―MacOS Xプログラミング入門

Cocoa+Java―MacOS Xプログラミング入門

Cocoa+Java―MacOS X 10.1対応版 (MacOS Xプログラミング入門)

Cocoa+Java―MacOS X 10.1対応版 (MacOS Xプログラミング入門)

そもそもがWebObjects由来ということもありCocoa Java Bridgeは相当古くから存在していて、OpenJDKに参加するころのAppleはすでにCocoa Java Bridgeは死に体でした*2

OS X 10.5あたりではApple外で開発されていたRubyCocoaPyObjCを搭載していろいろな言語でCocoa Framework使えるよという話も実際あったのでJava BridgeをこれらのLL言語に置き換えるのかなという感じもありましたが、OpenJDKに参加する2010年ごろにはこういう話もApple公式からは話題になることなくひっそりと消えていった気がします。もちろんMacRubyやRubyMotionが出てきたり、上記のRubyCocoaPyObjC*3はまだメンテされているので、Cocoaを別言語から制御するという需要(ひいてはObjective-Cがめんどくさいというお話)があった……そこにSwiftが登場、今に至るというところでしょうか。

またApple自身がOS X用のJavaを開発していたこともあってJavaのバージョンアップに追従するのが遅いというところもありました。なので結果的にCocoa Java Bridgeを推したいわけではなく、Appleのみでメンテしていくの現実的ではなくなったというところに終着するんじゃないでしょうか。最終的に2010年にOpenJDKにAppleは参加します。

jp.techcrunch.com

ただいろいろググって調べてみると、まだAppleが開発しているモジュールに依存したりしているという情報があるようなので、このへんはどうなっていくんでしょうかね。てっきり全部OpenJDKにマージされたのかと思ってましたが。

aoe-tk.hatenablog.com

ま、自分はCocoa Javaで開発したことはないんですけどね。外から観察していてこういう流れに見えていたということで。

*1:強調は筆者による

*2:2006年8月のWWDCで廃止宣言らしいが、一次ソースは見つからず

*3:ちなみにPyObjCはEl Capitanでもバンドルされてる模様