DropTalk 3をリリースしたので、プログラマ的に自慢してみる


HMDTでコツコツと開発を続けているVOCAアプリ、DropTalkの最新版であるDropTalk 3が公開されました! 今日のところはまずはDropTalkをリリース。DropTalk HDとDropTalk HD Freeはもう少しお待ちください。現在審査中です。DropTalk 3の詳しい情報は、こちらのDropTalkのページを参照してください。

DropTalk 3は、前のバージョンから大幅な機能アップをしました。すんごい大幅なんです。もちろんユーザにとって便利な機能を実装していったわけなんですが、結果的にプログラマとして大きいチャレンジになるものがいくつかあって、それらをガシガシと実現していきました。これが楽しかったんですよ。

ということで! HMDTのサイトでは、DropTalk 3におけるプログラマ的に注目してほしいポイントを紹介していきます。単なる自慢ですね、これは。

Finderライクなファイル管理

DropTalkではキャンバスと呼ばれるファイルを作るんですが、以前のバージョンではフラットにしか管理できなかったんです。当然、キャンバスの数が多くなると管理が困難になります。ユーザの方に聞くと、数十とか100とか平気で作ってしまうらしいんですよ。これはもう、フォルダを導入して階層管理にするしかないでしょう。

iOSでフォルダを利用した階層管理を実現しようとすると、問題になるのがユーザインタフェースです。UITableViewでチマチマやるのも格好悪いし。よーし、これを作ったれ! ということで、気合を入れてファイル管理ユーザインタフェースを作りました。

基本的な操作はドラッグアンドドロップです。ドラッグして、項目の並び替え、フォルダに入れる、といった操作ができます。上の階層に戻すときは、ナビゲーションバーにドラッグするようにしました。あと、メニューを使って、カット/コピー/ペーストもできるようにしました。Finderですな、こりゃ。

 

UICollectionViewの編集

UICollectionViewが大好きです。最近は、ほとんどのアプリのユーザインタフェースは、これで組んじゃいます。でも、使い込んでいくうちに欲しくなるのは、編集機能。UITableViewみたいに、行や列の追加や削除ができたり、並べ替えができたらいいのになー、と思ってました。

ないものは作ってしまえー、ということで作りました。UICollectionViewに編集モードを追加して、行や列を自在に編集しています。

これは特に難しいことをしているわけではなくて、ほぼ用意されているメソッドだけで作りました。insertItemsIndexPaths:とdeleteItemsAtIndexPaths:を駆使しています。難しくはないけど、泣きそうになるほどめんどくさかったです。

SVGレンダラの作成

DropTalkは、可愛らしいシンボルが魅力です。これはできるだけ綺麗に描きたいところ。が、年を追うごとにiPadの画面がどんどんでかくなってきて、リソースとして保持しているPNGファイルじゃ解像度が足りなくなってきました。iPad Proの画面サイズなんてどうすりゃいいのよ。もっと大きいPNGファイル作る? それだとアプリサイズがどんどんでかくなってしまいます。

これを解決するには、ベクタファイルに対応するしかないね! ということで、シンボル画像をSVGファイルに変換して、それを表示するためにSVGレンダリングエンジンを作りました。これなら、どれだけ画面が大きくなっても大丈夫です。iPad Proでもこの美しさです!

svg_renderer

 

 

こんな感じで、プログラマ的に面白いことを色々とやってみました。やりたいと思ったことに、チャレンジできる時間と技術の余裕があったのが嬉しかったですね。

  1. コメントはまだありません。

  1. トラックバックはまだありません。