カテゴリー : 2013年 8月15日

iOS『大辞泉』のOS Xへの移植を試みる


世間様は夏休みだけど、変わらず仕事をしております。でも、なんか気分的に乗ってこないので、いままでやりたかったんだけど時間がなかったから保留してたものをやってみた。

それは、iOS『大辞泉』の、OS Xへの移植。iOSアプリもOS Xアプリも、プログラミング言語としてはObjective-C+C言語を使っている。さらにCore GraphicsやCore Textといった下位レイヤーのフレームワークは共通なので、移植のハードルは低い。大きな問題になるのは、ユーザインタフェース。UI KitとApp Kitというフレームワークの違いもさることながら、タッチ操作とマウス操作というデバイスの違いがあるので、そこは作り替える必要がある。大辞泉は、意識的にUI Kitにあまり依存しないようなユーザインタフェースにしておいた。

で、3日ほどコードをいじった結果、辞書の検索および検索結果の表示はできるようになった。

daijisen_osx

検索のためのソースコードは、ほぼiOSと同じ。表示に関わらない箇所は、ほとんど変更しないでいける。検索結果を描画するSayoriレンダリングエンジンも、5%程度の修正でいけた。まぁ、もともとクロスプラットフォームを見越して、機種依存部分を切り分けていたんだけど。

対応の手間が大きいのはコントローラ部分。iOSのUIViewControllerに、OS XのNSViewControllerを対応させているんだけど、両者の設計にはだいぶ差があるので、その吸収が腕の見せ所だね。

作業の結果、Xcodeのターゲット切り替えで、iOS版とOS X版のビルドを作れるようになった。

xcode_target

このOS X版をリリースするかどうかは、まだ不明。欲しいという声が多かったら、検討する。個人的にはいまの作業環境だと、辞書はiPhoneよりもMacで使うから、OS X版が欲しいなぁ。

あと、iOS版の大辞泉は、ただいまセール中。制限解除のアドオンが、2,000円→1,500円になっている。セールは明日までなので、よろしく。