Q.O.Fはフロントエンドにまつわるクオートを集積するウェブアプリケーションです。
本アプリケーションは テストしやすいJavaScript のデモ用に作成されました。
このバージョンでは、大きく分けて以下の4つのアクションが混在しています。
- jQueryの
domready
イベント / ページイベント - 保存ボタン(
#form-send-mock
)のクリックイベント / ユーザイベント - フォーム(
#send-quote
)内のデータ / ユーザインプット .append()
内でのHTML生成 / HTMLテンプレート
このバージョンではサーバとのデータの送受信を行うロジックは 組み込まれていません。
jQueryの$.ajax()
メソッドを使ってデータの送信を行うとしたら、上記に加えて:
- ネットワーク書き込み
success
やerror
などのネットワークイベント
の2つのアクションが追加されることになります。
併せて6つのアクションがそれぞれ複雑に関連しあって、本アプリケーションに必要なロジックを実行しています。
このバージョンでは、not_goodブランチ
のソースコードをテストしやすいコードへとリファクタしています。
実際にJavaScriptのテストツールであるmochaを使ったテストも行っています。
not_goodブランチ
で実装したロジックそのものには変更はありません。
このバージョンでもサーバとのデータの送受信を行うロジックは 組み込まれていません。
このバージョンはFirebaseというJavaScriptから簡単にデータの生成、保存、取得などを行えるサービスを利用し、実際にきちんと動作するアプリケーションにしています。
テストしやすいJavaScriptとは一切関係がありませんが、手軽にデータのIOに関連するバックエンド環境を利用できるので、サンプルアプリケーションなどを構築するのに非常に便利です。
プログラミングに限りませんが、何かを学ぶ上でもっとも効率的な方法は実際にやってみることです。
JavaScriptを書きたいと長らく思っているけど、まだ書けない。
と感じている方は是非、このアプリ、Q.O.F、に新しい機能を追加するなどから初めてみてはいかがでしょうか。
新機能を追加した際にはぜひPull
Requestを送って下さい。1人で開発するよりも多くの人と一緒に開発したほうが楽しいですし、勉強にもなりますので。
Anything I wrote is public domain: http://unlicense.org/. Other than that, please refer and respect thier licence.
- jQuery / MIT license by jQuery Foundation
- Font Awesome / SIL Open Font License、MIT license、CC BY 3.0 License by Dave Gandy
- SubtlePatterns / CC BY 3.0 License by Atle Mo
- Grunt / MIT license by "Cowboy" Ben Alman, contributors
Initially build by Yuya Saito [email protected]
Made Proudly in Tokyo.