開発案件が一段落したので前から作りたいと思っていた、TODOとメモ機能が入った自分専用のアプリを作り始めました。
既存のTODOアプリの不満
開発タスク等は Redmineで管理していますが、雑務や日常生活でのTODOを管理するには大げさ過ぎます。Mac/iPhoneには リマインダー という使いやすいTODOアプリがあり一時期使っていましたが、 私はTODOにタスクだけでなくメモをたくさん書きたいのですが、このリマインダーのメモ機能は貧弱で、だんだん使わなくなってしまいました。
Markdownエディタ
メモ等はMarkdownで書いてDropboxに置いています。 iPhone/iPadには多数のMarkdownエディターアプリがありDropboxをサポートしてるものがあります、MacではエディターやMac用のMarkdownアプリで読み書きしていました。
最近、GitHubのMarkdown拡張である task lists (checkbox) が今使っているiOS/Macアプリで使える事が判り、これをTODO管理に使ってみたのですが、とても使い勝手が良いので使い始めました。
自分専用のアプリ
ただし細かいところで使い勝手が悪く、App Storeにある全Markdownアプリを試してみましたが満足できるアプリはありませんでした。そこで自分で作ってみる事にしました。 私が必要としているのは、
- iPhone/iPadで動く
- Markdownが書ける
- Markdownには task lists (checkbox) が書ける
- DropboxまたはiCloud でファイルが共有できる
- Makrdownファイルの一覧にタグ(色付きのマークが)が付けられる
App Store で公開しようという考えは無いのでデザインや他人の使い勝手は考えなくて良いです、またMarkdownエディターとしての機能、使い勝手もそれど追求する必要はありません。
このアプリを作るのに技術的に難しい点は、
- Markdown記法をきれいに表示する
- Dropboxとのやりとり
の2つです。Markdown記法をパースしてHTMLに変換するJavaScripライブラリーが多数あり今回は Marked を使いました。このライブラリーの実行やHTMLの表示はiOSのWebView(WKWebView)を使う事で簡単に出来ます。
Dropboxとのやりとりは公式の SwiftyDropbox for iOSがありそれほど難しくない事がわかりました。
ちなみに iOSアプリなら iCloudの方が簡単かもと思い調べましたが、Dropboxに比べて簡単ではないことや情報の少なさから止めました。
iOSアプリ作成の練習
今回iOSアプリを作ろうと思ったのは、iOSアプリ作成の練習という意味もあると思ったからです。
現在、継続して行っている仕事はWeb系が中心で、iOSアプリの作成は年に1度あるかどうかです。
iOSは定期的にバージョンアップします、新機能の追加だけでなく既存の機能・APIの変更が行われる事があります。また Swift 言語も定期的にバージョンアップしています、1年くらい経つとかなりと変わっている事があります。
したがってプログラマーとしては、日頃の鍛錬として最新の環境でアプリを作る事は非常に重要だと思います。
つづく…