iOS/iPadOSアプリ PixelaUI 0.1.0 をリリースしました #pixela

PixelaUI

PixelaUI

  • Yutaro Muta
  • ユーティリティ
  • 無料
apps.apple.com

これはなに?

PixelaiOS/iPadOS向けクライアントアプリケーションです。
アプリ名は、後述する使用frameworkである SwiftUI ともかけています。
サポートOSバージョンは iOS/iPadOS 13.2以上 です。

どうやって使うの?

Pixelaの使い方を見てもらうとよいです。
これの主要機能を、iOS/IPadOSのUser Interfaceで提供しています。*1
blog.a-know.me

Pixela自体はAPIのみを提供していて、User Interfaceサードパーティ製というスタンスを取られています。
一方で、Programableと結びつきにくい日常生活の中で手軽に使うにはハードルが高い側面があります。
iOS/iPadOSで気軽に扱えるように、という思いで作りました。

どうやって作ったの?ほか

2020/01/07の深夜に思い立って、約2週間でリリースまで来ました。

開発時間の記録は、このグラフに取っています。
pixe.la

実装は SwiftUI を使っています。
WWDC 19での発表当初から遊んでいたので、20時間弱で一通りの使える機能実装はできていました。
仕事から帰ってからの時間だけでも、1週間くらいでできたし、Viewerとしてのアプリなら、もっと楽にできそうな印象です。*2

ここからマルチアカウント機能つけたり、Context Menuによるincrement*3を実装したり、エラーハンドルをちゃんとしたりで、なんだかんだで倍くらいかかってしまった。*4

仕事やPyCon JP名義 でのリリースはして来たけれど、実は個人としてのアプリリリースは初でした。

Special Thanks

(以下、敬称略)

Pixelaの生みの親で、はてなの同僚でもある id:a-know には、アイコン画像を提供してもらったり、API仕様の相談をしたり、機能提案をもらったりと、開発をとても助けていただきました!
改めてお礼を、ありがとうございます。

また、同僚の id:cockscomb, id:ikesyo にも、SwiftUIやEmbeded Frameworkの話で相談に乗ってもらいました。

それから、Twitterでアイディアをくれた @omochimetaru@giginet@tarunon@_bannzai_@nakiwo もありがとうございました!
実は v0.1.0 では、まだ修正に着手できていなくて、微妙な挙動をしています🙇‍♂️ *5

お知らせ

サポートOSバージョン

SwiftUIを使っている関係上、iOS/iPadOS 13.0以上は必須なのですが、開発環境で確認しやすいiOS/iPadOS 13.2以上とさせてもらいました。
また、今後のアップデートでも、SwiftUIアップデート時のAPI diffによっては、サポートOSバージョンを変更する可能性があります。
ご了承ください。

今後の非互換変更

実装がしっくりきていない部分があるので、 今後非互換変更を入れることになるかもしれません 🙇‍♂️
アプリ内からアカウントを作成した場合も、別途セキュアな領域に token を保存しておくことを、強くおすすめします。

そういった理由で、アプリバージョンも v0.1.0 としています。
非互換変更を経た後に、 v1.0.0 を迎えたいと思います。

完成度

上記以外にも、作り込みの足りない箇所が多々あります。
これは自分自身のSwiftUIへの理解度が足りていないことが原因でありつつも、SwiftUI自体にUIコンポーネントが全て出揃っている訳ではないことも理由の一つです。
id:yutailang0119 のレベルアップと、SwiftUIのアップデートにご期待ください。

有料化

前述の v1.0.0 のタイミングなどで、有料アプリに変更する可能性があります。
これは id:yutailang0119 の気まぐれで行われると思うので、 2020/01/23現在はいつ変更するのかは未定です。
サブスクモデルではなく、パッケージモデルのつもりなので、無料の内にダウンロードしておくと、お得かもしれません。

無料アプリだけど、ぜひ支援させてくれという方がいましたら、おたよりお待ちしています 🙏

おたより

おたよりはこちら

*1:今後のアップデートで、対応APIを追加予定です

*2:もちろん世間一般で言われているバギーな印象も持っています。

*3:f:id:yutailang0119:20200122121920p:plain:w250:rightグラフのint or floatに合わせて、incrementされます

*4:審査通ってからリリースボタンを昨日の昼に押したのですが、夜中まで公開されずやきもきしていました。

*5:APIの仕様を変更してもらいました。