最近Qiitaへ投稿する記事をモバイル端末で書くことが多くなりました。
そこでQiitaに記事を投稿できるアプリが無くて欲しいなと思ったので、Qiitaへ記事を投稿することのできるアプリ**『どこでもQiita』**を作ってみました。
Webサービスと連携したアプリを作ってみたいとも前から思っていたので、勉強の教材としてこれ以上のものはないですね。
・・・ちなみにこの記事、今回作った『どこでもQiita』から投稿しています。
どこでもQiita - 記事編集・投稿アプリ for Qiita (iOS版)
※ Android版も提供予定ですが、動作確認が取れていないため、確認が取れ次第公開する予定です。
『どこでもQiita』を使ってできること
- OAuth認証によるQiitaへのログイン(GitHubやTwitterアカウントによるログインも可能)
- 記事の新規投稿
- 記事の下書き保存
- 投稿した記事の修正・削除
- 下書きの修正・削除・Qiitaへの新規投稿
- 記事・下書きのプレビュー(Qiitaとの互換性はなし)
記事を投稿することに重点をおいているため、自分以外の他の人が投稿した記事は見ることができません。
他の人の記事をみたい場合には、すでにたくさんの素晴らしいアプリがありますのでそちらをご利用ください。
開発方針
Qiitaに記事を投稿するために最低限必要な機能のみ考え、とりあえず完成・リリースさせることを最優先としました。
機能をたくさん追加することで完成しないよりも、最低限の機能でも完成させた方が良いと考えました。
そのため開発方針は以下のような感じで、まずはリリースさせることに集中しています。
- クロスプラットフォームに対応する
- Qiitaへの記事投稿に機能を限定し、余分な機能はつけない
- フラットなデザインを採用する
- ライブラリを積極的に使い、車輪の再発明はしない
- ある程度完成したら使用感を確かめて、問題箇所を修正する
- 便利そうな機能を思いついても、最初のリリースでは開発せずに次のバージョンに持ち越す
開発ツール、利用したライブラリ
アプリの開発のために利用したツールとライブラリを簡単に紹介します。
PhoneGap (Cordova)
iOS/Androidのどちらにも対応したアプリを作りたかったので、開発ツールも複数の端末・プラットフォームに簡単に対応できるものを選びました。
Xamarineという選択肢もありますが有料であったので、無料のPhoneGapを選んでいます。
Onsen UI
iOS7風のフラットなデザインを持つアプリを作成することができます。
このライブラリがなかったら、今のようなフラットテザインに比べて激しく劣っているものとなっていたでしょう。
marked
下書きのプレビュー画面で、markdown記法で書かれた文章をHTMLに変換するために使用しています。
変換処理のために時間がかかると思っていましたが、このライブラリは非常に高速に動作します。
highlight.js
markedによって変換されたHTMLに対して、ソースコード箇所を色付けするために使用しています。
ソースコード
『どこでもQiita』の全ソースコード(パスワードなどの秘密情報は除く)はGitHubに公開しています。
ライブラリを何度も変えたのと、リリースに向けてほぼ突貫工事のような開発を行っていたので、ソースコードの見易さは度外視しています。
開発を終えて
PhoneGapでの開発が初めてであることと、ゲームではないアプリの開発が初めてであることから、開発規模に対してリリースまで二ヶ月弱とそれなりに時間がかかってしまいました。
しかし開発を通してPhoneGapの使い方を知ることができましたし、Web関連の技術に触れられたことも非常によかったです。
このアプリを開発する前までは、POST送信とかGET送信さえ知らなかったわけですから、かなりいい勉強になりました!
また、Onsen UIという素晴らしいCSSライブラリにも出会えました。
開発の初期段階で完成のレベルを低めに設定し、終わりが見えやすいようにすることは、開発を途中で投げ出さないために重要なことであると改めて実感しました。
開発中に思いついた改善案を全て実装していたら、途中で投げ出して無事にリリースまで辿りつけなかったと思います。
ひとまず開発はこれで終わりですが、ソフトウェアに限らずものを作るということは非常に楽しいことです。
また何か良いネタが思いついたら作りたいですね!
今後のアプリの更新
『どこでもQiita』のテスト中、既にいくつか追加・修正しておきたい機能が出てきました。
次回以降リリースする時に可能な限り反映していきたいと思います。
追加・修正したい機能は今のところこんな感じです。
- 既存のタグを検索して入力
- TwitterやGistへの投稿確認は、投稿ボタンを押した時の確認画面で表示
- エディタでmarkdown記法の構文を入力するボタンの設置
- エディタの全画面表示
- エディタからの画像を貼り付ける機能
アプリのサポートについて
最後に、このような素人丸出しのアプリを使っていただいている方、ありがとうございます!
改善して欲しいことやアプリの不具合等がありましたら、報告いただければ幸いです。
可能な限り対応したいと思います。
あ、念のためですが本アプリは公式のものではないため、間違ってもQiitaのサポートへ問い合わせたりしたらダメですよ。