メモ置き場

いろんなメモを置いておく場所。自分用ですが、誰かの助けにもなるかも。

Ruby on RailsによるWebアプリ開発記(01)

はじめに

2014年、春。
私を含め、IT業界で働く友人ら数名で、身内向けWebアプリを開発することになった。私自身の仕事はとある銀行の勘定系アプリ作成なので、Webアプリなんてものは完全に未知の領域だったが、言い出しっぺということもあり、なぜか私が仕切る(&もちろんコードも書く)ことになった。
それを通していろいろと学ぶこと−−主に反省点−−が多かったので、記録として残しておくことにする。(まだ完成していないけど)

何を作るか

  • xxxの代金は、Aさんがまとめて払ってくれました
  • yyyの代金は、Bさんがまとめて払ってくれました
  • zzzの代金は、Cさんがまとめて払ってくれました

といったことが積み重なり、“結局誰が誰にいくら渡せばいいんだっけ?”という把握が煩わしくなったので、それを支援してくれるようなツールが欲しくなった。
いろいろ検索してみるが、細かい要望にドストライクなツールは見当たらなかったので、作ることにした。

何で作るか

私がMacユーザということもあり、最初はiOSアプリでつくろうと考えた。が、以下の理由により断念。

  1. 仲間内で使うだけのツールなのに、開発者登録(有料)が必要
  2. 仲間全員がiOSユーザではない
  3. Objective-Cが意味不明

しばらく悩んだが、“仲間全員が簡単に使えること”を重視した結果、Webアプリという回答に辿り着いた。しかし、Webアプリと言ってもその実現方法は多岐にわたると聞く。何で作るか相談し、結局Ruby on Railsで、という結論に至った。以下理由。

  1. 開発メンバーの一人(A氏)が、仕事で使い始めたから
  2. 流行っているから
  3. フレームワークとしてある程度しっかりしているので、初心者でも比較的とっつきやすいらしいから
  4. ベース言語のRubyは日本人が作っただけあって、日本語ドキュメントも多く、理解しやすいはずだから

3番めに関しては真偽のほどは定かではないが、メンバーがそんなことを言っていた気がするので信じることにした。
4番めも信じることにしたが、他言語に比べて多いのかどうかは知らない。

どうやって作るか

経験者であるA氏のアドバイスにより、下記ツールたちを使って進めていくことになった。

ソース管理

GitHub

画面遷移図、ER図(検討用)

cacoo

会議

Skype

掲示板(進捗報告や議論など)

CircleBoard

その他(議事メモ・作業メモなどの記録場所)

仲間が身内向けに立てているサーバ上のTrac Wiki


とりあえず、道具は揃えたように見えた。知識と技術はこれから身につけることになるが、ひとまず作るツールの仕様について検討を始めることにした。