So-net無料ブログ作成
  • ブログをはじめる
  • ログイン

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:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。