SSブログ

WWDC2018 macOS関連 [日常のあれやこれや]

WWDCが終わった。僕は最新を追いかけるわけではなくて、macOSをプログラミング環境として使っている身なので、これからmacOSがどうなるのかをチェックしておきたいだけである。

キーノートではmacOSにUIKitが部分的に導入されるという話があった。AppKitは古臭いところもあるので、UIKitを拡張する形でAppKitをそのうち置き換えるのだろうと思っていたけど、そう簡単にはいかないようである。

そんなちょ〜最新の話のまえにDeprecationsが毎回怖い。今度は何が使えなくなるんだろう、といつもドキドキしている(Documentation Archiveにある06-04付けのは今回Deprecatedに指定されたものらしい)。今回はOpenGLとOpenCLが宣告を受けた。OpenGLに対してはMetalとそのシェーダMetalKitを代わりに使え、と言っているらしい。OpenGLは確かに古臭いんだけど、長いことOpenGLしかない、と言う状態が続いていたので、OpenGLを使っている人たちがそう簡単に「ああそうですか」と言うとは思えない。それに何と言ってもMetalはApple以外では動かないし。

それにOpenCLのほうはそもそもAppleが言い出しっぺなので、後から梯子を外す、という状況になってしまっている。まあOpenCLは本当にパフォーマンスを出そうとしたらすごく難しいということは僕もわかった(カラーカメラのベイヤ→RGB変換とかをOpenCLでちょこっと書いたけどCPUでやるのと変わらなかったりかえって遅かったりしたので捨てた)ので、僕自身には影響ないし。

そういえば一瞬話題があったLinearAlgebraはDeprecatedになる前に、そもそもなかったことになったようである。結局まともなドキュメントはないまま数年が経って、XcodeのSDKにはAccelerate/vecLib/LinearAlgebraにあってヘッダも読めて動くんだろうけど、おそらく残骸が残ってるだけだろう。ひどい話だけどAppleらしいと言えばAppleらしい。

そんなこんなで、僕のコードの中にDeprecatedになったのがどんどん溜まっていってる。それをさっさと消化しないとmacOSをアップデートすると動かなくなりました、なんてことが起こってしまう。

喫緊の課題はNSConnectionである。これはスレッド/プロセス/リモート間でデータをやり取りするための基本クラスで、僕は独立したNSRunLoop間やネットワーク越しの通信とかのいろんなところで使っていた。特に問題なのはGigEカメラの画像データをUDP経由で受け取るのに使っている部分。これはかなりタイミングクリティカルなので、書き換えるのに敷居が高い。そもそも代わりに何を使え、といってるのかもよくわからないし(NSXPCConnectionなのかな。それともObjective-Cでは代替物が無くなってBSDレイヤを使うか、Mach portを使えというのかな)。

それと32ビットアプリのサポートは次のバージョンが最後だと言っている。自分の書いたのは当然として、僕の使っているアプリでは一つを除いてすべて64ビットになっているので、その点はほぼ問題がない。

しかしその残った一つがMathematicaのFrontEndなんだよな。こら、Wolfram Researchよ、いいかげんになんとかしろよ。Stephen自身もmacOSを普段使いにしてるんじゃないのか?もうちょっとやる気出せよ、ほんとに。
nice!(0)  コメント(0) 

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。