さくせん:いろいろやろうぜ

いろいろなことをやって、楽しみます。

Google App EngineでWebアプリをつくった

アウトプットをする1年という目標をもとに、iPhoneアプリを1つリリースし、さて次はゲームを、とか考えていたら他にWebアプリが作りたくなったので作ってみた。

どんなアプリか

  • 共通ID,共通PASSで写真共有

背景

  • 結婚式とか二次会の写真の共有が簡単にしたい
  • 「それ、Facebookで」とか「それ、Flickrで」とか言ってもできない人が多い。
  • メールだと大きな容量送れないし、宅ふぁいる便みたいなのは使えない人多いし、Dropboxなんてもってのほか。
    • これはユーザー登録が面倒だから、操作が分からないのが原因(と思う)。
    • それ、解決しゃちゃう。
  • でも、本当は自分の二次会の写真が欲しいだけ。

解決方法

  1. こっちでIDとPASSを用意してあげる
  2. それらを教える
  3. それらを使ってログインして、写真をアップロードする

言語

稼働状況

GAEの無料枠で現在(たぶんずっと)、プライベートベータとして公開中。
見たい人は僕に連絡をください。俺得なウェブアプリなので・・・。
GAEのBlobstoreの容量限界もあるし、課金してまで動かすサービスではないと考えている。

お勉強になったことなど色々

経験できたこと
  • テンプレートエンジンを使ってのWebアプリ開発
    • しっかりと使ったのは初めてかも
  • jQueryの使用
  • jQueryプラグインの使用
  • 作った時、使ってもらった時の喜び
    • Priceless
雑感
  • FlaskはシンプルなWebアプリにはよい。わかりやすい。楽しい。
  • jQuery、やるじゃん。Cooooool.
  • GAEでBlobを扱うのはやや重い。でも無料だし、十分!
意識したこと
  • GAEっぽさを出す
  • jQuery(DOMの操作、ajaxなど)を使ってみる

作ったWebアプリには写真にコメントをする機能がある。
コメントが送信されたら、画面上はJavaScriptで即時にコメントを反映する。これについてはjQueryを使うとDOMの操作が簡単で助かった。その後、非同期でコメント処理用のURLへコメントのデータ等をPOSTし、タスクキューにコメント登録処理をお願いする。(スクリーンショットなしではわかりづらいですね。)
タスクキューは登録さえしてしまえば裏で仕事をしてくれるので、クライアントに全く関係ないとところが良い。オートリトライもあるし、時間制限も無い。
GAEの場合は任意のURLにデータをPOSTするだけで、タスクキューが登録される(Webフックっていうの?)ので、このへんは非同期通信と相性がいいと感じた。使い手を待たせなくてすむ。
今回はボタンクリックのイベント後にクライアントサイドでJavaScriptでコメント表示をし、その後$.post(url,data)でサーバー側にコメントデータの登録処理をお任せするといった感じ。
これが正しいやり方なのかは不明ですが・・・。

Help!な時

課題

とりえあず、デザインセンスが欲しいですね。

さて、もう1作品くらいやりたいな。