477
253

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Mac版DevToysがなかったので3日で作って公開した。

Last updated at Posted at 2022-02-02

きっかけ

こちらの記事で紹介されていたDevToysを使ってみたら非常に便利で、これは日常使いしたい!となりました。

しかしなんということでしょう。DevToysはWindowsアプリでありmacでは使えないではないですか!iOS・macアプリ開発者の私としてはmacを捨てるわけにはいかないので、mac版のDevToysを開発しました。

できたもの

というわけで3日ほどでmac版DevToysクローンを作成しました。
以下のReleaseからダウンロードできます。

スクリーンショット 2022-02-02 18.49.04.png

開発

可能な限り高速で開発をする必要があったため、他のOSSどううまく使うかが勝負です。

アプリ全体

他の開発中のmacアプリからユーティリティ系コードは大部分を流用しました。
これでだいぶ開発が楽になります。

スクリーンショット 2022-02-02 18.51.01.png

Json <> Yaml

OSSのYamsを用いて実装しています。本家DevToysではなぜか Yaml -> Json, Json -> Yamlの切り替え式だったので両側入力にしてあります。

SwiftのDictionaryを用いている都合上キーの順番が維持されないのでこれは後でなんとかします。

スクリーンショット 2022-02-02 18.51.05.png

Number Base Converter

特に言うことなし。String.init<T: BinaryInteger>(_ value: T, radix: Int, uppercase: Bool)Int(_ value: String, radix: Int)便利だねってくらいかな?

スクリーンショット 2022-02-02 18.54.52.png

HTML Encoder / Decoder

OSSのHTMLEntitiesを使わせてもらっています。

スクリーンショット 2022-02-02 18.57.17.png

URL・Base64・JWT Encoder / Decoder

これも特にないかな?Foundationの標準機能で実装可能です。

スクリーンショット 2022-02-02 18.58.44.png
スクリーンショット 2022-02-02 18.59.23.png
スクリーンショット 2022-02-02 19.00.05.png

Json Formatter

あまり使われてないライブラリですが、ちょうど良かったのでSwiftJSONFormatterを使用しています。ただいくつかバグがあったのでForkして修正して使っています。

スクリーンショット 2022-02-02 19.03.09.png

Hash Generator

こっちは超有名ライブラリの CryptoSwift を使っています。CryptoSwiftにはもっと色々なHashが実装されているのでそのうち増やしても良いかもしれません。

スクリーンショット 2022-02-02 19.03.26.png

UUID・Lorem Ipsum Generator / Text Case Converter

特になし。Foundationの標準機能で実装しています。

スクリーンショット 2022-02-02 19.05.19.png
スクリーンショット 2022-02-02 19.05.30.png
スクリーンショット 2022-02-02 19.06.41.png

Image Optimizer

optipngjpegoptimのバイナリを実行しています。バイナリ実行のためにApp Sandboxが使えなくなるのでSign周りが面倒でした...

スクリーンショット 2022-02-02 19.07.23.png

Text Diff・Markdown Preview・Color Blindness Simulator

実装コストの面と必要性の面から実装していません。
要望があれば実装すると思います。

おまけ

本家にない機能を色々追加してみたりしています。

PDF Generator

画像を取り込んでPDF化できます。

スクリーンショット 2022-02-02 19.11.28.png

Network Information

Local IP・接続情報・Speed Testが行えます。

スクリーンショット 2022-02-02 19.12.20.png

以上でございます。
ダウンロードしていただければ私が喜びます...!

477
253
5

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
477
253

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?