株式会社LITALICO でエンジニアをやっています、@kentya6です。
『LITALICO Advent Calendar 2016』12日目の記事となります。
今回、スクリーンショット拡張Macアプリケーション「Fuwari」を作って公開しましたので、開発の経緯や流れ、アプリの使い方などを書いていきます。
開発背景
私は今までKiritoriを仕事でもプライベートでもよく使っていました。
画面の任意の範囲を一時的に最前面にしたい時や、範囲指定の画像保存をする際に領域を確認してから保存する時等に使うアプリケーションです。
普段は、様々なIDEのインスペクタの値を一時的に見やすい位置においてみたり、スライドに埋め込むためにパパっと画像の範囲を指定してから保存するために使っていました。
しかしmacOSをSierraにしてからは、私の環境ではKiritoriが動作しなくなってしまいました。
代替アプリを探しましたが、Sierraでは同様に動かなくなっていたり、動作してもMacAppStoreで有料で販売されているようなものでした。なので、これを機にKiritoriと同じようにスクリーンショットを最前面に保持するアプリを作ることにしました。
今回開発したアプリはオープンソースとして公開しています。
私自身が普段よく使うため、今後様々な機能追加やOSアップデート後に問題があれば即対応する予定です。
主な使い方
アプリケーションを起動後、Kiritoriと同様に⇧⌘5で画面キャプチャのカーソルが出現します。
ドラッグで切り取る範囲を指定し、⌘Sで画像保存する、というのが主な使い方です。
切り取った画面は⌘Wで削除することもできます。
デモ動画はこちら↓になります。
画像リソースの準備
どれも簡単なアイコンなので、全部Sketchで作成しました。
maxOSのアイコンレイアウト等はSketchAppSourcesから探して使いました。
アプリアイコンの書き出しはPrepoを使用しました。
WebSite
アプリ開発に伴い、GitHub Pagesでサイトを公開しました。
Downloadボタンより、dmgファイルをダウンロードして使用してください。
https://fuwari-app.com
独自ドメインによるHTTPS運用ですが、ドメインを取得した後、gh-pages
ブランチでCNAMEファイルをプッシュし、ネームサーバをCloudflareのものに置き換えることで実現しています。
オープンソース
今回開発したFuwariは全てオープンソースとして公開しています。
Fuwari リポジトリ
ライセンスはMITにしています。
##フレームワーク
内部フレームワークとして以下を使用しています。
-
Magnet
- グローバルホットキーの管理
-
LoginServiceKit
- ログイン時のアプリ起動設定処理
-
Sparkle
- アプリアップデートの確認と通知
-
Fabric
- 主にクラッシュレポート用
なお、今回はCocoaPodsではなく全てCarthageを使ってフレームワークをインストールしました。ビルド時間が大分速くて捗りました。
今後の開発予定
現在のFuwariはVer.0.1にしており、設定画面にほとんど項目がなくKiritori等のアプリに比べてまだまだ機能不足なので、まず直近は以下の機能を作っていこうかなと思っています。
-
マルチスクリーン対応->v0.2で対応しました-> v0.3で改良しました -
ホットキー拡張-> v0.3で対応しました -
画像保存形式指定-> v0.4で対応しました -
Escキーでキャプチャキャンセル-> v0.2で対応しました -
クリップボードにコピー-> v0.4で対応しました
今後仕事でもプライベートでも普段使いするつもりなので、このFuwariを日々使いながら感じた改良点を上記の項目以外でも実装していく予定です。
まとめ
前述した通りFuwariは全てオープンソースとして公開されています。
バグや不具合、要望等ありましたら、Issue、PullRequestなどお待ちしています。
他になにかありましたら、@kentya6までTwitterやGitHub経由でご連絡ください。この記事のコメントでも構いません。
これからより使いやすいアプリケーションに進化させるので、どうぞよろしくお願いいたします。
明日は、@klriutsaさんが絶対に笑ってはいけないRailsコード集について書くそうです。よろしくお願いします!